Mod`ele et exp´eriences pour la visite des mus´ees en
r´ealit´e augment´ee sonore.
Fatima-Zahra Azough
To cite this version:
Fatima-Zahra Azough. Mod`ele et exp´eriences pour la visite des mus´ees en r´ealit´e augment´ee
sonore.. Signal and Image Processing. Conservatoire national des arts et metiers - CNAM,
2014. French. .
HAL Id: tel-01087127
https://tel.archives-ouvertes.fr/tel-01087127
Submitted on 25 Nov 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.École Doctorale
Informatique, Télécommunications et Électronique de Paris
Laboratoire Cedric, Equipe ILJ
THÈSE DE DOCTORAT
présentée par : Fatima Zahra KAGHAT
soutenue le : 16 Mai 2014
pour obtenir le grade de : Docteur du Conservatoire National des Arts et Métiers
Discipline/ Spécialité : Informatique
Modèle et expériences pour la visite de
musées en réalité augmentée sonore
THÈSE dirigée par :
M CUBAUD Pierre Professeur des universités, Cnam Paris
RAPPORTEURS :
M LEMORDANT Jacques HDR, INRIA Rhône-Alpes
M ZREIK Khaldoun Professeur des universités, Université Paris 8
EXAMINATEURS :
M BOISSARIE Xavier CEO, Orbe
M GRESSIER Eric Professeur des universités, CNAM Paris
M NATKIN Stéphane Professeur des universités, CNAM Parisi
Remerciements
Cette thèse doit beaucoup aux nombreuses personnes qui m’ont encouragé, soutenu
et conforté au long de toutes ces années. Qu’elles trouvent dans ce travail l’expression
de mes plus sincères remerciements.
Je souhaite tout d’abord remercier Pierre Cubaud pour avoir proposé, accepté et encadré
cette thèse. J’aimerai le remercier pour la confiance qu’il m’a accordée du début à
la fin du travail, pour sa disponibilité, sans oublier son soutien scientifique et psychologique
qui m’a aidé à remonter le pont dans plusieurs reprises. Je n’oublie pas enfin son
aide précieuse dans la relecture et la correction de ma thèse. La justesse de ses critiques
a été très constructive et utile. Sincèrement, j’ai beaucoup appris à ses côtés et je suis
chanceuse d’avoir eu l’occasion de travailler sous sa supervision.
Je tiens à remercier également tous les membres de mon jury Jacques Lemordant et
Khaldoun Zreik d’avoir accepté de rapporter ma thèse et de l’intérêt qu’ils ont manifesté
à mon travail. Ainsi que Stephane Natkin, Eric Gressier et Xavier Boissarie pour
avoir honoré ma soutenance par leur participations à mon jury en tant qu’examinateurs.
Heureusement que mes parents, ma famille et mes amis ont tous étaient là. Ils ont
tous cru en moi et maintenant, j’y suis ! Je dois beaucoup à mes parents Najia Berrada
et Noureddine Kaghat qui m’ont donné un amour et une confiance indicibles. Ils m’ont
éduqué sur l’amour du savoir et le goût de la lecture et de la recherche.
Je ne remercierai jamais assez mon époux Ahmed Azough, qui m’avait promis dès
le début de notre union un soutien sans faille pour réussir une thèse de doctorat. Je lui
dis qu’il a parfaitement tenu sa promesse. Je le remercie pour son soutien au quotidien,
sa présence, sa patience, sa compréhension, sa confiance et sa capacité à me faciliter la
vie durant ces années de thèse.
Je n’oublierai pas non plus le soutien de mes beaux-parents Hayat Hamidi et Ibrahim
Azough qui m’ont toujours offert affection et compréhension, mais aussi mon frère
Redouane, mes surs Asmae et Firdaous, mes beaux-frères et belles-surs et mes amis.
Je suis également reconnaissante à tous ceux qui m’ont aidé pendant l’évaluation
de mes travaux : Zacharia Agedach, Cécile Leprado, Christophe Pietry, Stephane Rodovski,
ainsi que le personnel du Musée des Arts et Métiers. Sans oublier mes amis du
laboratoire Cedric avec qui j’ai passé des agréables moments qui resteront inoubliables :
Amélie Lambert, Sourour Layouni, Daniel Enselme, Sami Tak Tak, Viviane Gal, Aréti
Damala, Guillaume Levieux et toute l’équipe ILJ.
J’en oublie certainement d’autres et je m’en excuse. Encore un grand merci à tous
pour m’avoir conduit à ce jour mémorable.
Enfin, à mon petit Yacine qui m’a posé une sérieuse date limite, je lui dédie cette
thèse.ii
Résumé
Cette thèse consiste à explorer l’usage de la réalité augmenté sonore pour la visite de musées.
Notre objectif est de proposer un audioguide permettant d’immerger le visiteur dans une
scène sonore constituée de sons ambiants et de commentaires associés aux objets exposés, et
de minimiser ses efforts pour découvrir ces objets et interagir avec cet environnement sonore.
La première contribution de cette thèse concerne la mise en place d’une preuve de concept de
SARIM (Sound Augmented Reality Interface for visiting Museum). Cette preuve de concept
a été développée en utilisant des capteurs de position et d’orientation filaire et non filaire. La
deuxième contribution concerne la modélisation de la visite augmentée par la dimension sonore.
Après une étude des modèles existants, l’objectif est de concevoir un modèle comprenant
une représentation du visiteur, du paysage sonore et de la navigation et offrant une grande flexibilité
pour créer l’environnement sonore. Ce modèle a comme finalité de faciliter la conception
de différents types de scénarios de visite sur la base de la notion de zone d’audibilité. La troisième
contribution de cette thèse est le travail d’évaluation mené dans un environnement réel
qu’est le musée des arts et métiers de Paris, et qui a permis de confirmer l’utilisabilité, ainsi que
l’apport didactique et ludique que procure la réalité augmentée sonore en général et le système
SARIM en particulier pour prolonger et enrichir la visite de musées.
Mots clés : Réalité augmentée, visite musée, captation de mouvement, personnalisation,
modélisation, spatialisation sonore, audioguide
Abstract
The goal of this thesis is to explore the use of sound to increase the museum visits. We aim to
provide an audioguide to immerse the visitor in a soundstage consisting of ambient sounds and
comments associated with the exhibits, and minimize its efforts to discover these objects and
interact with the sound environment. The first contribution of this thesis is the implementation
of a proof of concept of SARIM (Sound Augmented Reality Interface for visiting Museum). This
proof of concept was developed using position sensors and guidance wired and wirelessly. The
second contribution concerns the modeling of the augmented visit by the sound dimension. After
a review of existing models, the objective is to design a model that includes a representation
of the visitor, the soundscape and navigation, offering the flexibility to create the sound environment.
This model has the purpose of facilitating the design of different types of scenarios
based on the concept of audibility area. The Third contribution of this thesis is the evaluation
conducted in a real enrironnement what the Museum of Arts and Crafts in Paris, which confirmed
the usability, as well as providing educational and ludic apport of the audio augmented
reality in general and the SARIM in particular to extend and enrich the museum visits.
Keywords : Augmented reality, museum visit, motion tracking, context aware, adaptive
sytem, user modeling, sound spatialization, audioguideTable des matières
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
1 Introduction 1
1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Chronologie des travaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Organisation de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 État de l’art 7
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 La réalité augmentée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Le son, un outil d’augmentation de la réalité . . . . . . . . . . . . . . . . 11
2.4 La spatialisation sonore pour la réalité augmentée . . . . . . . . . . . . . 17
2.5 Cas d’étude : la visite et la médiation dans les lieux culturels . . . . . . . 22
2.6 La visite augmentée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3 Dispositif du visiteur 41
3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 Expérimentations initiales . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3 Captation de mouvement . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4 Dispositif expérimental final . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4 Modélisation de la visite augmentée 59
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2 Scénarios de visite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3 Personnalisation du contenu . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.4 Description du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.5 Scène sonore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68iv TABLE DES MATIÈRES
4.6 Visiteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.7 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.8 Exemple développé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.9 Extension du modèle pour les visiteurs malvoyants . . . . . . . . . . . . 99
4.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5 Evaluation de la visite augmentée 105
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.2 Évaluation des dispositifs de réalité augmentée . . . . . . . . . . . . . . . 106
5.3 Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.4 Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6 Conclusion et travaux futurs 143
6.1 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
A Annexe 153
A.1 Calcul de l’orientation avec Sparkfun IMU-6DOF-V4 . . . . . . . . . . . 153
A.2 Consignes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
A.3 Formulaire de recrutement . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
A.4 Questionnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Bibliographie 1851
Introduction
1.1 Contexte
La réalité augmentée permet de mélanger les objets réels et virtuels en utilisant les
dispositifs d’interaction 3D de la réalité virtuelle dans un espace réel. La réalité augmentée
dans sa dimension visuelle a été depuis longtemps la plus explorée pour amé-
liorer la perception. Bien qu’elle ait permis, en l’appliquant à différents domaines, d’enrichir
l’environnement visuel de l’utilisateur, elle a cependant le défaut de contraindre
ce dernier à regarder constamment un écran mobile qui va superposer des éléments fictifs
sur l’environnement observé, et ainsi restreindre le champs de vue de l’utilisateur.
Ce travail a pour objectif d’explorer la réalité augmentée, non pas dans sa dimension
visuelle, mais auditive, en ajoutant numériquement des sons virtuels à l’espace physique.
Par ce procédé, nous faisons profiter l’utilisateur des informations sonores qui
accompagnent les objets présentés tout en assurant une interaction fluide entre l’utilisateur
et les informations associées aux objets. Une interaction qui a comme objectif de
diminuer au maximum la quantité d’attention demandée à l’utilisateur pour interagir
avec son environnement.
Dans cette thèse, nous décrivons SARIM, un système de réalité augmentée sonore
appliqué à la visite du musée des arts et métiers de Paris (MAM) 1
. Le MAM a la particularité
d’abriter de nombreuses machines mécaniques, électriques, musicales et autre,
qui en cas de marche produisent des sons qui contribuent pleinement à créer leurs identité.
Malheureusement, de nombreuses contraintes empêchent la mise en marche de ces
1. http ://www.arts-et-metiers.net/2 Chapitre 1. Introduction
machines au sein du musée, ce qui prive les visiteurs d’informations pertinentes sur
leur fonctionnement. L’incorporation des sons et des bruits de fonctionnement des machines
participera à transformer le musée en une usine en marche, d’éveiller la curiosité
des visiteurs et ainsi de les faire voyager dans le temps.
L’objectif de ce travail est de proposer, aux visiteurs des musées, une visite à la fois
agréable et instructive, en augmentant les œuvres du musée par des sons virtuels. Bien
qu’il n’est pas destiné à se restreindre au seul domaine applicatif des musées, SARIM
s’inscrit dans la continuité des systèmes de réalité augmentée sonore appliquées à la visite
de musée, tels que ec(h)o [Wakkary07, Hatala04], Listen [Zimmermann08, Eckel01a,
Eckel01b, Delerue02, GoBmann02], et Sound Delta [Mariette09]. SARIM a été conçu et
développé avec le souci de minimiser au maximum le degré d’attention requise de la
part de l’utilisateur pour interagir avec son environnement, tout en lui procurant des
moyens intuitives d’interaction avec ce dernier. En effet, à la différence des audioguides
usuels pour la visite des musée, SARIM ne propose pas de dispositifs manuels pour sé-
lectionner et contrôler le paysage sonore. SARIM assure toutefois une interaction fluide
et continue en se basant sur la captation de la position et de l’orientation du visiteur.
En plus de transmettre au visiteur le contenu audio compatible à son emplacement et
son orientation au sein de l’espace sonore, SARIM permet également de détecter essentiellement
les gestes des utilisateurs, qui une fois interprétés permettent de contrôler la
scène sonore. L’autre objectif du travail est de concevoir un système, sensible aux inté-
rêts des visiteurs, capable de les capter au cours de la visite, et pouvant adapter la scène
sonore en temps réel pour s’accorder au mieux avec les préférences des visiteurs. Sur
le plan architectural, le modèle du système SARIM est conçu d’une manière modulaire
qui décompose le système en différente parties disjointes. Chaque partie, est elle même
structurée en plusieurs couches. Ceci permet une gestion indépendante des différentes
parties, et facilite la paramétrisation du système.
La problématique de ce travail est donc dans la croisée de plusieurs domaines : la
réalité augmentée, le son et la spatialisation sonore, l’IHM, la géolocalisation, ainsi que
la médiation culturelle (figure3.2).
1.2 Chronologie des travaux
Notre travail a été mené dans plusieurs directions et a été organisé d’une manière
itérative (figure 1.2). En effet, chaque axe est développé selon plusieurs dimensions
analytique, théorique, pratique et expérimentale.
Le premier axe du travail était la problématique de la captation du mouvement.
Nous avons commencé dès le début de l’année 2009 par étudier un module de captation
de mouvement filaire, puis nous avons développé un modèle de captation de
mouvement basé sur ce module. Ensuite nous avons opté, dès le deuxième semestre
2009, pour les micro-capteurs sans fils de type MEMS (chapitre 3). Nous avons conçuSection 1.2. Chronologie des travaux 3
FIGURE 1.1 – Disciplines concernées par ce travail
en premier lieu un modèle de captation de mouvement utilisant les mesures magné-
tiques d’un capteur inertiel, puis nous avons conçu et développé des algorithmes de
détection de mouvement permettant de combiner les mesures magnétiques et gyroscopiques.
Les différents développements des solutions de captation de mouvement ont
tous été suivis de phases d’expérimentations.
L’axe de l’édition de la scène sonore a pris une part importante dans le travail de
thèse, pour ainsi permettre au concepteur de scène sonore de la visualiser et de la
contrôler via une interface de rendu visuel 2D ou 3D. Afin d’avoir un retour visuel,
nous avons commencé à développer, à partir de 2010, plusieurs versions d’interfaces
de visualisation de la scènes sonore, comprenant une interface d’édition et une interface
de démonstration. Nous avons également développé une interface de suivi de la
navigation du visiteur lors de sa visite au musée. Cette interface à été utilisée dans la
phase d’expérimentation qui a été réalisée à partir du deuxième semestre 2012. Un travail
d’étude et de conception a été ensuite entrepris avec le but de concevoir une interface
homme-machine pour l’édition des scènes sonores adaptées à la visite augmentée
de musées basé sur notre modèle de visite.
En parallèle, l’axe de la modélisation de la visite augmentée était étudié. Cet axe,
développé courant 2011, a permis, après une étude des modèles existants, de concevoir
un modèle comprenant une représentation du visiteur, du paysage sonore et de la na-4 Chapitre 1. Introduction
vigation du visiteur dans le paysage sonore, suivant plusieurs niveaux d’abstraction.
Le développement et l’évaluation d’une partie de ce modèle ont été ensuite réalisés
pendant l’année 2012.
1.3 Organisation de la thèse
Ce mémoire est composé de cinq autres chapitres. Outre ce chapitre d’introduction,
le chapitre suivant décrit un état de l’art (chapitre 2) qui porte sur la notion de réalité
augmentée en se concentrant sur l’augmentation sonore. Nous décrivons ensuite
les principaux systèmes de réalité augmentée sonore conçus pour le domaine de la visite
du musée. Cette partie évoque aussi la problématique de la visite du musée, et les
systèmes de guidage et de médiation.
Le chapitre 3 présente l’idée de base qui a été le fil conducteur de cette thèse : celle
de rajouter numériquement la dimension sonore à la visite de musées. Nous présentons
l’architecture matérielle et logicielle d’un premier prototype, du dispositif du visiteur et
des expérimentations préliminaires que nous avons menées pour examiner la faisabilité
du projet.
Le chapitre 4 concerne la modélisation de la visite augmentée, qui repose sur la modélisation
des différentes entités qui la composent. Dans ce chapitre, nous commençons
par illustrer notre objectif à travers des scénarios types qui ont motivé la modélisation.
Puis nous enchaînons avec la description du modèle lui-même. Nous présentons la
structure du paysage sonore adoptée, composée de trois couches physique, virtuelle et
sémantique. Nous modélisons ensuite le visiteur à travers ses informations d’emplacement
et ses gestes mais également à travers ses préférences et ses intérêts (section
4.6), et finalement nous décrivons le modèle de navigation du visiteur dans le paysage
sonore (section 4.7).
Après avoir proposé une conception du dispositif, des scénarios interactifs, et un
modèle de visite, le chapitre 5 décrit la partie expérimentale de notre travail. Elle a pour
objectif la mise en application du modèle, des scénarios et du dispositif de l’utilisateur
en situation réelle, celle de la visite du MAM. Cette étape d’expérimentation a été nécessaire
pour valider nos hypothèses théoriques, et pour pouvoir mesurer l’acceptabilité
de notre système (SARIM), jusqu’alors peu connu par les visiteurs du musée.
Ce document se termine par une conclusion et un aperçu sur les travaux futurs
(chapitre 6). Nous pouvons citer parmi ces travaux futurs l’outil auteur pour lequel
nous avons commencé la conception. Il permettra de concevoir les scènes sonores et de
tester virtuellement la mise en place de SARIM.Section 1.3. Organisation de la thèse 5
FIGURE 1.2 – Chronologie des travaux de recherche6 Chapitre 1. Introduction
1.4 Publications
Plusieurs parties de cette thèse ont été publiées dans quelques articles scientifiques
dont voici un résumé. D’autres parties sont ne sont néanmoins pas encore publiées.
Année Article
2009
[KlD09] F. Kaghat , C. le Prado , A. Damala , P. Cubaud -
Experimenting with Sound Immersion in an Arts and Crafts Museum,
ICEC 09, 8th Int. Conf. on Entertainment Computing,Paris-France,
September 2009, pp.173-178, Series LNCS 5709.
2010
[KC10] F. Kaghat , P. Cubaud -
Fluid interaction in audio-guided museum visit : Authoring tool and
visitor device, VAST’10, Virtual Reality, Archaeology and Cultural
Heritage, The 8th EUROGRAPHICS Workshop on Graphics and
Cultural Heritage, Full Papers, Paris, France, September 21-24, 2010,
September 2010, September 2010.
2012
[KSC12] F. Kaghat , F. Sailhan , P. Cubaud -
Application de la réalité augmentée sonore pour les visites de musées
par les malvoyants, Handicap 2012, 7ème congrès sur les aides
techniques pour les personnes handicapées., July 2012, pp.50, Paris,
France.2
État de l’art
2.1 Introduction
La réalité augmentée occupe de plus en plus de place dans la visite de lieux culturels.
Elle permet de mélanger les objets réels et virtuels en utilisant les dispositifs d’interaction
3D de la réalité virtuelle dans un espace réel. Elle offre une expérimentation
du monument et une notion de temporalité jusqu’alors imperceptible, sans dénaturer
le lieu. Elle permet ainsi de visiter un même lieu de patrimoine à la fois tel qu’il est
dans son environnement actuel et, par l’intermédiaire de la réalité augmentée, tel qu’il
a été par le passé ou qu’il peut être dans le futur [Durand11]. Cependant, la dimension
visuelle a été depuis longtemps la plus explorée en réalité augmentée pour améliorer
la perception plus que la dimension sonore.
Le son fait partie intégrante de notre perception du monde. Il est en effet très rare de
se trouver dans un environnement dénué de toute stimulation sonore. Lorsqu’un évé-
nement sonore se produit, par exemple en montagne ou dans le désert, une sensation
étrange presque inquiétante est ressentie [Bouvier09]. En règle générale, le son rassure,
on se sent moins seul. Ceci constitue une des raisons qui militent pour que la stimulation
sonore soit présente dans un environnement virtuel. Deuxièmement, ne pas percevoir
de stimulation sonore peut provoquer un effet de manque chez l’utilisateur qui
peut être préjudiciable à l’expérience et donc à l’émergence du sentiment de présence.
Troisièmement, le son fournit des informations qui, croisées avec les autres perceptions
(visuelles notamment) permettent une bonne compréhension de l’environnement.8 Chapitre 2. État de l’art
L’objectif de ce chapitre est d’étudier quelques systèmes de réalité augmentée sonore
existants dans le domaine de la visite de musées. Ce chapitre est divisé en trois
sections principales. La première section aborde la notion de réalité augmentée (Section
1.2), et met l’accent sur la dimension sonore dans l’augmentation de la réalité, une
dimension qui est souvent négligée (Section 1.3), en terminant par la réalité augmentée
sonore utilisant les techniques de la spatialisation sonore pour orienter et immerger les
utilisateurs (Section 1.4). La deuxième section se concentre sur la problématique de la
visite, le guidage et les systèmes d’aide à la visite ou audioguides, tout en évoquant
la problématique de la géolocalisation dans la visite du musée et la personnalisation
des contenus. Nous soulignons également dans cette section le manque constaté dans
le développement des outils auteurs pour la visite des musées (Section 1.5). La dernière
section s’intéresse elle à la croisée des deux sections précédentes ; celle d’étudier
les expériences existantes qui visent à augmenter la visite de musées par la dimension
visuelle et sonore (Section 1.6).
2.2 La réalité augmentée
La naissance de la réalité augmentée se situerait au milieu des années 1960, avant
même que les termes de réalité virtuelle (RV) ou augmentée (RA) aient été envisagés.
Elle est survenue au moment où Sutherland [Sutherland68] inventa le premier casque
qui combinait la vue de la réalité et une image de synthèse. L’affichage était effectué
par des tubes cathodiques miniatures et le suivi des mouvements de la tête de l’utilisateur
était assuré par un bras mécanique lié au casque. Un intérêt soudain pour la réalité
augmentée s’est révélé. Ainsi, la réalité augmentée est rendue possible par un système
capable de faire coexister spatialement et temporellement un monde virtuel avec l’environnement
réel. Cette coexistence a pour objectif l’enrichissement de la perception
qu’a l’utilisateur de son environnement réel par des augmentations visuelles, sonores
ou haptiques [Mallem08].
Quelques définitions
Trouver une définition précise et consensuelle de la RA n’est pas une tâche facile.
Cela dépend de la provenance des chercheurs qui la définissent et de l’angle d’étude de
leurs travaux. En effet la notion de RA couvre plusieurs définitions traduisant différents
courants de recherche menés en parallèle dès les années 90.
Wendy Mackay [Mackay93] définit la RA comme une manière de réintégrer "l information
électronique dans le monde physique". Il s’agit de "permettre aux gens de tirer parti de
leurs compétences dans l interaction avec le monde de tous les jours, tout en pro tant de la puissance
des réseaux informatiques". Cette définition s’appuie résolument sur la conservation
et l’amplification du réel, par exemple, la feuille de papier physique, objet familier, est
augmentée de capacités de traitement de l’information [Mackay93, Mackay96]Section 2.2. La réalité augmentée 9
Pour Azuma [Azuma01] un système de RA complète le monde réel avec des objets
virtuels qui semblent coexister dans le même espace que le monde réel. Un système de
RA a les propriétés suivants :
– Il combine des objets réels et virtuels dans un environnement réel,
– Il fonctionne de manière interactive en temps réel,
– Il fait coïncider des objets réels avec des objets virtuels.
La réalité augmentée est alors un moyen d’augmenter les sens de l’utilisateur, de
transformer des événements imperceptibles en phénomènes visibles audibles ou touchables,
c’est vu comme une symbiose entre l’homme et la machine comme jamais auparavant.
De son côté Milgram [Milgram99, Milgram94b, Milgram94a] définit la RA
comme l’ensemble des cas où un environnement réel est augmenté au moyen d’objets
virtuels.
La réalité virtuelle et la réalité augmentée
Depuis le début des années 1990, l’évolution des technologies de la réalité virtuelle
permet d’immerger complètement l’utilisateur dans un environnement virtuel. Toutefois,
cette immersion ne permet pas à l’utilisateur de percevoir et d’interagir avec son
environnement réel [Mallem08]. La réalité augmentée est donc parfois définie comme
prenant le contre-pied de cette approche immersive, et au lieu d’enfermer les personnes
dans un monde artificiel, se propose d’utiliser l’ordinateur pour simplement augmenter
le monde réel des utilisateurs [Wellner93]. Ainsi, la réalité augmentée permet justement
la perception et l’interaction de l’utilisateur avec les deux environnements. Par
conséquent, la réalité augmentée complète la réalité et n’a pas vocation à la remplacer
complètement [Azuma97] comme dans le cas de la réalité virtuelle.
Afin de clarifier les concepts, Paul Milgram a proposé une unification de ces
concepts en considérant un "continuum réel-virtuel" qui va du monde réel jusqu’aux
environnements entièrement virtuels tels que proposés par la RV [Milgram94a,
Milgram94b, Milgram99]. Ainsi le concept d’environnement de réalité augmentée peut
être placé quelque part le long de ce continuum. Les auteurs définissent ainsi le terme
plus générique de ”réalité mixte”, qui sous-entend différents degrés de fusion des
mondes réels et virtuels. La réalité mixte se décline en deux sous cas : la Réalité Augmentée
(RA) et la Virtualité Augmentée (VA) selon la proposition d’objets réels ou
virtuels (Figure 2.1). Dubois [Dubois01a] a une approche différente car il distingue
la RA et la VA selon deux concepts distincts (Figure 2.2), en considérant l’objet de la
tâche qui est soit réel (interaction homme-monde réel) ou virtuel (interaction homme
machine) :
Le continuum de la Réalité Augmentée : l’interaction se passe dans le monde réel et
elle est augmentée par l’ordinateur.
Le continuum de la Virtualité Augmentée : l’interaction avec l’ordinateur est augmentée
par des objets et des actions dans le monde réel.10 Chapitre 2. État de l’art
FIGURE 2.1 – Le continuum réel-virtuel [Milgram94a]
FIGURE 2.2 – Triangle de la Réalité Augmentée et la Réalité virtuelle [Dubois01b]
Le concept de l’augmentation
Une augmentation consiste en la synthèse par ordinateur d’un élément virtuel destiné
à l’un des sens de l’utilisateur. Ce virtuel peut être visuel, haptique, sonore, voire
olfactif. Par exemple, la réalité augmentée permet la perception d’indices dans l’environnement
que l’utilisateur ne pourrait pas percevoir avec ses propres sens, d’où le
terme augmentation. Cette assistance permet alors à l’utilisateur de réaliser des tâches
complexes qu’il ne pourrait mener à bien autrement [Mallem08].
De son côté Wendy Mackay distingue trois types d’augmentation.
Augmentation de l’utilisateur : grâce au dispositif porté par l’utilisateur généralement
sur la tête ou sur la main.
Augmentation des objets physiques : l’objet physique est modifié en incorporant des
périphériques d’entrée ou de sorties dessus.
Augmentation de l’environnement des utilisateurs et des objets : ni l’utilisateur ni
les objets ne sont directement affectés. A la place, des périphériques indépendants
fournissent et collectent de l’information de l’environnement, en affichant
l’information sur les objets et en capturant l’information sur l’interaction de l’utilisateur
avec ceux-ci.Section 2.3. Le son, un outil d’augmentation de la réalité 11
Thomas Baudel [Baudel95], quant à lui définit ce concept d’augmentation comme
visant à augmenter les propriétés des objets de notre entourage de capacité de traitement
d’informations. En plus de leurs fonctions matérielles, ils acquièrent une fonction
informatique, par leur capacité de réagir non pas aux seuls phénomènes physiques
auxquels ils sont soumis, mais aussi aux informations qu’ils captent sur l’état de leur
entourage (personnes, environnements, autres objets augmentés...).
Gonot [Gonot08] définit l’augmentation comme étant la superposition d’un modèle
virtuel 3D ou 2D à la perception (visuelle, auditive, etc.) que nous avons naturellement
de la réalité et ceci en temps réel.
Nous avons vu que la définition de la notion de l’augmentation n’est pas fixe et
dépend des auteurs, de leur communauté scientifique et de leurs intentions. En Graphique,
la RA dérive par exemple de vrais pixels d’origine vidéo qui sont fusionnés à
des pixels de synthèse [Azuma97]. En interaction homme-machine, la RA, en réaction
à l’immersion virtuelle, s’appuie résolument sur la conservation et l’amplification du
réel [Chalon04].
Le concept de l’augmentation de la réalité nous paraît encore plus complexe que
l’on peut penser, parce qu’il peut s’agir aussi de diminution de la réalité. En effet, si
les développeurs de réalité augmentée ont pour but de rajouter de l’information aux
objets qui nous entourent. En revanche, les développeurs de la réalité diminuée visent
à éliminer les parties du monde qui nous entoure. Même si la réalité diminuée semble
être le contraire de la réalité augmentée, elle est souvent considérée comme étant un
type de réalité augmentée [Rolim12].
Même si la modalité sensorielle privilégiée par la réalité augmentée est la vision, elle
est applicable aux autres sens de l’utilisateur incluant l’audition, le toucher, et l’odorat
[Azuma01]. Nous nous focalisons dans cette thèse sur l’audition pour augmenter la réalité
en posant les questions suivantes : comment l’audition peut amplifier et augmenter
notre perception ? Qu’entendons-nous pas réalité augmenté sonore ? Quel est l’apport
du son pour la réalité augmentée ? Et quelle technique de restitution sonore peut-on
utiliser pour amplifier la réalité ?
2.3 Le son, un outil d’augmentation de la réalité
Un système de réalité augmentée, comme nous avons vu, permet de mixer le virtuel
et le réel. Il met en correspondance ces derniers en cas de mobilité de l’utilisateur
ou de l’environnement et permet à l’utilisateur d’interagir en temps réel, avec le système.
Le concept de réalité augmentée sonore caractérise les techniques qui permettent
d’étendre le son d’un composant réel par un environnement sonore virtuel et par des
scénarios de communication. La réalité augmentée sonore permet donc d’augmenter
la perception sonore, en associant des objets virtuels (notamment des sons) aux objets
réels. La différence fondamentale entre un environnement audio réel et virtuel, est que12 Chapitre 2. État de l’art
les sons virtuels sont originaires d’un autre environnement où ils sont créés artificiellement.
Ainsi, la réalité augmentée sonore combine ces aspects d’une manière que les
scènes sonores réelles et virtuelles sont mélangées afin que les sons virtuels soient per-
çus comme une extension des sons réels.
Il convient de signaler que les premiers travaux sur l’augmentation audio n’utilisaient
pas le recalage au sens visuel mais plutôt du son localisé dans l’espace. Il s’agissait
de son localisé avec l’utilisateur que celui-ci pouvait déclencher par sa présence à
proximité d’un lieu en utilisant des systèmes de radio fréquences dont les descendants
sont aujourd’hui le RFID [Lyons00]. Néanmoins, des travaux plus récents tendent à
apporter une augmentation audio spatialisée (et donc avec recalage) à l’utilisateur.
Dans un premier temps, nous présentons brièvement les phénomènes physiques
et physiologiques qui interviennent lors de la perception humaine du son. Ensuite
nous allons identifier les multiples apports du son pour la réalité augmentée, en citant
quelques systèmes de RA sonores.
2.3.1 De l’audition à la perception
L’audition avec la vision sont deux sens humains très utilisés pour s’informer. L’audition
est omnidirectionnelle et par là, elle capte tous les sons de l’environnement qu’ils
soient utiles ou non. En contrepartie, elle nous permet de réagir extrêmement efficacement
à tout événement sonore, y compris lorsque l’origine du son n’est pas directement
visible, qu’elle soit derrière nous, ou cachée derrière un obstacle. L’aspect perceptif de
l’audition est un facteur de premier plan dans les applications d’acoustique virtuelle,
puisqu’elles s’adressent en premier lieu à des auditeurs humains. L’oreille est donc un
récepteur exceptionnel qui n’a rien de commun avec les autres récepteurs artificiels
comme les microphones. En combinaison avec notre système auditif, elle nous permet
d’analyser d’une manière fine tant du point de vue fréquentiel que directionnel, les
ondes sonores qui nous atteignent.
Le système auditif : anatomie et physiologie
Pour mieux comprendre le fonctionnement de notre système auditif, jetons un coup
d’œil sur l’anatomie et la physiologie de notre système auditif, afin de comprendre
comment une variation de pression est transformée en impulsion électrique compré-
hensible par le cerveau. Cette transformation se déroule dans les trois régions anatomiques
distinctes qui composent l’oreille : l’oreille externe, l’oreille moyenne et l’oreille
interne. L’organisation globale de l’oreille est visible sur la figure (Figure 2.3). Selon
[Bourdot06], le processus est traité comme suit :
L’oreille externe : l’oreille externe se compose du pavillon et du conduit auditif. Elle
fonctionne comme un résonateur qui permet d’amplifier les vibrations qui sontSection 2.3. Le son, un outil d’augmentation de la réalité 13
comprises entre 1500 et 7000 Hz. La forme du pavillon en entonnoir permet une
captation du son plus efficace puis concentre l’onde en direction du conduit ou canal
auditif. Le pavillon a une configuration particulière faite de bosses et de creux
qui est propre à chaque auditeur. Ces reliefs provoquent de multiples réflexions
et diffractions qui modifient le spectre du son. Ces modifications du spectre sont
exploitées par la suite pour localiser une source sonore. L’onde se propage alors
dans le canal auditif jusqu’à rencontrer le tympan.
L’oreille moyenne : suite à la rencontre entre l’onde sonore et le tympan, celui-ci va
osciller à son tour. Les oscillations du tympan propagent les variations de pression
jusqu’à l’oreille interne par l’intermédiaire de trois osselets : le marteau, l’enclume
et l’étrier. Jusqu’ici les ondes se propagent dans un milieu d’impédance faible, or
dans l’oreille interne se situe l’organe de l’audition appelé cochlée. Celle-ci est un
organe creux rempli d’un liquide dont l’impédance est forte. Le tympan transmet
donc les vibrations aux osselets dont le rôle est de transmettre et d’amplifier les
vibrations sonores afin de contrebalancer l’impédance forte de la cochlée.
L’oreille interne : l’oreille interne est composée de la cochlée et du vestibule. La cochlée
appelée aussi colimaçon, est un tunnel osseux qui est rempli d’un liquide
appelé endolymphe. Elle a la forme d’une spirale tapissée de cils. Ces cils sont mis
en mouvement par les vibrations acoustiques transmises par l’oreille moyenne.
Chaque cil oscille plus particulièrement pour une fréquence donnée puis transmet
une impulsion électrique au cerveau par l’intermédiaire du nerf auditif. La
spécialisation d’un cil pour répondre à une fréquence donnée permet par la suite
au cerveau de distinguer la hauteur des sons.
La perception auditive
Il convient de noter qu’il y a une différence entre ce qu’on entend et ce que notre
cerveau interprète. Pour traiter cette différence, la psycho-acoustique est née afin d’étudier
les sensations auditives chez l’humain. Elle étudie comment les ondes sonores sont
captées par le système auditif et la manière dont elles sont interprétées par le cerveau.
Il existe des méthodes de quantification de la perception du son chez l’être humain,
telle que l’intensité perçue appelée aussi sonie. Elle n’est pas uniquement liée à l’amplitude
de la pression acoustique mesurée mais aussi à la fréquence. D’un autre côté,
la sensibilité en fréquence varie beaucoup suivant les individus, chez l’enfant le seuil
supérieur d’audition se situe autour de 20 kHz. Chez l’adulte, il tombe considérablement
jusqu’au-dessus de 15 kHz. L’oreille est particulièrement sensible aux variations
de fréquence dans une zone précise entre 1 kHz et 3 kHz, ce sont les fréquences rencontrées
dans la voix humaine. Nous rappelons qu’un auditeur moyen peut distinguer
environ 2000 changements de hauteur fréquentielle. Comme deuxième méthode
de quantification de la perception humaine du son, il y a la sensation de "hauteur"
subjective d’un son, appelé aussi tonie, elle évolue en fonction de l’intensité de l’onde
sonore [Bourdot06].14 Chapitre 2. État de l’art
FIGURE 2.3 – Anatomie de l’oreille humaine [Dubois01b]
2.3.2 L’apport de la modalité sonore pour la réalité augmentée
Par rapport à la vision, l’audition possède les caractéristiques suivantes : elle est
omnidirectionnelle, ne peut être suspendue (les oreilles n’ont pas de paupières) et il
est même possible d’entendre dans l’obscurité. Ainsi, le son contribue pleinement à
augmenter notre perception de l’environnement, et ceci est visible à travers le nombre
de domaines qui s’appuient sur la dimension auditive pour augmenter la réalité, que
ç¸a soit pour la communication, la représentation des données, la compréhension, ou
pour favoriser l’immersion, l’émotion ou alors la décoration ou l’effet de surprise. Des
exemples d’utilisation du son dans ces différents domaines sont cités dans ce qui suit.
La communication
Parmi les fonctions du son, nous trouvons la possibilité de communiquer avec des
agents (humains ou non) par la voix. Si ces agents sont des machines, la tâche devient
alors plus ardue car il faut mettre en place un système de synthèse et/ou de reconnaissance
vocale efficace. De plus, si le dialogue est ouvert, une intelligence artificielle
performante est nécessaire. La voix de l’utilisateur peut aussi être utilisée comme outil
d’interaction. C’est-à-dire que l’utilisateur peut communiquer de l’information au
système par l’intermédiaire de sa voix pour indiquer un déplacement par exemple ou
manipuler un objet. A priori ce schéma d’interaction ne permet pas d’assumer les affordances
perçues. Toutefois, dans certaines conditions une interface à commande vo-Section 2.3. Le son, un outil d’augmentation de la réalité 15
cale peut se révéler utile. La voix peut communiquer une information au système par
l’intermédiaire d’un ordre, mais elle peut aussi en communiquer par les intonations
présentes. Si le système est capable de détecter les émotions portées par la voix on peut
alors imaginer adapter l’environnement virtuel ou les événements à celles-ci. Enfin, le
son peut être utilisé comme canal pour communiquer, de façon non parlée, de l’information.
C’est par exemple le cas pour signaler des situations d’urgence. La réalité
augmentée sonore dans cette utilisation a touché plusieurs domaines, notamment le
domaine militaire, la maintenance ou alors des applications de bibliothèques augmentées.
La représentation des données
Le son comme facteur d’augmentation de la réalité peut être considéré comme une
dimension supplémentaire pour représenter des données. Cette fonctionnalité à été testée
dans plusieurs domaines comme l’architecture et la bureautique. Dans le domaine
de l’architecture : l’application Ariel [Mackay98] est destinée à assister des responsables
de chantier qui manipulent des plans d’architecture sur une table à dessin. Les utilisateurs
manipulent une tablette tactile pour capturer les annotations et les commandes
de l’utilisateur et un vidéoprojecteur pour l’affichage sur la table à dessin. L’utilisateur
peut faire des annotations textuelles, audio ou vidéo.
La compréhension et la mémorisation
Le son est très efficace pour indiquer ou décrire un lieu ou une situation, Deux cas
de figure se proposent alors. Soit une perception visuelle est disponible. Il est alors possible
de se contenter de sons approximatifs car l’essentiel des informations servant à la
compréhension de la situation est fourni par l’image. Soit, du fait du caractère omnidirectionnel
de l’audition, l’événement à l’origine du son n’est pas visible, il faut alors
proposer des sons parfaitement identifiables par l’utilisateur [Chueng02]. Le fait d’entendre
un son en plus de l’image favorise aussi la mémorisation de l’objet en question.
La partie sonore fournit des informations supplémentaires qui, combinées ou non avec
les autres informations sensorielles reçues par l’utilisateur permettent une meilleure
compréhension de l’environnement [Burr06].
L’immersion
Lors des visites culturelles, et sans simulation sonore, l’utilisateur risque se ressentir
un manque [Gilkey95] qui est préjudiciable à l’immersion [Bouvier09]. Par ailleurs,
l’immersion dans un environnement sonore évite (avec un bon matériel de rendu) à
l’utilisateur d’entendre les sons inutiles provenant de l’environnement physique. Ceci
permet d’augmenter plus efficacement l’environnement réel avec des éléments virtuels
plus appropriés.16 Chapitre 2. État de l’art
La décoration
D’après Crawford [Crawford03], il est assez fréquent que les concepteurs de jeux
fassent le choix de privilégier la forme (typiquement, le design graphique et éventuellement
sonore) au détriment du fond (i.e. le gameplay). En effet, il semblerait, que les
technologies de réalité virtuelle, telles que les synthèses d’image et de son 3D, soient
employées dans leur usage le plus commun à des fins essentiellement cosmétiques.
Cela n’est pas nécessairement dû à une méconnaissance des capacités expressives et
fonctionnelles de la dimension spatiale du son, mais plutôt aux qualités supposées des
jeux eux-mêmes [Gonot08].
La surprise
Le son possède une forte capacité de suggestion qui laisse une plage de liberté à
l’imagination de l’utilisateur. Par exemple, il est courant que les attentes des auditeurs
associées à une situation particulière soient différentes des sons que l’on aurait pu enregistrer
dans une situation identique réelle. Ceci pointe encore une fois le rôle des
attentes que nous avons déjà mentionné. On peut alors s’intéresser au travail des bruiteurs
qui usent souvent de moyens détournés pour assurer une identification rapide
des sources sonores.
L’aide au déplacement
Le projet européen Autonomie [Lemordant11], vise à faciliter le déplacement de
piétons déficients visuels à l’intérieur et à l’extérieur des bâtiments en milieux urbain.
Pour guider les malvoyants, le projet se base sur l’établissement des cartes à l’intérieur
ou à l’extérieur des bâtiments, et sur une classification des points d’intérêts (POI). En
outre, le guidage des malvoyants est réalisé en utilisant les techniques de localisation de
la personne PDR (Pedestrian DeadReconning) basée sur la centrale inertielle disponible
sur les smart phones (gyroscope, accéléromètre et magnétomètre). Les auteurs du projet
prévoient aussi une synchronisation du système avec des informations de localisation
supplémentaires comme le GPS, des bornes BlueTooth ou une infrastructure de RTLS
(Real time Localisation System).
Le projet développé par Russell Davies, nommé SAP 1
(Situated Audio Platform)
[Davies09], repose sur la même finalité qu’est l’aide au déplacement en se basant sur
les techniques de réalité augmentée sonore. Il vise à utiliser le son pour guider et donner
des indices aux piétons au lieu d’avoir les informations marquées à l’écran. Les
auteurs prévoient également une utilisation particulière pour les non-voyants. Le projet
a pour but de reprendre toutes les application actuelles qui utilisent la boussole et le
1. http ://www.la-realite-augmentee.fr/videos/la-realite-augmentee-sonoreSection 2.4. La spatialisation sonore pour la réalité augmentée 17
GPS (Global Positioning System) du téléphone et d’y ajouter de la voix pour aiguiller
l’utilisateur.
Jusqu’à présent, nous nous sommes contentés d’étudier les applications de la modalité
sonore sans prendre en compte l’aspect spatial de la diffusion. Dans la section
suivante nous étudions la spatialisation sonore en répondant aux questions suivantes :
qu’est-ce que c’est que la spatialisation sonore ? À quoi sert-elle ? Comment peut-elle
contribuer à l’augmentation de la réalité ? Et quelle sont ses domaines d’application ?
2.4 La spatialisation sonore pour la réalité augmentée
La spatialisation du son occupe aujourd’hui une position similaire à celle que l’art
d’orchestration occupait au dix-neuvième siècle. Déployer l’espace ou spatialiser revient
à chorégraphier le son : positionner les sources sonores et animer le mouvement
[Roads07].
Selon les mêmes auteurs, la spatialisation du son possède deux aspects : le virtuel
et le physique. Dans la réalité virtuelle du studio, les compositeurs spatialisent le son
en imposant des retards, des filtres, des panoramisations et de la réverbération, ce qui
conduit à l’illusion du son émergeant d’environnements imaginaires. Dans le monde
physique des salles de concert, les sons peuvent être projetés par un système sonore à
partir de plusieurs positions : autour, au-dessus, en dessous, ou à l’intérieur du public
[Roads07]. Dans cette thèse, c’est plutôt le premier aspect qui nous intéresse en l’occurrence
le virtuel pour créer l’illusion que des sons proviennent de diverses directions de
l’espace et organiser ainsi des scènes sonores en trois dimensions.
Afin d’augmenter la réalité par du son spatialisé, le concepteur sonore ou le musicien
se trouve face à trois choix de conception : soit il opte pour une restitution fidèle de
la scène sonore d’origine d’une manière à ce qu’elle soit identique à la scène réelle, ou
il peut ajouter, en temps réel ou au moment du mixage, des effets artificiels de spatialisation
supplémentaires, par exemple pour donner plus de consistance aux instruments
et voix : réverbération, écho, chorus, etc. Il peut finalement procéder à une restitution
basée sur des sons qui ne sont pas reliés à la scène sonore réelle. La spatialisation résultera
ainsi entièrement des effets artificiels visant à synthétiser pour l’auditeur un espace
sonore virtuel.
2.4.1 Perception spatiale du son
Par perception spatiale d’un son, nous entendons la capacité de déterminer la provenance
d’un son. Cela signifie la perception de sa direction et de la distance qui nous
sépare de la source sonore. Percevoir la direction c’est connaître son azimut (angle dans
le plan horizontal) et son élévation (angle dans le plan vertical). Percevoir la distance
c’est connaître la distance qui nous sépare de la source sonore.18 Chapitre 2. État de l’art
2.4.1.1 Perception de la direction
Contrairement à notre vue doté d’un champs limité, notre audition nous permet
une localisation des sources sonores dans l’ensemble de l’espace. Cette localisation est
rendue possible par des mécanismes complexes de diffraction créée par notre tête et
notre torse ainsi que des résonances dans nos oreilles [Blauert83, Middlebrooks91]. Ces
indices dépendent de la direction d’incidence de l’onde sonore et nous permettent de
localiser les sons d’une manière très précise, en particulier dans le plan. En effet, dans
les conditions optimales, l’angle minimum audible entre deux directions voisines est
d’environ 1 degré. De nombreuses études ont ainsi montré que les deux principaux
indices utilisés pour la localisation auditive sont la différence de temps d’arrivé à nos
deux oreilles (interaural time difference, ITD), liée à leur écartement, ainsi que la diffé-
rence de niveau inter-aurale (interaural level difference ILD), liée à l’ombre acoustique
de la tête [Blauert83, Middlebrooks91, Faller04, Zahorik05].
En pratique, les variations d’ILD et d ’ITD ne sont pas liées à la direction de provenance
du son de manière simple. Elles dépendent également de la fréquence du son
en raison de l’interaction complexe des ondes sonores avec notre corps. Les études
[Loomis98, Middlebrooks91, Brungart99] ont montré que le pavillon de l’oreille joue
un rôle prépondérant dans notre perception spatiale des sons [Blauert83]. Ces effets se
traduisent donc par un filtrage du son émis par les sources suivant la direction d’incidence,
les filtres correspondants étant communément référencés dans la littérature sous
le nom de "Head Related Transfer Functions", ou HRTFs. Dans le cadre d’applications
de réalité virtuelle ou augmentée, les techniques de restitution sonore spatiale visent
donc, d’une manière plus ou moins précise, à reproduire aux oreilles de l’auditeur ces
indices de localisation fréquentiels pour des sources sonores virtuelles.
2.4.1.2 Perception de la distance
La perception de la distance est principalement guidée par deux facteurs : la dé-
croissance de l’amplitude de la pression sonore en fonction de la distance à la source
et l’atténuation des hautes fréquences due à l’absorption atmosphérique [Coleman68,
Loomis98]. D’autres facteurs peuvent venir s’y ajouter, dans le cas d’environnement ré-
verbérant. Un son lointain a donc une intensité plus faible et voit ses hautes fréquences
atténuées. Néanmoins, ces critères, bien que nécessaires, peuvent être insuffisants pour
donner une impression directe de la distance à la source, qui reste très variable suivant
les auditeurs [Middlebrooks91, Zahorik05]. En particulier, dans la plupart des cas, la
distance à la source tend à être sous-estimée, ce qui pourrait se traduire en pratique par
une plus grande marge de manœuvre pour éviter les obstacles potentiels dans notre
environnement [Wuestefeld92, Zahorik05].
Il convient de dire que la localisation d’une source sonore est influencée par d’autres
sens que l’audition [Murat08]. Par exemple, si la source sonore et le stimulus visuelSection 2.4. La spatialisation sonore pour la réalité augmentée 19
correspondant occupent des positions spatiales décalées, alors la source sonore semble
provenir de la position du stimulus visuel. Les stimuli visuels capturent les stimuli sonores.
On parle alors d’effet ventriloque [Alais04]. Les mouvements de la tête affinent la
localisation, l’homme tend L’oreille pour obtenir en quelque sorte une deuxième image
sonore de l’environnement. Les sensations vestibulaires et proprioceptives sont alors
combinées avec les différentes images sonores pour déduire une localisation plus pré-
cise.
2.4.2 L’apport du son spatialisé à la RA
Le son spatialisé ou communément appelé ”le son 3D” peut contribuer à favoriser
l’immersion dans un environnement 3D. Écouter le son localisé dans l’espace ressemble
au mappage de texture qui est utilisée pour améliorer la qualité des images ombrées.
Le son spatialisé offre également une forte capacité à s’orienter dans l’espace. Un calcul
de réverbération fournit des informations sur la nature et le volume de l’endroit où se
trouve l’utilisateur [Pontus07]. Une cathédrale n’a pas la même réverbération qu’une
bibliothèque ou qu’une scène en extérieur. Le son 3D peut également aider l’utilisateur
à estimer la position d’objets sonores dans l’espace tant pour la direction que la distance.
D’un autre côté, le son 3D offre un canal important de rétroaction (feedback) qui
soit peut être utilement redondant pour le cas de la déficience visuelle, et peut aussi
fournir une rétroaction pour les actions et les situations qui sont hors du champ de
vue de l’auditeur. Il s’agit d’une utilisation du son en 3D pour les domaines axées sur
la situation ou le contexte ”situational awarness ou context awarness”. De multiples
sources sonores virtuelles peuvent être synthétisées et peuvent se produire n’importe
où dans l’espace à 360 degrés autour d’un auditeur. Avec un retour audio, le centre de
l’attention entre les sources sonores virtuelles peut être commuté à volonté. Une vision,
en revanche, exige le mouvement des yeux ou la tête. Ceci est important en particulier
pour l’intelligibilité de la parole au sein de multiples canaux de communication. Enfin,
au-delà d’améliorer l’intelligibilité d’une mise en scène sonore complexe, cette spatialisation
virtuelle apporte une composante esthétique intégrée à l’œuvre elle-même.
2.4.3 Exemples de systèmes augmentés par le son spatialisé
L’histoire de la technologie de la spatialisation sonore est illustrée en détail dans la
thèse de Nils Peters [Peters10]. De nos jours, nous la trouvons dans beaucoup d’autres
domaines. Dans la téléconférence par exemple, le son spatialisé peut servir comme outil
de détection et de suivi des interlocuteurs [Fodróczi08]. Les systèmes virtuels de
téléconférence basés sur la spatialisation sonore ont été étudiés par de nombreux auteurs
[Virolainen01, Koizumi92]. Généralement, en téléconférence le positionnement
de chaque locuteur peut être fait librement, typiquement il est basé sur un "environnement
virtuel" prédéfinis [Koizumi92] ou une carte d’une salle de réunion virtuelle
[Kang96]. Le système de vidéoconférence de CAR/PE en est un exemple. Il comporte20 Chapitre 2. État de l’art
les flux vidéos des participants disposés autour d’une table virtuelle [Regenbrecht04],
et permet à trois participants de différents endroits de communiquer au travers d’un
réseau dans un environnement simulant une réunion traditionnelle comme si les participants
étaient assis autour d’une table réelle. Le son spatialisé est véhiculé à travers
des écouteurs stéréophoniques ou par les systèmes de reproduction phonique à huit
canaux.
En jeux vidéo, la spatialisation sonore permet d’enrichir l’information visuelle en
aidant les joueurs à localiser des endroits, des événements et des objets non-visuels,
mais également à estimer la distance des objets visuels. Sodnik [Sodnik05] a exploré
la capacité des utilisateurs à localiser un son virtuel spatialisé dans un environnement
de RA avec différentes configurations spatiales de la scène virtuelle. Afin de réaliser
l’expérimentation, une scène de RA a été créée et observée par un dispositif monté sur
la tête (HMD pour Head Mounted Device). L’utilisateur porte des écouteurs stéréo afin
d’entendre les sons spatialisés. Le logiciel fourni utilise la bibliothèque de la vision par
ordinateur ARToolKit. Thomas Gaudy [Gaudy08], quant à lui propose un jeu sonore
de labyrinthe accessible aux personnes aveugles, avec un système d’apprentissage non
langagier qui permet un démarrage rapide de la partie de jeu.
Childs et al [Childs03] exploitent la spatialisation sonore pour représenter des données
météorologiques, Taylor et al [Taylor07] utilisent le son 3D pour faciliter la compréhension
de la dynamique des fluides. D’autres recherches tentent de remplacer les
graphiques visuels par des graphiques sonores [Nees08]. Une façon classique de procé-
der est de faire correspondre l’axe des ordonnées à des variations de fréquence et l’axe
des abscisses à un décalage temporel.
Spatialisation sonore et géolocalisation
Outre les systèmes de spatialisation sonore où la position de l’utilisateur est manuellement
définie, d’autres travaux de recherche ont combiné les techniques de spatialisation
sonore avec celles de la captation du mouvement de l’utilisateur, permettant
de mettre à jour automatiquement le contenu sonore avec la position et l’orientation de
l’utilisateur à l’intérieur de l’environnement sonore.
Dans le projet Bristol CyberJacket [Carro06], un ensemble de sons virtuels sont projetés
dans un espace physique. L’utilisateur expérimente l’environnement sonore produit
par le biais d’un ensemble d’écouteurs attachés à un ordinateur portable. Une boussole
est fixée sur les écouteurs de l’utilisateur afin de fournir les informations sur l’orientation
de sa tête. L’ordinateur portable se rend également compte de l’endroit de l’utilisateur.
Il emploie le GPS pour les environnements extérieurs et un système de positionnement
ultrasonique pour les installations d’intérieur. Avec ces deux sources d’information
le dispositif portable peut déterminer où un son devrait être placé par rapport
à l’utilisateur.Section 2.4. La spatialisation sonore pour la réalité augmentée 21
RA audio pour les malvoyants
Dans l’objectif d’aide au déplacement pour les personnes malvoyantes, plusieurs
dispositifs sonores allient géolocalisation des personnes et personnalisation des contenus
audio envoyés [Roentgen08]. Un des premiers dispositifs sonores d’aide à la navigation,
qui utilise la spatialisation sonore est le système d’orientation personnelle
(PGS). Il se base sur un GPS, une boussole et du son spatialisé pour guider les utilisateurs
aveugles [Golledge91, Golledge98]. Par ailleurs, d’autres systèmes similaires
ont suivi, tels que Drishti [Ran04, Vazquez09] et MOBIC [Petrie96], bien qu’ils n’utilisent
pas le son spatialisé. Le projet SWAN [Wilson07] se poursuit dans la veine de
PGS, permettant d’expérimenter un rendu sonore qui change avec le déplacement de
l’utilisateur dans un monde réel. SWAN requière d’utiliser des périphériques externes
tels qu’un capteur monté sur la tête, un système inertiel, ou une boussole numérique
pour la détection de l’orientation.
Motivés par le besoin des gens d’utiliser leurs appareils électroniques, tout en se
promenant, Holland et al. [Holland02] proposent un prototype d’une interface utilisateur
audio spatialisée pour les mobile à GPS. Le système a été conçu pour répondre aux
besoins des personnes malvoyantes, mais aussi pour permettre aux autres utilisateurs
d’effectuer les tâches avec un minimum d’efforts tandis que leurs yeux, leurs mains et
leur attention sont engagés ailleurs.
Par ailleurs, et dans le but d’augmenter l’autonomie des déficients visuels dans la
navigation, le projet ANR NAVIG [Katz10] a été développé. Le projet vise à concevoir
un système permettant à des personnes visuellement déficientes de se déplacer plus
facilement en intérieur comme en extérieur, ainsi que de pouvoir localiser des objets
d’intérêt dans leur environnement. En plus de l’aide à la mobilité et à l’orientation, NAVIG
souhaite permettre aux déficients visuels de localiser et de saisir des objets environnants,
sans nécessité de marquer ces objets préalablement. Il repose sur la fusion de
données de géolocalisation (GNSS) et de vision artificielle en entrée, et sur la synthèse
de son spatialisé en sortie.
RA audio pour des jeux
La spatialisation sonore a également été expérimentée dans le domaine les jeux géolocalisés
proposés dans les téléphones mobiles intelligents. Cela permet d’offrir plus de
réalisme, d’immersion, et d’engagement émotionnel. Paterson et al. [Paterson10] pré-
sentent un prototype de jeu appelé Ghost Hunt Viking (VGH) permettant de localiser
et d’interagir avec les vikings virtuels autour des vieux sites de vikings de Dublin. Le
jeu s’exécute sur un mobile HTC équipé d’un casque stéréo et d’un GPS. Il offre diverses
interfaces visuelles et audio pour localiser les activités paranormales et recueillir
des preuves qui se manifestent visuellement ou auditivement. Malgré l’inexactitude
du GPS, les perturbations imprévisibles, et les limites de processeur mobile, des ex-22 Chapitre 2. État de l’art
périences ont montré l’importance de la spatialisation sonore dans le monde virtuel
comme outil à la fois instructif et riche en émotion.
D’autres projets se sont également intéressés à une application ludique de la spatialisation
sonore et la géolocalisation. Le projet Ambient Horn [Randell04] qui a exploré
le potentiel de la réalité augmentée sonore dans les environnements extérieurs, et plus
particulièrement lors d’une visite dans une région boisée. Les utilisateurs qui étaient
des enfants, se sont déplacés vers un emplacement dans lequel une balise locale RF a
été cachée. Un bruit a été déclenché et joué dans des enceintes sans fil à proximité, tandis
que d’autres modules mis en œuvre ont permis aux enfants de recueillir et échanger
les informations reçues.
Un autre système intéressant est le système audio-guide de la visite de zoo présenté
par Stahl [Stahl07]. C’est un repère auditif partagé, qui transmet des connaissances spatiales
et d’aide à la navigation. En utilisant la spatialisation sonore des enregistrements
correspondants aux sons et chants des animaux, l’auditeur est en mesure d’identifier
la distance et la direction de l’enclos des animaux. Le système présente également des
clips audio avec des informations détaillées sur chaque animal.
RA audio pour des applications artistiques
Certaines applications artistiques basées sur la réalité augmentée audio ont également
été développés. Certaines de ces recherches ont été menées pour la mise en œuvre
de la spatialisation du son sur les dispositifs mobiles équipés de systèmes de positionnement.
Strachan et al. [Strachan05], ont décrit la mise en œuvre du prototype gpsTunes.
C’est un système de navigation qui combine les fonctionnalités d’un lecteur MP3 et
d’un capteur GPS, dont la mission est de guider l’utilisateur vers sa destination tout en
écoutant la musique. Le dispositif change le volume et l’orientation de la musique avec
le déplacement des utilisateurs. Le volume de la musique augmente lorsque l’utilisateur
s’approche de sa destination. Les expériences montrent qu’une simple adaptation
du volume du son, avec des sources sonores fixes, permet aux gens de naviguer avec
succès le long d’une trajectoire spécifié. La nouvelle version du système [Strachan09]
vise à améliorer le suivi des orientations des utilisateurs en utilisant un système inertiel
combinant des accéléromètres, des magnétomètres et des gyroscopes.
2.5 Cas d’étude : la visite et la médiation dans les lieux culturels
La visite du musée permet de mettre les personnes en contact direct avec le passé et
le présent et permet également d’éveiller la sensibilité au domaine de l’art et de de l’histoire.
Pour les visiteurs, un bon musée ou plutôt une bonne visite de musée est celle qui
permet d’informer et de former, en offrant au visiteur les moyens de bien comprendre
lui-même l’œuvre exposée, ses mécanismes (comment il marche) et de situer son rôleSection 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 23
dans une dynamique historique, économique, sociologique et humaine. En plus de son
côté pédagogique indéniable, la visite de musée suscite un intérêt émotionnel, elle peut
porter une charge affective, manifestée par un sentiment de nostalgie que peut provoquer
certains artefacts ou certaines parties du musée. De nos jours, la visite de musée,
est devenue également une forme de distraction, grâce aux jeux qui sont proposés de
plus en plus pour les visiteurs de musées. En plus, la visite de musée est devenue pour
les concepteurs de visite, une occasion pour saisir l’intérêt du visiteur, pour lui proposer
du contenu personnalisé. C’est pour cela que la fonction de guidage est de plus
en plus présente dans presque tous les musées, et la majorité des musées tente de la
développer pour s’adapter aux exigences du public.
2.5.1 Guidage et médiation
Pour favoriser l’aspect didactique et pédagogique des visites, bon nombre de musées
proposent aujourd’hui des ”prestations” visant à faciliter l’accès des visiteurs
aux contenus exposés. On peut citer comme exemples la présence d’un animateur,
d’un guide conférencier, ou d’un démonstrateur ; la mise à disposition de cartels, de
guides papiers, de catalogues papiers ou numériques, d’ateliers, de réseaux sociaux, de
sites web, de guides audio, de guide multimédia, worksheets, de bornes multimédia
sur place, d’écran interactif, de feuille d’aide à la visite et la liste est longue. Fauche
[Fauche08] distingue deux types d’assistances directe et indirecte.
L’aide directe à la visite : incontournable dans la plupart des missions du musée, elle
implique la présence physique du guide appelé aussi médiateur. On parle aussi
de médiation orale, ou encore de médiation humaine. Pour le médiateur, ce qui s’y
joue se situe à la fois sur le plan des savoirs, et sur le plan de sa relation au public.
Quant à la relation qui se noue entre le savoir et le public : il s’agit d’abord pour
le médiateur d’accueillir l’autre tel qu’il se donne, à la fois en tant qu’individu et
en tant que membre d’un groupe qui a sa dynamique propre.
L’aide indirecte à la visite : consiste à élaborer divers documents, soit écrits (fiches
d’aide à la visite, dossier pédagogique), soit destinés à un autre support (audio
ou vidéo). En effet, à côté des visites traditionnelles guidées dispensées par des
conférenciers, d’autres programmes d’animation sont parfois mis en œuvre et assument
la dimension humaine de la relation. Il s’agit d’une palette de supports de
médiation qui visent l’autonomie du visiteur. L’audioguide vient ainsi compléter
et pallier d’autres types d’aide à la visite désormais courantes au musée ou en
voie de l’être dans les musées d’art rénovés [Deshays02] :
– Guides ou petits dépliants papier remis au visiteur à l’entrée.
– Dispositifs signalétiques plus ou moins aboutis, avec titres et sous-titres (parfois
assortis de courts textes introductifs).
– Documentation sélective : des fiches, ou feuillets ou "petit journal", disponibles
en salle, aux audiovisuels et aux bornes d’information multimédia.24 Chapitre 2. État de l’art
Si l’audioguide peut être proposé comme une aide possible parmi un éventail
d’aides, dans certains musées ou exposition il est devenu le principal outil d’assistance,
voir le seul [Deshays02]. Pour certains professionnels des musées, l’audioguide est un
substitut à la visite guidée.
2.5.2 L’audioguide, une alternative à la visite guidée
Au départ, l’introduction de l’audioguide a été liée à la question de l’accessibilité
des publics étrangers. Il s’agissait de leur proposer une visite accompagnée dans leur
langue. Si la fonction principale de l’audioguide était la traduction. Il est devenu aujourd’hui
un outil de médiation à part entière, à destination du grand public. D’après
[Vilatte07], l’audioguide peut aussi répondre au problème particulier des personnes
handicapées visuelles ou malentendantes.
Sophie Deshayes [Deshays02] constate que l’audioguide est perçu par le visiteur
comme une alternative à la visite guidée, cette dernière apparaissant comme une visite
contraignante et dis-qualifiante dans la mesure où elle situe le visiteur dans une logique
de dépendance. L’audioguide, quant à lui, permet une visite individuelle qui épargne
la visite en groupe (inscription préalable, heure fixe, problème de visibilité, rythme imposé,
etc.). Il permet également d’éviter l’inconfort de la visite guidée : problème de
stratégie de positionnement à toujours développer vis-à-vis des œuvres en fonction
du groupe, et le problème du rythme de la visite imposé par le guide. La liberté du
choix des contenus et le respect du rythme de visite propre à chacun sont des opportunités
fortement valorisées par les utilisateurs d’audioguide. Ils se plaisent à se sentir
accompagnés, guidés, bien renseignés mais non pas contraints par une visite formatée
imposant des arrêts obligés et un circuit prédéterminé.
Toutefois d’après l’étude sur les visiteurs menée par Bernard et Hélène Lefebvre
[Lefebvre91], deux aspects fondamentaux semblent convaincre les visiteurs des musées
des bénéfices de l’audioguide : l’aspect mobilité qui permet aux visiteurs d’écouter le
contenu tout en regardant l’œuvre exposée, et l’aspect individualisation du contenu qui
donne aux visiteurs le sentiment de solitude de calme et même de détente et qui permet
surtout aux visiteurs d’apprendre à leur rythme.
2.5.3 L’audioguide : fonctions et attentes
Loin de sa fonction de traduction, la fonction principale de l’audioguide à laquelle
les visiteurs s’attendent c’est ”d’apprendre des choses en contexte” [Deshays02,
Deshays04]. L’usage de l’audioguide s’affine pour devenir d’une simple aide à la visite,
à la contemplation intelligente des œuvres et des collections. Même si, le positionnement
de l’audioguide, tel qu’il est perçu par le public, est éminemment pédagogique,
les études conduites sur l’usage des audioguides [Lefebvre91], montrent que les visiteurs
s’attendent quand même à s’amuser en utilisant l’audioguide. En effet, les utili-Section 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 25
sateurs d’un audioguide attendent à ce qu’il transmette les savoirs d’une manière ludique,
et aussi à transmettre quelque chose d’insoupçonné et peu attendu, qu’il révèle
la face cachée des choses et qu’il permette au visiteur d’accéder au sens de l’artefact
exposé et donner du sens à sa visite. Pour cela, nous proposons de retenir cinq types de
contenus :
Contenu qui oriente : les visiteurs ne doivent pas se perdre en repérage. Les éléments
d’orientation doivent être définis en situation de visite et ancrés dans l’espace à
partir d’éléments de repères visuels susceptibles de structurer le parcours et de
guider précisément le regard, par des points cardinaux ou des éléments visuels
ou sonores.
Contenu qui informe : qui peut être le contexte historique, le sens d’une représentation
(une scène par ex, des symboles), l’usage d’un objet, la démarche d’un artiste,
l’intention conceptuelle s’il y a lieu, ou alors les hypothèses scientifiques et/ou les
sources de questionnement possibles.
Contenu qui surprend : le contenu doit toujours avoir une vocation de surprendre le
visiteur, en contenant des informations imprévisibles, ce qui épargne le visiteur
d’écouter du contenu redondant et prévisible, et qui l’encourage à écouter plus
pour en connaître d’avantage.
Contenu qui évoque : des extraits littéraires, autres références hors musée, citations,
musiques d’ambiance etc. Les extraits musicaux sont appréciés des visiteurs, ils
ménagent des pauses à l’écoute et qui peuvent être propices à la rêverie, certains
passages musicaux peuvent à l’occasion, réhabiliter la libre déambulation promenade
au musée ou au sein de certaines salles.
Contenu qui amuse : le contenu doit être de types différents, musique, sons ambiants,
voix, dialogues, etc., l’audioguide ne doit pas négliger son aspect ludique tant
pour le public jeune que pour les moins jeunes. Le visiteur ne doit pas sentir qu’il
est face à un contenu didactique qui le plonge à l’école, le contenu doit amuser le
visiteur et rendre sa visite plus agréable.
2.5.4 Types d’audioguides
Les systèmes d’audioguide proposés dans les musées sont multiples. Ils varient par
rapport au média utilisé, à la navigation, aux technologies de localisation des visiteurs,
au contenu délivré, au rôle de l’audioguide et au public ciblé. Nous proposons une classifications
des audioguides portables proposés dans les visites de musées. Cette classifi-
cation est basée sur le moyen de géolocalisation utilisé dans l’audioguide (manuelle ou
automatique), les technologies utilisées pour localiser les visiteurs, ainsi que l’existence
ou pas de personnalisation pour chaque visiteur. D’autres classifications d’audioguides
ont été proposés dans la littérature [Damala09] selon d’autres aspects non liés à notre
travail.26 Chapitre 2. État de l’art
2.5.4.1 La géolocalisation
La géolocalisation
Nous entendons par géolocalisation la manière avec laquelle le visiteur se déplace
dans le musée, communique sa position et interagit avec le contenu proposé. Le visiteur
du musée a besoin de savoir comment le contenu qu’il reçoit est lié avec l’objet physique
exposé dans le musée. Proctor [Proctor05] a défini le lien entre le contenu délivré et
l’objet exposé par trois méthodes, soit il est dans l’environnement physique du musée,
soit il est sur ou dans le dispositif d’interprétation (l’audioguide), soit il est présenté
dans les deux environnements.
Plusieurs techniques de géolocalisation sont utilisées dans la visite de musées, allant
des techniques de géolocalisation explicite où le visiteur muni d’un clavier doit saisir un
numéro correspondant au numéro affiché devant l’objet exposé, jusqu’aux techniques
de géolocalisation qui visent à localiser le visiteur pour lui envoyer automatiquement,
le contenu correspondant à son emplacement et éventuellement aussi à son orientation.
Géolocalisation explicite
De nombreux musées ont opté pour la géolocalisation explicite appelée aussi navigation
manuelle. Cette approche repose sur un système d’étiquetage, où les œuvres du
musée qui sont sujettes à un commentaire audio se voient munir une étiquette placé à
coté. L’étiquette porte un nombre, et pour écouter le contenu audio associé, le visiteur
doit saisir le nombre affiché sur l’étiquette à l’aide d’un baladeur fourni au début de
sa visite. Cette méthode est utilisée dans l’audioguide proposé par le musée des arts et
métiers de Paris 2
. Une autre méthode de navigation est utilisée dans le guide multimé-
dia que propose le musée de Louvre de Paris 3
. Elle consiste à associer aux étiquettes,
des photos pour aider le visiteur à identifier l’objet exposé. Une troisième méthode
utilisée dans ce contexte, consiste à fournir une carte ou un plan digital aux visiteurs
pour se repérer. Cette méthode est largement utilisée dans les systèmes d’aide à la visite
notamment, dans Tate Modern Gallery 4 qui propose cette méthode dans ses parcours
destinés aux adultes et aussi aux enfants.
Géolocalisation implicite
La géolocalisation implicite ou la navigation automatique est très utile autant pour
les visiteurs que pour le personnel du musée. En effet pour les visiteurs, cela permet aux
visiteurs de se localiser automatiquement dans le musée, et ainsi de recevoir les contenus
audio correspondant au œuvres qui les intéressent. Du point de vue du personnel
du musée, cela permet de créer des parcours et des expériences de visite individualisés,
sans empêcher de créer des applications pour le groupe. Elle permet aussi de localiser
chaque visiteur en temps réel et par conséquent de gérer le flux des visiteurs.
2. http ://www.arts-et-metiers.net/
3. http ://www.louvre.fr
4. http ://www.tate.org.uk/visit/tate-modernSection 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 27
Plusieurs technologies et techniques sont expérimentées pour localiser les visiteurs
de musée. Le GPS reste largement le plus utilisé pour la navigation en extérieur. Quant
à la navigation en intérieure, nous citons d’une manière non exhaustive quelques technologies
de localisation utilisées dans le cadre de la visite des lieux culturels.
Infrarouge Utilisée par la cité de la science et de l’industrie à Paris, le musée national
du cinéma à Turin en Italie 5
et le musée des instruments de musique à Bruxelles 6
.
Nécessitant un chemin clair entre le marqueur (émetteur) et le récepteur infrarouge
contenu dans le dispositif mobile (par exemple un PDA). Cette technologie est utilisée
surtout pour le déclenchement des contenus (stockés localement ou délivrés par un
serveur), et pour le transfert de données.
Bluetooth Développé comme un protocole à basse puissance et à petite bande
passante (1 Mb/s). Le Bluetooth est basé sur les signaux radio et présente plusieurs
avantages. Premièrement il n’exige pas de ligne de vue claires entre les outils communiquant.
Deuxièmement jusqu’à huit appareils peuvent être connectés simultanément
dans un rayon de 10 m. Dans les musées, il est utilisé comme une technologie de déclenchement
pour les petites portées. Cependant, Il est incapable de transférer des contenus
multimédias riches. C’est pourquoi il a été testé dans le contexte du musée une seule
fois (à notre connaissance) par le musée Madame Tussauds 7 à Londres pour déclencher
le PDA.
RFID C’est un terme générique désignant l’ensemble des technologies qui utilisent
les ondes radio pour l’identification automatique des objets. La puce RFID comprend
: une micro puce et une antenne minuscule qui transmet les données de la puce
au lecteur. La puce peut être attachée aux objets qui sont faciles à transporter notamment
un bracelet, une carte ou une montre. Cet item envoie alors son identificateur
au réseau par le biais du tranciever posé près de l’objet exposé. Deux types d’RFID
existent, les passifs qui nécessitent de rapprocher l’émetteur du récepteur pour qu’il y
ait communication, et les actives dotés d’une portée plus importante.
Si on utilise des RFID passifs, on est obligé de s’approcher beaucoup de l’objet, d’où
l’intérêt des RFID actifs. Quelques musées utilisent la technologie RFID pour la sécurité
et la maintenance de leurs objets. Les RFID sont utilisées aussi dans quelques musées
notamment au Danemark pour localiser les enfants perdus dans le parc. La puce RFID
est utilisée aussi pour garder trace de la visite. Elle a été utilisée aussi dans le musée
des arts et métiers en France 8 dans le cadre du projet PLUG [Damala10].
5. http ://www.museocinema.it/quick_info.php ?l=fr
6. http ://www.mim.be/fr
7. http ://www.madametussauds.com/London/
8. http ://www.arts-et-metiers.net/28 Chapitre 2. État de l’art
WIFI Cette technologie permet à un grand nombre de visiteurs de se connecter
à intranet et internet pour une large portée. Sa grande bande passante lui permet de
transférer des données et leur mise à jour depuis un serveur central. Le WIFI nécessite
un serveur central où les logiciels de positionnement sont installés, et où le calcul de
localisation est fait, ainsi que plusieurs points d’accès qui relient le signal radio entre
les visiteurs et le serveur. La détection de position du visiteur portant un terminal Wifi
passe par une triangulation en se basant sur les mesures d’au moins trois points d’accès.
Cependant la technologie souffre d’un manque de précision dans la mesure de localisation,
et d’une latence pour délivrer le contenu. Ces deux critères peuvent être améliorés
en augmentant le nombre de points d’accès. Le WIFI est déployé dans le musée Tate
Modern à Londres et au centre de la science à Singapour.
NFC (Pour Near Field Communication), est une technologie de communication
sans fil de courte portée qui commence à équiper la majorité des téléphones mobiles
intelligents. Avec NFC, la communication se produit entre deux appareils séparés de
quelques centimètres. La technologie NFC est basé sur la technologie d’identification
par radiofréquence (RFID). Elle peut fonctionner sous plusieurs modes, mode passif
ou émulation de carte dans lequel le terminal mobile se comporte comme une carte à
puce, mode active dans lequel le terminal mobile devient lecteur de carte, ou en mode
pair-à-pair où les terminaux peuvent échanger les informations.
Cette technologie est utilisée dans le musée national de Corée 9
, le musée Hecht 10
,
le musée national de Cracovie 11, etc. L’idée de base est d’orienter les utilisateurs de
téléphones mobiles NFC qui ont aussi une application de navigation intérieure embarqué.
Un utilisateur peut ainsi indiquer ou déterminer sa position actuelle à l’intérieur
d’un bâtiment en touchant son appareil mobile avec les balises réparties à l’intérieur de
bâtiment.
UWB La technologie UWB (pour ultra wideband) est une technique de modulation
radio qui est basée sur la transmission d’impulsions de très courte durée souvent
inférieure à la nanoseconde. Un consortium européen souhaite que cette technologie
soit utilisée pour chercher des personnes disparues ou des objets non identifiés. L’UWB
peut être utilisé pour le positionnement de mobiles : les récepteurs, qui sont répartis
dans l’environnement, peuvent évaluer la distance des balises UWB, situées sur les
mobiles, par mesure du temps de propagation des signaux émis par ces balises. Ceci
permet au système de calculer la position des mobiles par triangulation.
9. http ://www.museum.go.kr/main/index/index002.jsp
10. http ://mushecht.haifa.ac.il/Defaulteng.aspx
11. http ://www.muzeum.krakow.pl/Section 2.5. Cas d’étude : la visite et la médiation dans les lieux culturels 29
2.5.4.2 La personnalisation
La notion de personnalisation est utilisée pour faire référence à un système qui se
met à jour et modifie ses caractéristiques selon les besoins de l’utilisateur [Filippini03].
L’origine de la personnalisation du contenu remonte aux premiers jeux de rôles interactifs,
où les joueurs choisissent un personnage dont la puissance et les caractéristiques
se développent au fur et à mesure de l’avancement du jeu [Gee04]. La personnalisation
du contenu peut être statique ou dynamique (appelée aussi interactive). La personnalisation
statique signifie que le contenu va être adapté à une catégorie de visiteur, avant
ou après la visite. La personnalisation dynamique signifie que le contenu envoyé au
visiteur est adapté et est mis à jour durant la visite.
Personnalisation statique
Damala a répertorié neuf critères de personnalisation statique qui sont généralement
utilisés dans les pratiques des audioguides de musées [Damala09]. Nous en citons
quelque uns :
L’ âge : le contenu de l’audioguide peut être adapté aux différentes tranches d’âge de
visiteurs. Nombre de musées offrent ce genre de service en proposant des parcours
pour les enfants et des parcours pour les adultes. Le guide de Sycomore 12
présenté dans le grand palais à Paris, en est un exemple.
La langue : le contenu de l’audioguide doit s’adapter à la langue du visiteur. C’est
pour cette raison que le guide multimédia du musée de Louvre est disponible en
sept langues parlées et en langue des signes françaises.
La thématique : le contenu de l’audioguide doit proposer plusieurs parcours thématiques.
Les capacités spéciales des visiteurs : l’audioguide doit être adapté aux besoins et capacités
spéciales des visiteurs, comme dans le cas des visiteurs à déficience visuelles
ou auditives.
Le groupe de visiteurs/communauté : pour favoriser l’aspect social de la visite d’un
musée, certains audioguides sont destinés à être utilisés par plusieurs visiteurs à
la fois.
La plateforme de livraison de contenu : certains audioguides proposent aux visiteurs
d’utiliser leur propres terminaux (MP3, téléphone,...) pour accéder au contenu de
l’audioguide.
L’adaptation du contenu de l’audioguide aux besoins de visiteurs en amont de la
visite aide à personnaliser le contenu. Par exemple le projet HyperAudio [Petrelli99], qui
utilise un modèle de visiteur statique à l’aide d’un questionnaire rempli par le visiteur
au début de la visite. Cela reste insuffisant, dans la mesure où le visiteur peut changer
ses préférences et découvrir d’autres centres d’intérêts pendant sa visite.
12. http ://www.sycomore.eu/index.php/fr/30 Chapitre 2. État de l’art
Personnalisation dynamique
La personnalisation du contenu selon les intérêts de l’utilisateur est un sujet
d’études important qui est une largement étudié dans la littérature, notamment dans
la recherché sur internet [Mladenic96]. Nous trouvons également dans la littérature
les systèmes qui génèrent des suggestions personnalisées pour les touristes. Nous en
citons quelques exemples :
Le projet CyberGuide [Abowd97] produit une série de prototypes d’un guide mobile,
qui prend en compte le contexte des visiteurs d’un laboratoire de recherche. Les
systèmes prennent en compte seulement les informations concernent l’emplacement et
l’orientation actuelle de l’utilisateur en compte, et les applications qui nécessitent une
connaissance rudimentaire de l’utilisateur (par exemple les langues qu’il parle) sont
envisagées aussi.
Le système ILEX [Oberlander97, O’donnell01] produit les ”Étiquettes intelligentes”
pour les œuvres d’art qui peuvent être sous forme de pages web, dans une galerie
électronique, ou de la parole synthétisée dans une galerie physique. Le système prend
en compte les objets que l’utilisateur a visité ou qui étaient mentionné à l’avant, et se
réfère à eux lors de la génération des étiquettes.
GUIDE [Cheverst00, Cheverst02] est un guide touristique électronique portatif qui
crée des visites de la ville qui sont adaptés à chaque visiteur. Le système prend en
compte les données personnelles des visiteurs (par exemple, nom, âge, sexe) ainsi que
leurs intérêts (par exemple maritime, histoire, diététique), leur emplacement actuel, les
monuments qu’ils ont déjà visités, et les parcours de visites qu’ils ont emprunté. Le
système retrace le parcours de chaque visiteur et met à jour son profil d’intérêts en
conséquence.
Le projet ”Deep Map” [Fink02] du Laboratoire européen des médias à Heidelberg
en Allemagne vise à développer des guides touristiques mobiles et personnels. Afin
de permettre à Deep Map de fournir un comportement personnalisé, un modèle de
caractéristiques individuelles des utilisateurs (à savoir leurs intérêts et préférences individuels)
et des groupes d’utilisateurs est acquis et maintenu par le système de modé-
lisation de l’utilisateur. Les auteurs présentent un modèle d’utilisateur et d’adaptation.
L’adaptation est basée sur les intérêts explicite et les données d’usage, sans prendre en
compte le focus (l’orientation) de l’utilisateur. Les auteurs ne proposent pas de modèle
pour la scène sonore.
La personnalisation dynamique du contenu de la scène sonore dans le cadre de la
visite des musées sera mieux décrite dans la section 4.3.Section 2.6. La visite augmentée 31
2.6 La visite augmentée
La réalité augmentée occupe de plus en plus de place dans la visite des lieux culturels.
Elle permet par exemple de visiter un même lieu du patrimoine à la fois tel qu’il est
visible dans son environnement actuel et, par l’intermédiaire de la réalité augmentée,
tel qu’il a été par le passé [Durand11]. La RA peut être utilisée sur des objets réels pour
les définir et les compléter. Elle peut aussi être utilisée comme moyen de substitution
ou de remplacement des objets réels. Elle permet aux visiteurs de manipuler les objets
virtuellement sans avoir besoin de voir l’objet réel. Par conséquent, ils permettent dans
certaines applications de manipuler aussi les objets du musées qui ne sont pas exposés
[Damala09]. La visite des lieux culturels peut être augmentée par la modalité visuelle,
haptique, sonore, olfactive ou même affective. Nous allons citer, dans ce qui suit, des
exemples de visites augmentées par les modalités visuelles et sonores.
2.6.1 La visite augmentée par la modalité visuelle
La RA pour les visites de musée est encore à ce jour (2013), dans une phase expé-
rimentale. Toutefois, plusieurs prototypes ont été développés, dont les résultats sont
prometteurs.
Nous pouvons distinguer deux types de systèmes de réalité augmentée : les systèmes
de RA fixe et les systèmes de RA mobiles. Le qualificatif fixe signifie que le
système de RA est indépendant de l’emplacement de l’utilisateur et n’assure pas son
suivi. Ce dernier est plutôt assurée dans les systèmes de RA mobiles. La vitrine virtuelle
[Bimber03] est un exemple de systèmes de la RA fixes, conçu pour permettre
aux visiteurs du musée de visualiser les images stéréoscopiques des expositions augmentées.
Le scénario initial visait à montrer aux visiteurs les mesures prises par les
paléontologues dans la reconstitution des muscles, des tissus mous et les os du crâne
d’un dinosaure. Le concept de la RA fixe a été testé aussi par le centre Ename en Belgique
[Owen05]. Le système superpose une représentation 3D sur les objets réels exposés
dans le musée. L’inconvénient de cette approche est son caractère invasif et non
personnalisable. Ces systèmes nécessitent le déplacement récurant des visiteurs entre
le virtuel et le réel.
Parmi les système de RA mobiles, nous pouvons citer le projet Archeoguide
[Gleue01]. L’objectif de ce système est d’assister les visiteurs pendant leurs visites.
Le visiteur porte un HMD (Head Monted Display), des écouteurs, un capteur de position
qui détermine son emplacement. Le projet Lifeplus [Papagiannakis02] peut être
considéré comme le successeur de Archeoguide. Il permet aux visiteurs de visualiser
les aspects de la vie quotidienne des Romains. Le Musée américain d’histoire naturelle
à New York , quant à lui, utilise une application gratuite appelée Explorer 13. Cette
application permet de naviguer dans le musée, agissant comme un guide personnel
13. http ://www.amnh.org/apps/explorer.php32 Chapitre 2. État de l’art
pour une visite personnalisée, tout en permettant aux visiteurs du musée de choisir les
pièces qu’ils veulent voir. Au Musée d’Art Moderne de New York, les artistes médiatiques
utilisent la réalité augmentée pour créer un spectacle pour le festival Conflux en
Octobre 2010. Ils ont utilisé le navigateur de réalité augmentée Layar dans un smartphone,
pour montrer aux visiteurs les galeries du musée via la caméra du téléphone.
En Australie, le Powerhouse Museum a une application de réalité augmentée mobile
qui tire des images du musée provenant de Flickr et les montre à travers le navigateur
Layar 14
. Museum Lab s’efforce de trouver des solutions à la problématique de la visite
de musées avec une combinaison de panneaux imprimés et des animations projetées. Il
propose une visite de musée tout à fait novatrice, en superposant des images virtuelles
sur celles qui sont perçues par les visiteurs dans la zone de présentation [Mina10].
Une autre application intéressante est celle de l’institut néerlandais d’architecture
à Rotterdam, qui propose une visite de la ville par l’intermédiaire d’une application
de réalité augmentée et de la technologie Layar qui décrit l’histoire sur les divers monuments
de la ville. Elle utilise des images, des informations audio et des modèles 3D
de bâtiments futurs qui montrent à quoi ils peuvent ressembler à l’avenir. Les utilisateurs
ont trouvé que, bien que le guide humain était attentif, l’application de réalité
augmentée pouvait fournir plus d’informations, offrant plus de flexibilité en fonction
des préférences individuelles des visiteurs [Boulin10].
Le projet ARTSENSE (Augmented RealiTy Supported adaptive and personalized
Experience in a museum based oN processing real-time Sensor Events) vise quant à
lui à appliquer une augmentation visuelle, acoustique et affective à la visite de musée
[Stojanovic12, Damala13, Damala12]. Les auteurs introduisent de nouvelles technologies
portables pour détecter en continu et de manière non intrusive le contexte de l’utilisateur
afin de déterminer l’intérêt actuel de l’utilisateur. Afin de visualiser le contenu
augmenté, ils utilisent une paire de lunettes qui contiennent un capteur du mouvement
du visiteur. Les événements acoustiques sont captés en temps réel en utilisant
des microphones omnidirectionnels et une unité d’acquisition de données portée par le
visiteur. Les auteurs analysent aussi les réactions physiologiques des visiteurs en utilisant
des biocapteurs pour mesurer les battements du cœur, la conductance de la peau
et l’activité cérébrale.
2.6.2 La visite augmentée par la modalité auditive
Jacomy a été l’un des premiers à étudier profondément la question de la visite augmentée
par la modalité sonore dans le contexte muséographique [Jacomy02]. Il trouve
que les spécialistes du patrimoine ont principalement été les conservateurs des musées
chargés par la société de collecter, de conserver et de restituer les traces matérielles de
notre passé. On a donc avant tout conservé ce qui se voit et se touche. Jacomy estime
que la majorité des musées n’ont aucune préoccupation particulière en matière de la
14. http ://www.powerhousemuseum.com/layar/Section 2.6. La visite augmentée 33
dimension sonore et que peu de musées ont une véritable approche sonore des pré-
sentations. Cependant notre mémoire est également olfactive, gustative et auditive. En
prenant l’exemple des musées techniques, en l’occurrence le Musée des Arts et Métiers
(MAM) de Paris, ce musée comporte de grosses machines, par exemple la locomotive
à vapeur. Il dit ” il est essentiel que les générations puissent regarder et toucher les machines,
mais si les enfants qui les approchent ne peuvent sentir les odeurs de graisse chaude et du fumée,
ou entendre les sif ements et les grondements de la vapeur, ils n auront qu une perception partielle
d un objet qui a pourtant profondément marqué la vie de leurs ancêtres. Faute de pouvoir
appréhender ce patrimoine "total", nous pouvons déjà nous pencher sur l une de ses composantes,
importante et pourtant souvent négligée : notre environnement sonore”.
Dans cette section nous allons citer quelques tentatives de sonorisation des musées.
Nous allons commencer par les systèmes qui offrent le même contenu sonore à tous les
visiteurs du musée, et puis les systèmes audio basés sur l’utilisation de casque audio
pour une individualisation et une personnalisation du contenu pour chaque visiteur.
2.6.2.1 Vers un musée sonore
Comme dans le cas de l’augmentation visuelle, nous distinguons deux types de
systèmes augmentés par la modalité auditive : les RA sonores fixes et mobiles.
Parmi les systèmes de RA sonores fixes, [Jacomy02] cite quelques exemples d’installations
sonores qui ont été effectuées dans certains musées. Un exemple de ces systèmes
se trouve dans le musée de la Coutellerie de Thiers, où une salle du sous-sol dégageait
un bruit industriel intense. ”Dans cette salle les murs étaient recouverts de photos d ateliers
grandeur nature, quelques machines-outils ont été exposées et une bande sonore reconstituait
l ambiance de l atelier, avec un niveau acoustique proche du niveau réel. Il cite aussi le cas
du musée français du chemin de fer de Mulhouse. Une grosse locomotive à vapeur est
présentée avec une bande sonore qui reproduit, le bruit de la locomotive au démarrage.
Cette locomotive est montée sur un banc de roulement qui permet de faire tourner les
roues. Ces systèmes de RAS fixes souffrent des mêmes inconvénients qui sont l’aspect
intrusif et non personnalisable. Pour y remédier, les systèmes de RA sonores mobiles
ont été introduits. Ce sont des systèmes qui visent à localiser les visiteurs du musée,
et à personnaliser le contenu audio délivré à chaque visiteur en utilisant des casques
audio.
Bederson [Bederson95] a été parmi les premiers à développer un prototype de guide
électronique pour les musées se basant sur l’interaction implicite. Celui-ci permet aux
visiteurs de recevoir automatiquement les contenus audio appropriés en fonction de
leurs positions individuelles. Ce prototype se compose d’un certain nombre de dispositifs
que le visiteur emporte avec lui : une source audio numérique à accès aléatoire
(Sony MiniDiscTM), un microprocesseur (Motorola M68332) et un récepteur infrarouge
qui indique à l’ordinateur la position du visiteur. Un petit émetteur infrarouge est placé
dans le plafond au-dessus de chaque objet à décrire. Il transmet un nombre unique que34 Chapitre 2. État de l’art
le système emploie pour identifier l’endroit du visiteur. Ensuite, le système joue ou
arrête les sources audio sur le terminal du visiteur en fonction de sa position.
Dans le projet européen Hips [Benelli99], le visiteur est également localisé. La position
et l’orientation du visiteur sont calculées respectivement grâce à la technologie
infrarouge et une boussole électronique. Les données de localisation sont envoyées au
serveur central qui se charge de délivrer les informations appropriées aux visiteurs.
Dans le projet CyberJacket [Carro06], un ensemble de sons virtuels sont projetés dans
un espace physique. L’utilisateur expérimente l’environnement sonore produit par le
biais des écouteurs attachés à un ordinateur portable. Une boussole est fixée sur les
écouteurs de l’utilisateur afin de fournir les informations sur l’orientation de sa tête.
L’ordinateur portable se rend également compte de l’endroit de l’utilisateur. Le système
utilise un système GPS pour les environnements extérieurs et un système de positionnement
ultrasonique pour les environnements intérieurs. Avec ces deux sources
d’information, le dispositif portable peut déterminer où un son devrait être placé par
rapport à l’utilisateur.
L’un des prototypes que nous avons pu tester est Percepio. C’est un audioguide
Percipio (du latin ” percevoir par les sens ”) [Apeloig08] qui permet de déterminer la
position du visiteur et aussi ce qu’il regarde, sans intervention manuelle. Percipio (fi-
gure 2.4), se présente sous la forme d’un appareil audio relié à un boîtier pendu autour
du cou. A son arrivée, à l’accueil, le visiteur reçoit Percipio dans les mêmes conditions
qu’un audio guide classique. Il peut alors se promener librement dans le site, qu’il soit
intérieur ou extérieur. Ce système est conçu pour calculer le vecteur visuel de l’utilisateur
afin de lui envoyer les commentaires audio liés à l’exposition qu’il regarde. Il est
relié à une plateforme multimédia (PDA) et peut fournir un contenu personnalisé en
fonction de l’intérêt du visiteur. Le système utile la technologie infrarouge pour déterminer
la position du porteur dans des environnements intérieurs, et le GPS pour les
environnements extérieurs. Pour le calcul de l’orientation de la tête (le lacet), Percipio
utilise un compas magnétique.
Le Musée de Londres a lancé StreetMuseum [Farman12], une application iPhone
gratuite qui utilise ses collections de photos d’archives associées à la géolocalisation et
à la réalité augmentée. Cette application, consacrée à la capitale anglaise, permet de
retrouver les anciennes photos de lieux actuels, avec en plus un descriptif audio de la
photo prise à l’époque.
2.6.2.2 Spatialisation sonore pour la visite des musées
En plus de la localisation du visiteur dans le musée, notamment le suivi de sa position
et son orientation, quelques chercheurs ont pensé à augmenter la visite du musée
par du son spatialisé pour favoriser l’aspect immersif de la visite.
Le projet ec(h)o [Hatala05] est conçu comme un audioguide interactif pour le musée.Section 2.6. La visite augmentée 35
FIGURE 2.4 – Le casque PERCIPIO 15
Le système capte la position du visiteur qui se déplace dans le musée en utilisant la
technologie RFID et les caméras, et par conséquent, le contenu audio relatif à ce que
regarde le visiteur du musée lui est envoyé via le casque. En plus de la captation de
mouvement, le visiteur interagit avec le contenu audio à l’aide d’un cube en bois de
forme asymétrique qu’il manipule durant sa visite. En dépit de sa fiabilité, l’efficacité de
l’approche est discutable car l’utilisateur spécifie manuellement son orientation à l’aide
du cube. En outre, le système utilise des fonctionnalités limitées de la spatialisation
sonore, notamment l’effet stéréo. Par contre, l’effet binaural n’est pas offert.
Le projet Listen [Eckel01b, Delerue02, GoBmann02, Leprado07, Zimmermann08],
quant à lui a comme but d’explorer l’immersion dans les environnements augmentés
par l’audio, en superposant un environnement sonore virtuel à l’environnement réel.
Ce système a été installé au musée Kunstmuseum de Bonn dans le cadre d’une exposition
comprenant les œuvres du peintre August Macke. Le suivi du visiteur est effectué
en utilisant des caméras infrarouges afin de reconnaître l’objectif monté sur le casque
et sur les objets exposés. Une unité centrale recueille les données de chaque visiteur
correspondant à sa position absolue et à son orientation. Puis, le contenu auditif est
sélectionné, spatialisé en temps réel et envoyé à l’utilisateur à travers un casque d’une
manière binaurale. Néanmoins, Le dispositif de suivie ne permet de suivre que huit
visiteurs simultanément.
Le projet Sound Delta propose, de son coté, une architecture distribuée en combinant
deux architectures locale et centralisée. Il s’agit d’une installation artistique
pour l’interaction en temps réel et de l’exploration simultanée de paysage sonore
[Mariette09, Mariette10]. L’utilisateur porte un ordinateur utilisé comme récepteur au-36 Chapitre 2. État de l’art
dio et il est invité à une expérience d’écoute en se déplaçant dans un espace physique.
L’utilisateur a l’impression que les sources sont en mouvement grâce au changement
des paramètres des sources sonores musicales en fonction de la position et de l’orientation
de l’utilisateur. Le système mobile est constitué d’un ordinateur de poche ordinateur
(Sony Vaio VGN-UX1XN, Windows XP SP3), La localisation est assurée par le
GPS et l’orientation avec le capteur XSens MTi miniature. L’utilisateur porte un casque
ouvert (Sennheiser HD485). Le système distant se compose d’un point d’accès Ethernet
sans fil et un serveur (Apple PowerMac).
Plus récemment, le projet Corona 16 a proposé une visite culturelle en réalité augmentée
audio de l’hôtel de ville d’Aachen, en Allemagne. L’espace audio est composé
de plusieurs sources sonores virtuelles [Heller11, Heller09], correspondant à des monuments
historiques de la ville. Le processus du rendu sonore récupère la position et
l’orientation de l’auditeur ainsi que la position des sources sonores virtuelles pour émuler
une propagation naturelle du son. Les visiteurs découvrent cet espace virtuel audio
en continu uniquement en se déplaçant dans la salle du couronnement. Corona tourne
sur iPhone et son système iOS, à travers lequel l’utilisateur séléctionne l’œvre qu’elle
l’intéresse. Le tracking de la position et de l’orientation de l’auditeur est réalisé à l’aide
d’Ubisense. Il s’agit d’un système de tracking en temps réel qui trace la position de
l’auditeur avec des tags RF intégrés dans les écouteurs. Pour suivre l’orientation de sa
tête, une boussole numérique est également montée sur les écouteurs. Les informations
recueillies sont ensuite remis à un moteur de rendu audio. Apple iOS SDK est livré avec
une mise en œuvre d’OpenAL, qui assure l’effet stéréo, les auteurs ont ensuite étendu
ce rendu par l’ajout d’un filtre passe-bas pour assurer l’effet devant/derrière, et ajouter
des réverbérations.
En comparant les projets cité selon le moyen d’interaction avec le paysage sonore.
Nous trouvons que dans les projets ec(h)o et Corona le visiteur sélectionne les œuvres
dont il souhaite entendre le contenu grâce à une interface manuelle (cube en bois dans
ec(h)o et iphone dans Corona). Quant aux projets Listen et Sound Delta. Ils ont opté pour
une interaction avec le paysage sonore basée uniquement sur la déambulation des visiteurs
dans le musée. Si cette solution a l’avantage de libérer les mains des visiteurs et
de les immerger dans le paysage sonore. Elle a toutefois, l’inconvénient de ne pas donner
au visiteur le moyen de contrôler le contenu audio qu’il désire entendre (arrêter ou
jouer le contenu, augmenter ou diminuer le volume,etc).
2.7 Conclusion
Dans ce chapitre, nous avons commencé par définir le concept de la réalité augmentée,
qui possède un périmètre de définition très large et mouvant. Nous avons situé la
réalité augmentée par rapport à la réalité virtuelle, et nous avons défini le concept de
16. http ://hci.rwth-aachen.de/coronaSection 2.7. Conclusion 37
l’augmentation de la réalité qui peut se faire sur le plan visuel, haptique, sonore, voire
olfactif. Nous nous sommes plus particulièrement focalisés sur l’augmentation sonore.
Après avoir présenté les concepts de l’audition et de la perception humaine du son.
Nous avons présenté l’apport de la dimension sonore dans les systèmes de RA. Dans
un deuxième temps nous avons limité nos champs d’étude aux systèmes de RA sonore
dans le cas particulier de la visite des lieux culturels. Dans la visite de lieux culturels
force est de constater la prolifération d’outils de guidage. Parmi ces outils nous trouvons
les guides multimédias qui se chargent d’assurer cette médiation autrefois assurée
exclusivement par un médiateur humain. Il convient de noter que plusieurs taxonomies
d’audioguides se trouvent dans la littérature. Damala [Damala09] estime que l’on peut
avoir huit critères de classification des audioguides. Ils peuvent être classifiés selon le
média utilisé, la géolocalisation, le contenu stocké, la personnalisation, le contexte social,
la continuité de l’usage et le caractère ludo-éducatif. Nous nous sommes focalisés
dans cette étude de l’état de l’art sur les deux critères suivants : la géolocalisation et la
personnalisation.
Dans la dernière section nous avons fait le lien entre la réalité augmentée et la visite
du musée, nous avons vu, à travers des exemples, comment une visite de musée peut
être augmentée, que ça soit par la modalité visuelle ou sonore. Les tableaux 2.2, et 2.4
représentent un récapitulatif de quelques systèmes de RA étudiés dans ce chapitre.
– La première colonne donne le nom de l’application ou de son auteur principal.
– La deuxième colonne indique le domaine couvert par cette application.
– La troisième colonne précise la nature de l’augmentation du point de vue de la
perception par l’utilisateur. Nous distinguons principalement les augmentations
visuelles et sonores.
– La quatrième colonne indique les dispositifs utilisateur. Ce qui signifie, le moyen
d’interagir avec l’environnement augmenté et le type d’ordinateur pour traiter
les données.
– La cinquième colonne indique si l’application permet ou pas le suivi de la position
de l’utilisateur, et si oui par quelle technologie.
– La sixième colonne permet de préciser si l’application permet ou pas le suivi de
l’orientation de l’utilisateur et par quel type de capteurs.
– La septième colonne précise si la technique de la spatialisation sonore est utilisée
ou pas.
– Enfin la huitième colonne précise si l’application supporte la mobilité. Nous distinguons
: F (l’application est fixe), M (l’application est mobile).38 Chapitre 2. État de l’art
Nom de
l’application ou
de l’auteur
Domaine
d’application
Nature
de l’augmentation
Dispositif Suivi
position
Suivi
orientation
Spatialisation
Mobilité
Ariel
[Mackay98] Architecture Visuelle,
sonore
Table, localisateur
caméras Non Non F
Autonomie
[Lemordant11]
Aide à la
navigation Sonore Smartphone
GPS centrale
inertielle Non M
CARE/PE
[Regenbrecht04]
Télé-
conférence Sonore
Ecouteurs
stéréo, ordinateur
Non Non Stéréo M
Sodnik
[Sodnik06] Jeu vidéo Sonore
Ecouteur
stéréo,
HMD, PC
windows
caméras Non Binaural F
Labyrinthe
[Gaudy08] Jeu vidéo Sonore
Casque
stéréo, PC
standard
Non Non Binaural F
PGS
[Golledge98]
Aide à la
navigation Sonore
Casque,
tél mobile
Nokia
GPS Boussole Non M
Drishti
[Vazquez09]
Aide à la
navigation Sonore Casque GPS Boussole Non M
MOBIC
[Petrie96]
Aide à la
navigation Sonore Casque GPS Boussole Non M
SWAN
[Wilson07]
Aide à la
navigation Sonore
Casque ,
micro
PC(Sony
Vaio)
GPS Boussole Non M
GpsTunes
[Strachan09] Navigation Sonore,
visuelle
UMPC
Sumsung GPS Système
inertiel
stéréo,
panning M
VGH
[Paterson10] Jeu vidéo Sonore,
visuelle casque RFID Non Non M
Ambient Horn
[Randell04]
Promenade
ludique Sonore
Casque,
prototype
Ambient
Horn
Non Non Non F
CyberJacket
[Carro06] Navigation Sonore,
visuelle
carte
Gumstix GPS Boussole stéréo M
Sound Delta
[Mariette09]
Installation
sonore
Sonore
casque
stéréo,
micro
ordinateur(Sony
vaio),
serveur
GPS Boussole Stéréo M
TABLE 2.2 – Tableau de synthèse de la revue des applications de RA (Partie 1)Section 2.7. Conclusion 39
Nom de
l’application ou
de l’auteur
Domaine
d’application
Nature
de l’augmentation
Dispositif Suivi
position
Suivi
orientation
Spatialisation
Mobilité
Audio GPS
[Holland02]
Navigation,
aide à la visite Sonore
casque,
ordinateur
standard
GPS Boussole Stéréo M
Stahl [Stahl07] Visite de zoo Sonore casque GPS Boussole Stéréo M
Terracota
Warios
[Thian12]
Visite de
musée Visuelle iPhone GPS Boussole Non M
Life plus
[Papagiannakis02]
Visite de
musée
Sonore,
visuelle HMD Non Non Non M
Archeo-guide
[Gleue01]
Visite de
musée Visuelle visiocasque
Oui Non Non M
Emane
[Owen05]
Visite de
musée Visuelle - Non Non Non F
Street Museum
[Farman12]
Visite de la
ville
Visuelle,
sonore
iPhone GPS Boussole Oui M
Explorer
[AMNH]
Visite de la
ville Visuelle Ipod
touch GPS Non Non M
Museum Lab
[Mina10]
Visite de la
ville Visuelle Baladeur Non Non Non M
Bederson
[Bederson95]
Visite de la
ville Sonore PC
portable IR Non Non M
Percipio
[Apeloig08]
Visite du
musée
Visuelle,
sonore
PDA GPS , IR Boussole Non M
Hips
[Oppermann99]
Visite du
musée Sonore casque IR Boussole Non M
Ec(h)o
[Hatala05]
Visite du
musée Sonore
casque
stéréo, PC
fixe
RFID Cube,
cameras
Stéréo M
Listen
[Zimmermann08]
Visite du
musée Sonore
casque
stéréo, ordinateur
fixe
(serveur)
Caméras
IR Boussole Binaural M
Navig [Katz10] Aide à la
visite Sonore
casque
stéréo, PC
portable
GPS Boussole Binaural M
Corona
[Heller11]
Visite du
musée Sonore
casque
stéréo,
iphone
Ubisense
Boussole Stéréo M
Artsense
[Stojanovic12]
Visite du
musée
Sonore,
visuelle,
affective
Caméras,
HMD, eye
tracking
- - Binaural M
TABLE 2.4 – Tableau de synthèse de la revue des applications de RA (Partie 2)3
Dispositif du visiteur
3.1 Motivation
3.1.1 Contexte
Le Musée des Arts et Métiers (MAM) interpelle par la richesse fonctionnelle et technique
des œuvres qu’il abrite. En effet, le MAM de Paris, expose environ 4000 objets de
science et de technologie de différents domaines : communication, construction, transport,
mécanique et autres (Figure 3.2). Un ensemble d’objets exposés dans le musée
est présenté dans la figure 3.1. Des joyaux de technologie uniques aussi bien par leurs
formes étonnantes, à la fois les grands (le fardier de Cugnot, l’aéroplane de Clément
Ader, etc.) et les moins grands (les automates par exemple), que par les sons qu’ils
produisent quand ils se mettent en état de marche. Ces sons peuvent être complexes
ou simples, intenses ou légers, tellement caractérisants qu’ils contribuent pleinement à
créer l’identité des objets qui les émettent.
Bruno Jacomy a structuré les objets qui produisent des sons dans le MAM
[Jacomy02]. Il a développé une typologie d’objets sonores se trouvant dans le MAM en
les répartissant en quatre catégories :
Les objets conçus pour produire des sons agréables comme la musique. Comme
exemple nous pouvons citer la salle des automates qui contient plusieurs objets
qui produisent de la musique comme "La joueuse de tympanon".
Les objets qui produisent des sons fonctionnels (horloge, alarme, télévision, phonographe).42
Chapitre 3. Dispositif du visiteur
FIGURE 3.1 – Quelques objets des collections du musée des arts et métiers.Section 3.1. Motivation 43
FIGURE 3.2 – Plan des salles du musée des arts et métiers.44 Chapitre 3. Dispositif du visiteur
Les objets dont le fonctionnement produit des sons (moteurs, le métier à tisser,
outils, instruments scientifiques).
Éléments sonores liées à l’environnement du musée et à ses éléments architecturaux
(appareil multimédia, sol, murs d’écho).
De nombreuses raisons pratiques empêchent de mettre en marche ces machines, ce
qui privent les visiteurs du musée d’informations importantes concernant le fonctionnement
de ces machines. Activer les sons associés aux objets exposés par haut-parleurs
placé à coté de chaque machine serait également inapproprié. En effet, ceci priverait
le visiteur d’une expérience individuelle, et transformerait la visite du musée d’une
expérience personnelle vers une excursion en groupe.
L’idée est donc d’associer à travers de la RAS un ou plusieurs contenus sonores virtuels
aux objets réels exposés au musée, puis de renvoyer à chacun des visiteurs un
contenu audio personnalisé approprié à sa position et à son orientation. Le concepteur
du scénario de visite peut choisir des sons ambiants qui donnent une idée sur l’objet
visité, ou des sons de paroles présentant l’objet exposé, ou même des sons non familiers
pour susciter la curiosité des visiteurs et favoriser l’effet de surprise. Ce chapitre vise
à présenter la structure générale de SARIM, le système que nous avons conçu et développé
pour réaliser notre scénario de spatialisation sonore. Le chapitre commence par
décrire les premières conditions expérimentales qui ont motivé le choix du dispositif,
puis décrit les dispositifs de captation de mouvement utilisés tout au long de la thèse,
avant de finir par présenter le dispositif final retenu.
3.1.2 Choix de conception
SARIM est conçu pour permettre au visiteur du musée de naviguer dans un environnement
physique augmenté par une scène sonore virtuelle. Cette dernière comporte
plusieurs objets sonores liés chacun à une œuvre exposée dans le musée. Pour se faire,
le visiteur doit porter un casque audio sur lequel est fixé un capteur d’orientation et de
position, ce capteur transmet les informations sur la position et l’orientation du visiteur
au système de la spatialisation sonore. Ce dernier consulte les sons contenus dans sa
base de données, met à jour les paramètres de la spatialisation sonore, puis transmettre
le son spatialisé au moteur audio qui le renvoie à son tour d’une manière binaurale au
casque du visiteur.
Bien que le système SARIM s’inscrit dans la ligné de quelques systèmes similaires
de RAS appliqués à la visite de musées, tels que ec(h)o [Hatala05], Listen
[Zimmermann08], Sound Delta [Mariette09, Mariette10] et Corona [Heller11, Heller09],
cités dans le chapitre 2. L’approche suivie est différente par rapport aux approches
existantes. En effet SARIM se distingue de ces systèmes par quelques caractéristiques.
Premièrement, en le comparant à ec(h)o [Hatala05] ou à Corona [Heller11, Heller09] par
exemple, SARIM est un dispositif à utilisation main libre. Il est capable de capter l’orientation
de la tête du visiteur et de calculer son vecteur visuel, sans aucune action de ceSection 3.2. Expérimentations initiales 45
dernier à l’exception de son déplacement et se ses gestes. Deuxièmement, et en le comparant
cette fois à Listen [Zimmermann08] ou à Sound delta [Mariette09, Mariette10],
SARIM offre, en plus de l’adaptation de l’espace sonore aux intérêts du visiteur, un
moyen d’interaction intuitif basé sur les gestes. Celui ci permet à l’utilisateur de mieux
contrôler l’espace sonore. En plus de ça, SARIM est un système entièrement distribué,
ce qui signifie qu’il dispose d’un dispositif autonome pour chaque utilisateur, et que
la gestion du système est réalisée localement. Par conséquent, SARIM peut être utilisé
simultanément par un grand nombre de visiteurs.
3.2 Expérimentations initiales
3.2.1 Scénario : combinaison de l’immersion et la description
Les premières expérimentations informelles de notre prototype ont été réalisées en
utilisant le capteur de position et d’orientation Polhemus Patriot (voir section 3.3.1).
Au sein du laboratoire, dans une salle de 4x4 mètres, trois photos correspondant à des
œuvres du musée ont été disposées sur les murs, tandis que la même scène est reproduite
en temps réelle sur une interface visuelle 3D. Ces expérimentations ont été menées
auprès d’une dizaine de sujets, qui ont expérimenté notre prototype. Par la suite,
d’autres expérimentations informelles ont suivi, et ont été réalisées cette fois dans la
salle des automates du MAM en utilisant le capteur d’orientation Sparkfun IMU 6 DOF
(figure 3.6). L’auditeur porte un casque d’écoute stéréo, sur lequel le capteur de mouvement
est fixé. Son mouvement est analysé en permanence.
Le scénario de visite que nous avons proposé initialement est un scénario qui combine
l’immersion sonore dans le musée à travers des sons ambiants et de la parole dé-
crivant les objets. Lorsque le visiteur entre dans l’environnement sonore, sa position
et l’orientation de sa tête sont automatiquement envoyées au système de spatialisation
sonore. Celui-ci récupère le contenu audio approprié en fonction de la position de l’utilisateur
et de son orientation, puis envoie à l’utilisateur le contenu audio sous format
binaural via le casque. Les actions suivantes ont été expérimentées :
Action 1 : Quand l’utilisateur se dirige vers un objet exposé, il commence à entendre
le son ambiant correspondant à cet objet. Le son est envoyé au visiteur d’une
manière spatialisée. le volume et l’orientation du son, dépendent de la distance
qui sépare le visiteur de l’objet et de l’orientation de la tête du visiteur par rapport
à cet objet
Action 2 : Quand l’utilisateur se positionne entre deux ou plusieurs objets exposés, il
entend simultanément les sons ambiants de toutes les sources sonores correspondants
à ces objets, tandis que chaque son est envoyé au visiteur en fonction de sa
position et l’orientation de sa tête. Puisque des sons différents proviennent de dif-46 Chapitre 3. Dispositif du visiteur
férentes directions et positions, le visiteur doit être capable de localiser les objets
qui l’entourent et d’estimer la distance qui le sépare de ces objets.
Action 3 : Si l’utilisateur s’approche d’un objet exposé et le fixe durant un certain
nombre de secondes (spécifié par le concepteur en utilisant l’outil d’écriture de
scènes sonores), il commence à entendre uniquement la description de cet objet.
Tous les changements dans le contenu audio que le visiteur entend sont effectués
d’une manière fluide et progressive, de sorte que le visiteur ne sente pas de coupures
dans le paysage sonore. Lorsqu’on passe d’une action à l’autre et que le contenu sonore
doit être changé, le volume du dernier son est diminué progressivement au fur et à mesure
que le volume du nouveau son augmente jusqu’à ce que le nouveau son remplace
l’ancien. Cette phase de transition dure quelques seconde.
3.2.2 Rendu sonore
SARIM est conçu d’une manière modulaire qui exige l’utilisation d’un moteur de
rendu sonore binaural. Pour des raisons pratiques, le rendu ”binaural” réalisé dans
notre travail s’appuie sur l’API NativeFmodex 1
(la version native de FMOD). FMOD 2
est une API (Application Programming Interface) de programmation et un outil pour la
création et la lecture du son interactif. Pour créer ”l’effet binaural”, nous avons utilisé
l’HRTF statique de FMOD, à travers le mode FMOD_INIT_SOFTWARE_HRTF qui permet
l’initialisation du système sonore FMOD. Ce mode ajoute un effet filtre passe-bas
qui fait que le son paresse plus terne lorsque la source sonore se situe derrière l’auditeur.
3.2.3 Rendu visuel
Dès le début des développements, nous avons senti le besoin d’avoir un retour visuel
: une interface qui montre les conséquences des gestes du visiteur et le retour sonore
qu’ils produisent. Pour créer un retour visuel, nous avons commencé par concevoir
et réaliser une simulation virtuelle d’une visite du musée guidée par le son. Cela a
été réalisé en créant un mini musée virtuel dans le laboratoire. Chaque objet exposé est
associé à différents types de contenus audio : une description vocale de l’objet, un son
ambiant ou une représentation musicale correspondante à cet objet. Deux modes d’exé-
cution sont possibles dans ce système : Un mode "virtuel" où la position et l’orientation
du visiteur sont saisies manuellement à l’aide de la souris et du clavier. L’utilisateur
peut ainsi simuler un déplacement dans l’environnement virtuel, approcher les objets
et entendre le contenu audio qui leur sont liées. Le deuxième mode, est le mode "réel".
Il est utilisé pour surveiller et monitorer la visite. La position du visiteur et son orientation
sont récupérées à partir du capteur de mouvement. Cet interface n’est pas destinée
1. http ://jerome.jouvie.free.fr/nativefmod/index.php
2. http ://www.fmod.org/Section 3.2. Expérimentations initiales 47
à être utilisée par le visiteur qui aura lui les mains libres, mais plutôt par le concepteur
de scénarios de visite.
De même, deux interfaces graphiques ont été attachées au système : Une interface
3D et une interface 2D (figure 3.3). L’interface 3D, de vue subjective, reproduit en temps
réel le champ de vision du visiteur au même temps que son déplacement. Dans le cas
où le mode virtuel est sélectionné, le visiteur peut naviguer en utilisant un dispositif de
pointage connecté au système (souris, clavier). Dans l’interface 2D, de vue de dessus, le
système affiche la carte des objets sonores et la position et l’orientation du visiteur au
sein de l’environnement du musée. Les objets sont représentés sous forme d’icônes visuelles
tandis que le visiteur est dépeint par une icône et une flèche. L’interface permet
alors au responsable de la visite d’activer ou de désactiver l’émission des son particulier
en cliquant simplement sur l’icône associée. Le type du contenu est représenté par une
liste pour permettre au responsable de la visite de modifier le type de contenu sonore.
FIGURE 3.3 – Interfaces graphiques pour les expérimentations initiales
Une autre interface de vue panoramique a été également développée est utilisé dans
le cadre des expérimentation informelles réalisées au MAM (figure 3.4).
3.2.4 Perception simultanée des contenus sonores
Bien que l’architecture du système prend en charge un nombre illimité de contenus
audio, la question d’une perception optimale des sons est fondamentale pour notre sys-48 Chapitre 3. Dispositif du visiteur
FIGURE 3.4 – Vue panoramique des trois objets sonorisés
tème. Pour cette raison, nous avons effectué un test sur le nombre maximum de sons
différents qui peuvent être distingués, s’ils sont joués en même temps et dans la même
salle. Les participants devaient se mettre sur un point fixe et être acoustiquement entouré
par un nombre variable d’objets audio. Ils avaient le droit de tourner uniquement
leurs têtes. La plupart d’entre eux ont été en mesure de percevoir simultanément jusqu’à
à six sons à la fois. Au-delà de ce nombre, la localisation des objets audio et leur
distinction semblaient être difficile. Pour cette raison, lors de la conception du scénario,
le concepteur doit définir et ajuster le nombre maximum d’objets audio qui vont être
perçus simultanément.
3.2.5 Création de contenus sonores
La création du contenu sonore pour cette première phase a été effectuée par un
compositeur de son 3
, qui s’est chargé de préparer le contenu. La préparation repose
sur l’enregistrement des sons des objets de l’expérience, ou la création de sons similaires
en mixant plusieurs sons, ou en créant des ambiances sonores qui donnent une
idée sur l’objet. Dans cette expérience, nous avons choisi une petite salle du musée qui
comporte trois objets (figure 3.4) : une grande machine électrostatique du 18ème siècle,
un impressionnant moteur de bateau du 19ème siècle. Les deux objets sont placés l’un
devant l’autre à l’est et à l’ouest de l’entrée de la salle. Le troisième objet est l’entrée
dans une seconde grande salle dédiée aux médias. Elle est situé au nord de l’entrée
de la salle. Trois sons ambiants devraient être entendus dans la salle : deux sons provenant
des deux machines et un son composé en provenance de la salle des médias.
Aucune de ces deux machines ne peut être mise en marche, car elles sont très vielles,
3. Cécile LepradoSection 3.3. Captation de mouvement 49
de ce fait, nous ne pouvions pas enregistrer aucun son dans cette salle. L’ingénieur du
son s’est chargé par la suite de composer des sons artificiels correspondants à chaque
objet de la salle. Le son du moteur du navire a été créé en sur-échantillonnant, ralentissant,
et effectuant un filtrage passe-bas à un son d’un petit bateau contemporain. Le
son de la machine électrostatique a été, à son tour, créé en mélangeant un son illustrant
le frottement mécanique des disques de verre et de la manivelle, avec le son de certains
éclairs électriques. Le son provenant de la salle des médias a été créé par le mélange
des sons de certaines technologies des médias connus tels que des imprimantes et des
télégraphes. La création du contenu sonore reste tout de même une discipline à part
entière qui n’a pas été étudiée comme problématique de recherche dans cette thèse.
3.3 Captation de mouvement
De manière générale, la captation du mouvement est employée dans les environnements
virtuels pour enregistrer et suivre dans l’espace la position et l’orientation des
objets physiques. A la différence de quelques autres systèmes similaires de RAS, qui
ont consacré un large espace dans leurs travaux à la problématique de captation de
mouvement du visiteur (voir chapitre 2), nous n’avons pas étudié la captation entant
que problématique de recherche dans notre travail. Nous avons plutôt testé plusieurs
capteurs, en notre possession, tout en se concentrant sur la captation de l’orientation
plutôt que sur celle de la position.
3.3.1 Polhemus Patriot
Le premier capteur utilisé est le capteur PATRIOT 4 de la société Polhemus 5
, qui
permet le suivi de la position et de l’orientation. Bien qu’il s’agit d’un capteur filaire,
inadapté à une visite de musée, PATRIOT a été utilisé en premier lieu afin de valider,
dans une situation réelle de captation de mouvement, le système de spatialisation
sonore développé. PATRIOT comprend, un système d’unité électronique (SEU), une
source magnétique, un capteur et un boîtier de contrôle.
Lorsque PATRIOT est en fonction, la source émet successivement trois champs magnétiques
mutuellement perpendiculaires qui induisent un courant dans les trois bobines
du capteur. A partir de l’intensité de ces courants, qui dépend de la position relative
du récepteur par rapport à la source, le système calcule la position et l’orientation
du capteur. Le champ magnétique étant de faible intensité, il n’est pas possible d’utiliser
le système pour le suivi dans des grands espaces. Le PATRIOT, qui est caractérisé
par une portée utile (Useful Range) réduite à 60 inches, offre ainsi un espace de travail
de la forme d’une sphère de rayon égale à environ 152 mètres. PATRIOT est fournit
4. http ://www.polhemus.com/ ?page=motion_patriot
5. http ://www.Polhemus.com50 Chapitre 3. Dispositif du visiteur
avec un logiciel Polhemus PiMgrGUI qui permet la gestion et le transfert des mesures
de position et d’orientation du capteur. Ce logiciel est adapté uniquement aux systèmes
d’exploitation Windows 2000 et XP.
Pendant nos expérimentations informelles (figure 3.5), le temps de latence entre le
changement de position et de l’orientation de l’utilisateur et la mise à jour du contenu
audio est estimé à 17 millisecondes. Cette valeur est largement inférieure à la perception
auditive humaine estimé à 50 millisecondes. En outre, la vitesse du mouvement de
l’auditeur n’affecte pas la performance acoustique du système.
FIGURE 3.5 – Expérience informelle menée au laboratoire
Après avoir passé la première étape de validation de notre prototype avec le
PATRIOT, l’étape suivante est de choisir un capteur approprié qui va assurer l’autolocalisation.
Ce qui signifie, que le visiteur doit porter sur lui tout le système de localisation,
est ce dernier communiquera directement les mesures de localisation au
système de spatialisation sonore. Ceci va permettre à plusieurs visiteurs d’utiliser le
dispositif simultanément. Nous nous sommes ainsi orientés vers les capteurs inertiels.Section 3.3. Captation de mouvement 51
3.3.2 Centrale inertielle Sparkfun IMU 6 DOF
Les capteurs inertiels tirent leur intérêt de l’utilisation conjointe d’accéléromètres et
de gyroscopes. L’orientation de l’objet sur lequel le capteur est posé, est calculée en intégrant
conjointement les valeurs des gyroscopes, ces dernières étant proportionnelles
à la vitesse angulaire autour de chaque axe. Ces capteurs sont rapides, ne nécessitent
pas d’éléments extérieurs, et ne souffrent d’aucun problème d’occlusion par un autre
objet, ni d’interférences magnétiques, et occupent un espace très réduit. Cependant, ils
ne sont pas précis lorsque les changements de positions sont lents, et restent sensibles
à des phénomènes de dérives, puisque les erreurs s’accumulent en permanence.
Plusieurs modèles de centrales inertielles existent sur le marché. Nous pouvons citer
les produits des sociétés Xsens [B.V.09], Intersense [Inc.10], Sparkfun [Sparkfun07], etc.
Nous avons choisie la IMU-6DOF-V4 de Sparkfun (figure 3.6) vu qu’elle est peu encombrante,
légère, ouverte, documentée et moins onéreuse. En revanche, elle est vendue
sans logiciel de traitement de mesures.
FIGURE 3.6 – Sparkfun IMU-6DOF-V4 [Sparkfun07]
SparkfunIMU-6DOF-V4 combine différents capteurs inertiels. Elle comporte :
– Un accéléromètre à triple axe Freescale MMA7260Q,
– Deux Gyroscopes InvenSense IDG500,
– Deux capteurs magnétiques Honeywell HMC1052L et HMC1051Z.
La centrale inertielle délivre des données brutes en 3 dimensions : vitesse angulaire,
accélération et champ magnétique. En plus de la connexion filaire, elle supporte aussi
la connexion Bluetooth.52 Chapitre 3. Dispositif du visiteur
Nous avons utilisé SparkfunIMU-6DOF-V4 dans le cadre de nos expérimentations
informelles réalisées au MAM (figure 3.7). Cependant, la performance de la centrale
inertielle est limitée en terme de précision et de stabilité du biais sur les mesures, ce
qui est le principal facteur de dérive des techniques de navigation à guidage inertiel.
Plusieurs essais ont été effectués afin de réaliser le calibrage du capteur et la conversion
des mesures brutes vers des mesures fiables d’angles d’orientation (Voir Annexe A.1).
FIGURE 3.7 – Expérience informelle en utilisant Sparkfun IMU-6DOF-V4.
3.3.3 InertiaCube
Le dernier capteur d’orientation que nous avons utilisé est le InertiaCube BT 6 de
la société Intersense (figure 3.10). Il fournit en temps réel les données de l’orientation
via une interface Bluetooth standard. L’InertiaCube BT est un capteur à trois degrés de
liberté, permettant de mesurer les trois angles d’Euler : le lacet, l’élévation et le roulis,
avec une précision annoncée de 1 pour le lacet et 0,5 pour l’élévation et le roulis. La
latence moyenne du système serait de 40ms, mais cette dernière peut également varier
selon l’équipement sans fil utilisé, à l’OS et à la connexion Bluetooth. Le capteur a une
autonomie de 8 à 10 heures et a une connexion Bluetooth avec une porté allant jusqu’à
33m. Le capteur est livré avec un logiciel ISDemo permettant la gestion des mesures
du capteur. Il permet de diffuser les données de captation sur le réseau en utilisant le
protocole UDP. Il permet également de sauvegarder les données dans un fichier tampon
6. http ://www.intersense.com/pages/18/60/Section 3.4. Dispositif expérimental final 53
en local au fur est à mesure de leur réception. C’est cette dernière solution qui sera
utilisée et maintenu pour nos prochaines expérimentations formelles.
3.4 Dispositif expérimental final
Après avoir réalisé de multiples expériences informelles, et testé quelques capteurs
de mouvements, nous avons réalisé un dispositif du visiteur (logiciel et matériel) sur la
base de nos travaux théoriques décrits aux chapitre Model (chapitre 4). Ce même dispositif
a été évalué durant des expérimentations formelles décrites au chapitre Évaluation
(chapitre 5). L’architecture générale du dispositif est décrite par le schéma présenté par
la figure 3.8.
FIGURE 3.8 – Architecture générale du dispositif du visiteur de SARIM.54 Chapitre 3. Dispositif du visiteur
3.4.1 Localisation simulée (magicien d’Oz)
Puisque nous ne faisons pas de captation de position pour traquer la position des
participants, nous avons décidé de simuler l’action de la captation de position par la
technique du magicien d’Oz. Le magicien d’Oz est une technique expérimentale. Elle
est utilisée pour simuler les fonctionnalités absentes d’un système existant, ou dans un
système réel inexistant ou partiellement développé. Elle peut être utilisée également
quand la technique est difficile à mettre en place. Dans la technique du magicien d’Oz,
les participants sont mis en présence d’un système qu’ils croient réel, où une action
ou plusieurs actions sont effectuées par un "magicien" caché. Le comparse doit, tout
en restant à distance raisonnable du participant, à la fois observer l’interaction opérée
par celui-ci et jouer son rôle, sans pour autant interférer avec la tâche du participant.
L’utilisateur pense tester une interface réelle, alors que c’est une personne qui renvoie
à l’utilisateur les réponses de l’interface. Dans notre expérience, cette technique a été
utilisée pour simuler la captation de la position du participant. La simulation consiste
à ce que l’expérimentateur porte l’ordinateur sur lequel l’application de simulation est
installée. Il simule la navigation du visiteur en faisant déplacer un avatar qui représente
le visiteur, au même temps que celui-ci se déplace. Par conséquent, le visiteur entend
le son qui se déplace avec lui sans se rendre compte de ce que fait l’expérimentateur.
Pour le visiteur, sa position est traquée automatiquement par le capteur qu’il porte. A la
fin de l’expérience, une entrevue est menée par le responsable avec chaque participant
à l’expérimentation afin de déterminer si celui-ci s’est aperçu de la manipulation et à
quel moment. Il faut signaler qu’aucun participant à cette expérience n’a perçu que
l’interaction était simulée par le comparse.
3.4.2 Équipement matériel
Nous utilisons un casque 7
stéréo bluetooth de la marque Philips, modèle SHB9100,
de dimensions 14,9 x 17,8 x 7 cm et d’un poids de 0,15kg, avec une porté de 15m et
une autonomie de plus de 10h. Le format spatialisé du contenu audio qui est envoyé au
visiteur justifie le caractère stéréo du casque. Nous avons choisi un casque Bluetooth
pour ne pas encombrer les participants avec les fils. Le port du casque est confortable
grâce aux coussinets, et peut être porté durant toute la visite du musée. Ce modèle
de casque est aussi doté d’un arceau assez large permettant d’accueillir notre capteur
d’orientation InertiaCube.
Le traitement des données de géolocalisation est effectué par un logiciel installé sur
un ordinateur. L’ordinateur doit être porté par le visiteur au cours de sa visite. L’ordinateur
où est installé notre application doit être équipé de la technologie Bluetooth pour
pouvoir communiquer avec le casque et le capteur d’orientation, d’une carte graphique
7. http ://www.philips.fr/c/ecouteurs/supra-aural-noir-shb9100_00/prd/Section 3.4. Dispositif expérimental final 55
et d’une carte son, d’un processeur puissant, d’une autonomie raisonnable compatible
au besoins de l’application et doit être léger (de préférence un netbook).
FIGURE 3.9 – Dispositif SARIM
FIGURE 3.10 – Capteur
InertiaCube BT [Inc.10]
3.4.3 Architecture logicielle
Un logiciel a été conçu pour effectuer les tests de SARIM. Ces tests ont été réalisés
en se servant du capteur InertiaCube qui permet de capter l’orientation de son porteur
mais pas sa position. Il fallait intégrer au logiciel de test un outil permettant de simuler
la position suivant la méthode du magicien d’Oz. Le logiciel que nous avons développé
est composé de quatre modules principaux :
– La captation de mouvement.
– La spatialisation sonore.
– L’affichage graphique.
– La collecte d’informations.
– La lecture audio.
Le module de captation de mouvement est responsable de la récupération des données
de l’orientation de la tête transmises par le capteur InertiaCube. Notre module se
charge ainsi de récupérer ces données produits par ISDemo à partir de ce fichier tampon,
d’en extraire les trois angles d’Euler (le lacet, le tangage et le roulis) définissant
l’orientation du capteur, puis d’appliquer un filtre de Kalman sur chacune de ces trois
valeurs. Ce module s’exécute d’une manière parallèle aux autres modules à travers la
technique du multithreading. Ceci permet une communication plus efficace et évite le56 Chapitre 3. Dispositif du visiteur
blocage des autres modules dû aux latences imprévisibles susceptibles de se produire
pendant la récupération du signal.
Le module de spatialisation sonore s’occupe lui de la spatialisation du son transmis
à l’auditeur suivant sa position et son orientation. Le module se base sur la version
native de la bibliothèque FMOD conçue pour Java. Le module offre plusieurs modes de
spatialisation sonore :
La mode de spatialisation simple qui modifie la nature du son transmis à l’utilisateur
suivant sa position et son orientation.
La sonorisation par l’orientation dans ce scénario, l’auditeur écoute uniquement le
son de l’objet sonore vers lequel il est orienté.
Le mode de spatialisation composée dans ce cas, la spatialisation prend en compte la
dualité zone d’audibilité partagée/exclusive (voir la définition des zones d’audibilité
à la section 4.5.2). Elle permet d’arrêter les sons des zones partagées quand
l’auditeur est en train d’écouter le son d’une zone exclusive. Ce mode de spatialisation
a été utilisé pour l’expérimentation 1 (section 5.3).
La combinaison de la spatialisation et de la sonorisation par l’orientation ici l’auditeur
commence par écouter tous les contenus sonores suivant le scénario de la
spatialisation simple, puis dès que l’auditeur se focalise vers un objet sonore au
delà d’un certain seuil temporel (fixé à 3 secondes), il commence à entendre uniquement
le son provenant de cet objet. Puis passé un deuxième seuil temporel,
l’auditeur entend le contenu audio correspondant à la description de cet objet. Ce
mode de spatialisation a été utilisé pour l’expérimentation 2 (section 5.4).
De la même manière que le module précédent, ce module fait usage de la technique
de multithreading en faisant en sorte que chaque objet sonore soit géré par un processus
indépendant qui n’entrave pas l’exécution des autres traitements sur les autres objets
sonores.
Le module d’affichage graphique est responsable de la création du rendu visuel 2D
de la scène sonore, des zones d’audibilité exclusives et partagées liées à chacun des
objets, et de la position et de l’orientation du visiteur en temps réel. Le module récupère
l’orientation du visiteur à partir du module de captation de mouvement. Il offre
au meneur de l’exécution (dans notre cas l’expérimentateur) la possibilité de spécifier
manuellement la position du visiteur et ainsi simuler son déplacement au sein de l’environnement
sonore suivant la méthode du magicien d’Oz (Voir Image 5.1).
Le module offre deux méthodes pour spécifier la position du visiteur. La première
méthode fait usage des flèches directionnelles du clavier pour permettre à l’utilisateur
de simuler le déplacement continu du visiteur au sein de la scène sonore. La deuxième
méthode permet à travers un clic avec la souris de positionner directement le visiteur
sur un endroit particulier dans la scène sonore. Ce module est développé suivant le
patron de développement logiciel Modèle-vue-contrôleur (MVC) bien adapté pour ré-Section 3.5. Conclusion 57
pondre aux besoins des applications interactives en séparant les problématiques liées
aux trois composants.
Le quatrième module est le module de la collecte des informations de l’expérience.
Ce module, développé également suivant la technique du multithreading, traque en
temps réel l’accès du visiteur aux différentes zones d’audibilité. Il permet ainsi après
une visite de produire des fichiers de type tableur retraçant le parcours du visiteur au
sein de la scène sonore, et marquant les temps d’entrée et de sortie aux différentes zones
visitées.
Pour le programme que nous avons développé, nous avons utilisé le langage de
programmation java et la librairie NativeFmod pour le rendu sonore. le programme comporte
8966 lignes de code.
3.5 Conclusion
Ce chapitre décrit le dispositif du visiteur et les étapes par lesquelles nous sommes
passés afin de réaliser notre objectif de base qui concerne l’augmentation de la visite
du musée par la dimension sonore. Nous avons choisit la visite du musée des arts et
métiers comme cas d’étude pour les raisons suivantes :
– Le manque constaté de l’information sonore dans la présentation des œuvres du
musée.
– L’importance du son pour le type d’ œuvres exposées.
– La localisation du musée par rapport à notre lieu de travail, et la facilité d’expérimenter
dans ce musée (logistique).
– Le contenu sonore qui nous été délivré par le personnel du musée.
Nous avons présenté l’architecture matérielle et logicielle des premiers dispositifs
utilisés pour les premières expérimentations informelles que nous avons menées, puis
nous avons présenté le dispositif final adopté. Ce dispositif a été développé pour réaliser
le système de la modélisation de la visite augmentée décrit au chapitre Modèle (chapitre
4), il a servit également pour réaliser les expérimentations et évaluations décrites
au chapitre Évaluation (chapitre 5).4
Modélisation de la visite augmentée
4.1 Introduction
Modéliser une visite augmentée par la dimension sonore repose sur la description
de tous les composants qui entrent en jeu dans cette visite. Cela revient à modéliser la
scène sonore, le visiteur et sa navigation dans la scène sonore. Dans la première partie
du chapitre, nous illustrons notre objectif par des exemples de scénarios de visite
qui ont motivé ce travail. Nous avons choisi des scénarios libres et d’autres prédéfinis
à vocation ludo-éducatives. Comme scénario prédéfini, nous donnons l’exemple d’un
jeu didactique se déroulant dans la salle des automates ainsi qu’une expérience dans le
laboratoire de Lavoisier. Le parcours libre sera, illustré par une visite dans les salles de
communication qui abritent plusieurs catégories d’ouvres, une découverte du Fardier
de Cugnot, ainsi qu’une visite dans l’escalier d’honneur (section 4.2). Ces scénarios ont
pour but de guider la conception d’un modèle le plus général possible de scènes sonores
et de scénarios d’interaction pour les visites augmentées. La deuxième partie du chapitre
viendra traiter la problématique de la modélisation de la visite augmentée dans
le but de personnaliser le contenu envoyé à chaque visiteur du musée. Cette section
commence par présenter la problématique le la personnalisation du contenu en citant
quelques projets phares. Ensuite nous passons à la présentation des modèles que nous
proposons des différentes entités qui composent la visite : l’environnement de la scène
sonore sous trois couches : physique, virtuelle et sémantique (section 4.5), le visiteur
avec des informations sur son emplacement et ses gestes mais également sur ses pré-
férences et ses intérêts (section 4.6), et finalement le modèle de navigation du visiteur
dans le paysage sonore(section 4.7).60 Chapitre 4. Modélisation de la visite augmentée
4.2 Scénarios de visite
Plusieurs types de scénarios de visite peuvent être proposés. Les scénarios dé-
pendent du mode de la visite (visite libre ou prédéfinie) et de sa finalité (visite à vocation
ludique ou éducative). La visite libre signifie que le visiteur possède un "degré de
liberté" de navigation et qu’il peut choisir librement son parcours. La visite prédéfinie
signifie que le visiteur est invité à suivre un parcours guidé et défini par une chronologie
(un ordre). Toutefois, la visite prédéfinie peut avoir une part de liberté, comme la
visite libre qui peut avoir des indices de guidage. Il en est de même pour les finalités.
Une visite peut être à vocation éducative tout en offrant des éléments ou un environnement
ludique, et réciproquement. Avec les paramètres mode de la visite et finalité,
nous pouvons concevoir un nombre illimité de scénario de visite.
Nous illustrons des exemples de parcours libres et prédéfinis avec des vocations
ludo-éducatives. Comme parcours prédéfini, nous donnons l’exemple d’un jeu didactique
à la salle des automates ainsi qu’une expérience dans le laboratoire de Lavoisier.
Le parcours libre, sera illustré par une visite dans les salles de communication qui
abritent plusieurs catégories d’œuvres, et une découverte du Fardier de Cugnot, ainsi
qu’une visite à l’escalier d’honneur .
Ces scénarios de visite peuvent être classés en quatre catégories : visite prédéfinie
et éducative (didactique), visite prédéfinie et ludique, visite libre et éducative et visite
libre et ludique. Pour la première catégorie de visites : visite prédéfinie didactique, l’objectif
est de proposer un parcours où l’ordre de passage devant les œuvres est important
à des fins éducatifs. Pour cela on peut privilégier des contenus pédagogiques notamment
des enregistrements vocaux correspondant à des explications, des témoignages,
ou autre. Nous avons retenu l’exemple du laboratoire de Lavoisier. Pour le parcours
prédéfini ludique, nous proposons un jeu ludo-éducatif dans la salle des automates.
Jeu ludique parmi les automates
Le scénario proposé s’inscrit dans un parcours prédéfini à vocation ludo-éducative.
Il s’agit d’un jeu proposé au enfants qui visitent le musée, une occasion pour eux de
connaître les automates en jouant. L’expérience permet à l’enfant d’entendre toutes les
explications des automates incluses dans le parcours, et c’est également un moyen de
s’assurer qu’il n’est pas passé à cté d’un automate phare du musée. En pratique, il est
demandé à l’enfant d’identifier l’automate produisant une musique en s’en approchant.
Pour faciliter cette identification, la musique est spatialisée : le son s’adapte à la position
et à l’orientation de l’enfant. Ainsi, l’enfant est guidé par une musique localisée, ce qui
facilite la localisation et l’identification de l’automate qui la produit. Une fois l’automate
trouvé, l’enfant se voit décrire l’automate, puis, une autre musique se déclenche (un
autre automate devant être localisé).Section 4.2. Scénarios de visite 61
FIGURE 4.1 – Laboratoire de Lavoisier
Une expérience didactique dans le laboratoire de Lavoisier
Le laboratoire de Lavoisier (Figure 4.1) comporte des instruments scientifiques, notamment
deux calorimètres, deux gazomètres, deux balances de précision. Ces instruments
ont été utilisés par Antoine Lavoisier pour découvrir la composition de l’eau.
Le scénario vise à jouer l’expérience de la découverte de la composition de l’eau, par
le son, autrement dit, le visiteur reçoit des sons correspondent à chacune des étapes
de l’expérience en entendant le son produit par l’instrument qui est utilisé dans cette
étape.
Le scénario est une sorte de mise en scène sonore dédiée aux enfants, où des souris
font de la chimie pour fabriquer de l’eau. Ce scénario vise à faire connaître aux enfants
l’expérience de la découverte de la composition de l’eau menée par Antoine Lavoisier.
Dans cette mise en scène, l’enfant entendra différents types de sons : bouillonnement,
crépitement et gouttes d’eau ainsi que des commentaires audio. Les différentes étapes
de l’expérience sont illustrées par un ordre de déclenchement de son qui provient de
l’instrument utilisé dans cette étape. Le son est joué d’une manière spatialisée. Ainsi
pour illustrer par exemple l’étape de pesage de l’hydrogène, le visiteur entend un son
provenant du gazomètre se trouvant à sa droite, ce son est composé d’une séquence du
son produit si on pose une masse sur le fléau d’une balance, puis une voix dit : "on pèse
de l hydrogène". Ainsi de suite jusqu’à la fin de l’expérience. Le détail du scénario est
donné dans l’annexe.62 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.2 – Le fardier de Cugnot
Découvrir le Fardier de Cugnot
Le fardier de Cugnot (Figure 4.2) est une œuvre phare du musée, c’est une œuvre
complexe qui produit différents sons associés à chacun de ses composants 1. Par
exemple la chaudière produit un bruit, le piston et les roues aussi, l’idée est de faire
profiter le visiteur des sons produits par ses composants. Ainsi le visiteur entendra le
son produit par chaque partie du fardier comme s’il était en marche. En se rendant
près du fardier, le visiteur entendra un son mixé. Le mixage est fait à partir des sons
produits par les trois composants principaux du fardier : la chaudière, le piston, et les
deux grosses roues. Si le visiteur s’approche d’un composant particulier, il n’entendra
que le contenu sonore associé. S’il y reste pendant un certain temps, il entendra les
commentaires audio associés décrivant le composant en question. Si le visiteur est
entre deux ou plusieurs composants, il entendra le contenu audio du composant qu’il
regarde.
Jouer dans l’escalier d’honneur
L’escalier d’honneur (Figure 4.3) du MAM comporte l’aéroplane de Clément Ader
accroché au plafond, l’horloge de Constantin (première étage) ainsi que le moteur à vapeur
de l’aéroplane (deuxième étage). En bas des escaliers (rez de chaussée), se trouve
le fardier de Cugnot. Pour de nombreux visiteurs, cet escalier est un passage obligé
entre les étages plutôt qu’un lieu d’exposition. Pour valoriser ce lieu, nous proposons
le scénario suivant en associant des contenus sonores et des descriptions didactiques à
1. Une copie fonctionnelle du fardier de Cugnot a été réalisée par l’ENSAM et des entreprises
françaises en 2011 : http ://www.dailymotion.com/video/xilowlreconstruction du f ardier de
cugnottech.UXj7LL9DQ3hSection 4.3. Personnalisation du contenu 63
ces œuvres. Au pied de l’escalier, le visiteur entend le bruit de l’aéroplane lui provenant
par le haut. Lorsque le visiteur s’approche du premier étage (respectivement du
deuxième étage), il entend le bruit de l’horloge (respectivement du moteur à vapeur de
l’aéroplane) qui lui parvient de haut à gauche. S’il s’approche de l’œuvre, le volume
du bruit augmente, et s’il s’y arrête, il entend la description vocale de l’œuvre. Au bruit
des œuvres s’ajoute le pas d’une personne qui accompagne le visiteur selon qu’il monte
ou descende les escaliers. Le visiteur a la possibilité d’être accompagné : il rajoute une
personne en se plaçant à l’endroit où il l’imagine et en hochant sa tête du haut en bas
deux fois. Sinon, il continue sa visite seul. Si le visiteur court, il entend un son d’essouf-
flement qui accompagne. Ainsi, le son produit dépend des mouvements du visiteur
durant sa vitesse.
FIGURE 4.3 – Escalier d’honneur.
4.3 Personnalisation du contenu
Les systèmes qui assurent la personnalisation du contenu sont les systèmes qui ré-
pondent aux besoins de chaque utilisateur, prenant ainsi en compte par exemple ses
intérêts, ses préférences et ses connaissances de base. Ces systèmes à personnalisation
dynmique doivent être en mesure d’observer l’utilisateur et son comportement et faire
des déductions et des prédictions au sujet de ses intérêts pour lui envoyer du contenu
personnalisé approprié [Kobsa01].
La personnalisation dynamique en cours de la visite des musées nécessite des systèmes
interactifs capables de suivre le visiteur pendant sa visite et d’adapter automatiquement
le contenu audio qu’il reçoit selon son comportement.64 Chapitre 4. Modélisation de la visite augmentée
Jusqu’à présent, les projets phares modélisant dynamiquement le profil et le comportement
du visiteur sont les proejts Hips, Hippie [Petrelli01, Petrelli99, Benelli99,
Specht99, Oppermann99], peach [Stock07], ec(h)o [Wakkary07, Hatala04] et Listen
[Zimmermann08]. Ces systèmes proposent des modèles dynamiques qui se mettent
à jour automatiquement, selon trois critères : le style du visiteur, l’historique de la visite
et les intérêts du visiteur.
Le style du visiteur : le type de visiteurs dans le contexte du musée a été largement
étudié dans la littérature [Dean94, Serrell96, Sparacino02]. Véron et Levasserur
[Véron96] classifient les visiteurs selon leurs manières d’explorer une exposition
en les assxociant à des animaux. Ils déduisent ainsi le style de la fourmi qui suit
le chemin du conservateur, puis le style du poisson qui a une vue holistique (globale),
puis le style du papillon qui s’intéresse à toute l’exposition sans suivre le chemin
prédéfini par le conservateur, et finalement le style de la sauterelle qui s’inté-
resse uniquement à des expositions spécifiques. Le projet Listen [Zimmermann08]
adopte cette approche et définit le style du mouvement du visiteur comme un
comportement stéréotypé d’un visiteur du musée en définissant quatre styles de
visiteur : le visiteur déambulant qui marche doucement avec un regard promeneur,
le visiteur guidé par des objectifs qui a un mouvement direct avec la vue
dirigée vers un artefact spécifique, le visiteur debout dont le regard reste fixe sur
un objet, pui le visiteur debout flou qui demeure debout ou assis et qui est caractérisé
par un regard promeneur. Comme dans Listen, le type du visiteur est
calculé à partir de la vitesse et de l’uniformité de son mouvement. Le projet ec(h)o
[Wakkary07, Hatala04] classe les visiteurs en trois types également. Il définit le visiteur
avare, qui n’est pas précipité, et qui aime connaître le plus possible d’information,
le visiteur sélectif qui explore uniquement les objets qu’ils l’intéressent,
et le visiteur occupé qui préfère faire un tour dans le musée et avoir une idée
générale de ce qui est exposé.
L’historique de la visite : l’historique de la visite se construit à partir des objets rencontrés
par le visiteur et des sons affiliés à ces objets. Il représente le comportement
du visiteur, manifesté par son mouvement et/ou sa sélection d’objets. Dans
les projets Hippie et ec(h)o, le visiteur est muni d’une interface tangible (cube en
bois avec un bouton de sélection dans ec(h)o, et un PDA dans HyperAudio, Hips et
Hippie) qui permet au visiteur de sélectionner les objets qui l’intéresse. Concrètement,
dans ec(h)o, le système stocke les données de l’historique sous forme d’ensemble
de points discrets ( espace-temps). Dans Listen l’historique de la visite
dépend de l’œuvre que le visiteur regarde à chaque moment de la visite, et de
l’entité sonore que ce dernier écoute. Dans chaque unité de temps, les informations
selon ses deux entités sont stockées en base de données.
L’intérêt du visiteur : afin d’individualiser et de personnaliser le contenu audio pour
chaque visiteur, les chercheurs se sont interrogés sur les intérêts des visiteurs,
autrement dit comment détecter les objets du musée qui intéressent plus les vi-Section 4.3. Personnalisation du contenu 65
siteurs. Les projets ec(h)o et Listen adoptent une approche dynamique de l’inté-
rêt des visiteurs. En effet, dans le projet ec(h)o, l’intérêt du visiteur sont repré-
senté comme des concepts pondérés de l’ontologie des concepts, chaque objet
exposé est annoté avec une suite de concepts de la même ontologie. Quant au
projet Listen, il adopte l’approche heuristique de Pazzani [Pazzani97] qui suppose
que plus le visiteur passe du temps devant un objet, plus il l’intéresse. Toutefois,
cette hypothèse peut ne pas être vérifiée car il peut y avoir plusieurs raisons pour
lesquelles l’utilisateur s’arrête quelque part (présence d’obstacles par exemple).
Ainsi, les déductions erronées peuvent influer négativement sur la détermination
de l’intérêt de l’utilisateur. Pour prévenir de cette limitation, le projet ec(h)o
[Wakkary07, Hatala04], propose un modèle d’utilisateur permettant au visiteur la
sélection manuelle des objets intéressants, en plus de la captation de la position
et l’orientation des visiteur En effet, le visiteur peut sélectionner les objets qui
l’intéressent et dont il veut écouter le contenu grâce aux boutons se trouvant sur
une interface tangible que le visiteur porte durant sa visite. Le fait de sélectionner
manuellement des objets peut en effet aider à déterminer avec précision les
intérêts des visiteurs, mais l’idée d’avoir les mains libres proposée par Listen se
justifie aussi par la volonté de ne pas encombrer le visiteur et de ne pas préoccuper
son attention et ses yeux avec des boutons et une interface et de le détourner
finalement de son but essentielle qui est de regarder l’œuvre exposée.
Afin de trouver un compromis entre la méthode heuristique et la méthode manuelle
pour la détermination de l’intérêt du visiteur, nous optons pour une troisième voie pour
l’expression des intérêts qui permet de minimiser au maximum le degré d’attention
requise de la part de l’utilisateur pour interagir avec son environnement.
Le modèle SARIM que nous présentons permet aux visiteurs, qui le souhaitent,
d’exprimer leurs intérêts par le moyen de gestes simples et intuitives de tête. Bien que
nous nous basant également sur la méthode heuristique, ces gestes qui permettent au
visiteur de contrôler la scène sonore seront pris en compte dans la déduction et ainsi la
personnalisation de son parcours.
Le contrôle de la scène sonore par les gestes constitue l’une des contributions de ce
chapitre. En outre la structure du modèle général de la visite augmentée proposée est
également novatrice dans la mesure où, une telle modélisation des acteurs majeurs de la
visite augmentée n’a pas été proposée auparavant. C’est une structure qui sépare d’une
manière modulaire et efficace les trois parties du modèle ; la scène sonore, le visiteur et
la navigation. Chacune de ces parties, est elle même structurée en plusieurs couches.
Ceci permet une gestion indépendante des différentes parties, et facilite la paramétrisation
du système. En effet bien que notre système permet trois niveaux différents de
complexité de navigation (la traque, le contrôle et l’adaptation), il est devient plus aisé
de choisir le niveau de navigation le plus approprié à chaque visiteur.
La troisième contribution est l’introduction du concept de Zones d’Audibilité (ZA)
qui permettent une meilleur structuration de la scène sonore. Avec leurs caractéris-66 Chapitre 4. Modélisation de la visite augmentée
tiques géométriques et conceptuelles interactives et hiérarchiques, ces ZA permettent
de créer des scénarios à la fois riches et surprenants.
4.4 Description du modèle
La conception d’une visite augmentée par la dimension sonore nécessite le développement
d’un modèle décrit à travers ses différentes composantes. Trois entités essentielles
composent ce modèle ; la scène sonore, le visiteur, et la navigation faisant interagir
les deux premiers.
La scène sonore est l’entité décrivant l’environnement du musée. Elle est constituée
de trois différents niveaux d’abstraction. Le premier niveau représente l’environnement
physique du musée. Ce niveau est augmenté par un deuxième qui représente l’environnement
sonore virtuel. Ce dernier est lui même augmenté par un troisième niveau
représentant les caractéristiques sémantiques liées aux objets exposés et aux contenus
audio qui leurs sont attribués.
Pour sa part, le visiteur est modélisé à travers différents descripteurs personnels et
environnementaux qui le caractérisent. Ces caractéristiques sont réparties sur plusieurs
niveaux permettant de capter l’emplacement du visiteur, son comportement et ses pré-
férences et intérêts déduits à partir de l’analyse de son parcours au sein du musée.
Les différents gestes et déplacements du visiteur peuvent être interprétés en tant
qu’interactions avec la scène sonore à travers l’entité du navigation. Ce troisième composant
relie la scène sonore et le visiteur et permet de définir différents modes d’interactions
entre les deux. La complexité des interactions varie de l’analyse simple de la
position et de l’orientation du visiteur (niveau traque) pour effectuer la spatialisation
sonore, jusqu’à l’adaptation instantanée de la scène sonore (niveau adaptation) suivant
les préférences du visiteur, en passant par l’interprétation des gestes du visiteur pour
contrôler la scène sonore (niveau contrôle).
L’architecture globale du système est décrite par le schéma présenté dans la figure
4.4.
L’architecture globale de notre système diffère de celle proposée dans le cadre des
projets Hips, ec(h)o et Listen ou encore Deep Map, par la séparation des différents acteurs
majeurs de la visite augmentée. En effet, si le projet Deep Map propose un modèle visiteur
pour personnaliser le contenu, il ne propose pas de modèle de scène sonore. Les
projets Hips, ec(h)o et Listen, quant à eux, proposent des modèles de scène sonore et un
modèle visiteur qui mêlent les données concernent le visiteur et sa navigation dans le
musée. Notre modèle de visite vise à définir séparément les trois acteurs principaux, à
savoir la scène sonore, le visiteur et la navigation. Tout en proposant une spécification
pour chaque acteur.Section 4.4. Description du modèle 67
FIGURE 4.4 – Représentation de la structure de la visite68 Chapitre 4. Modélisation de la visite augmentée
4.5 Scène sonore
Le paysage sonore (en anglais soundscape), est un néologisme subjectif, résultant de
la contraction des mots landscape et sound. A l’origine, il fut défini par le canadien Robert
Murray Schafer comme un environnement de sons. Ce terme s’applique aussi bien à
un environnements physique (au sens réel) qu’à des constructions abstraites, telles que
les compositions musicales ou les montages sur bande, en particulier lorsqu’ils sont
considérés comme faisant partie du cadre de vie [Schafer10, Bosseur96].
Dans un musée proposant un système d’audioguidage, la distanciation entre l’espace
réel et l’espace virtuel est accentuée du fait de commentaires audio décrivant des
groupes d’œuvres, leurs histoires, ou par le son qu’ils produisent. Ainsi, l’entrechoquement
d’éprouvettes et les bouillonnements emplissent le laboratoire de Lavoisier au
musée du MAM et transportent le visiteur au sein d’une expérience scientifique, ce qui
peut faciliter la compréhension non seulement des d’œuvres exposées, mais aussi de
leurs histoires, de leurs fonctionnements ou de leurs utilisations.
En pratique, ce découplage entre espace réel et espace virtuel est rendu possible
grâce à un audioguide équipant le visiteur et incluant plus particulièrement un casque
audio. Ce casque offre la flexibilité nécessaire à la création d’un paysage sonore n’obéissant
pas forcément aux lois de la nature et non soumis à des distorsions sonores, et au
bruit d’environnement. Le contenu audio est ainsi contrôlable et personnalisable. D’un
point de vue architectural, et comme proposé par les modèles de Hips, et Listen le paysage
sonore peut être décomposé en plusieurs niveaux.
Dans notre modèle, nous décomposant la scène sonore en trois couches interdépendantes
:
La couche physique décrit l’environnement physique où le visiteur peut déambuler et
interagir avec le système. Elle contient toutes les informations géométriques sur
l’espace physique et les objets qui le composent.
La couche virtuelle (ou paysage sonore) est organisée sous une forme hiérarchique
qui décrit des zones virtuelles sonores.
La couche sémantique correspond à la description sémantique des zones et du son, et
à leur annotations qui sont organisées dans un thésaurus.
4.5.1 Couche physique
La couche physique est le premier niveau de description de l’environnement du
musée. Elle permet de représenter le modèle géométrique du musée, localiser les salles
d’exposition, leurs accès et leurs fenêtres. Elle permet également de positionner les objets
exposés en spécifiant leurs coordonnées, leurs dimensions et leurs formes. Elle correspond
à la couche dite Word model dans les projets Hips et Listen.Section 4.5. Scène sonore 69
4.5.2 Couche virtuelle
La notion de base du modèle acoustique du soundscape est la source sonore localisée
dans l’espace. Lorsque la position du visiteur le permet, ce dernier perçoit les sons
émis par la ou les sources sonores qui les entourent. Dans certains cas particuliers, il
paraît utile de dépasser le modèle plaquant strictement la réalité physique. En effet, il
pourrait être intéressant de créer des espaces sonores dont la distribution et la forme ne
reflète pas la propagation sphérique d’une onde sonore issue d’une source ponctuelle.
Pour ceci, et afin de maîtriser l’espace d’écoute du visiteur, nous introduisons la notion
de Zone d Audibilité (ZA) qui délimite l’espace dans lequel un son particulier est
audible. L’intérêt de cette approche par ZA est la possibilité de personnaliser l’espace
d’audibilité lié à une source sonore selon le besoin de l’application. Ainsi, il est possible
de créer des zones d’audibilité non conventionnelles (sphériques) telles que des espaces
de formes parallélogrammes ou cylindriques qui s’adaptent au mieux à la géométrie du
musée. L’autre intérêt de cette approche c’est qu’il peut a priori ne pas y avoir de lien
entre les artefacts exposés dans le musée et les ZA, celles-ci peuvent ne correspondre
à aucun objet du musé, ou plutôt à des objets "banals" présents dans le musée (porte
de secours, escaliers, vestiaire, etc). La disposition des sources sonores au sein du musée
peut être libre et aléatoire ou suivant une logique définie. Plusieurs objets exposés
peuvent être réunis dans un seul groupe et être représentés par une seule ZA qui peut
décrire la fonction ou le thème du groupe. Cette ZA peut également être divisée en
plusieurs ZA plus petites représentant chacune un objet ou une partie d’un objet particulier.
L’immersion dans un environnement de RAS peut être mieux appréciée lorsque
les auditeurs sont capables d’apercevoir simultanément des sons provenant de diverses
sources sonores. Ce qui se résume en la création d’une architecture de ZA dans laquelle
plusieurs zones sonores se recouvrent. Ces exigences nous orientent vers l’adoption
d’un modèle virtuel acoustique hiérarchique sous forme d’arbre pour la représentation
des zones d’audibilité. Une zone d’audibilité se caractérise par deux éléments distincts :
le son (soundtoplay) et l’espace (area). Cette dualité se retrouve au niveau de la spé-
cification d’une zone d’audibilité exprimée dans le langage et formalisée à l’aide de
schémas XML (listing 4.1).
Listing 4.1 – Schémas XML d’une zone d’audibilité
1
2
3
4
5
7
9
10
11
12 70 Chapitre 4. Modélisation de la visite augmentée
13
14
15
4.5.2.1 Perception sonore
L’objectif d’associer un des objets du musé des ZA peut être différent selon la nature
des objets exposés et le lieu dans lequel se positionne le visiteur. Dans certains cas, le but
du concepteur de systèmes peut être d’immerger le visiteur dans un paysage de sons
spatialisés émanant de divers objets sonorisés. Ceci peut être particulièrement intéressant
en vue de recréer pour le visiteur l’impression d’être entouré par des machines en
marche. Dans d’autres cas de figure, l’objectif pourrait être d’attirer l’attention du visiteur
vers un objet en particulier et éviter qu’il soit attiré par d’autres sources sonores
moins intéressantes. Ainsi, afin de gérer ces différentes configurations de perceptibilité
des sources sonores, nous introduisons la notion de type de perception de la ZA
(élément perception du listing 4.2 et de la ligne 6 du listing 4.1.
Nous définissons deux types de ZA :
– zone partagée (shared) : C’est une zone qui tolère les recouvrements sonores. Si
cette zone se recouvre avec une autre zone du même type, les sons provenant des
deux zones seront mixés dans leur espace de recouvrement. Le visiteur au sein de
l’intersection des deux zones pourra percevoir les contenus audio provenant des
deux sources sonores différentes.
– zone exclusive (standalone) : le son de cette zone ne peut être mixé avec un autre
son provenant d’une autre source sonore.
Listing 4.2 – Perception
1
2
3
4
5
6
4.5.2.2 Géométrie de la zone d’audibilité
Une zone d’audibilité peut avoir une géométrie particulière au sein de laquelle un
contenu audio spécifique est joué. L’espace (area) occupé par cette zone peut prendre
différentes formes (shape). Plus généralement, comme le montre son schéma XML (listing
4.3), une surface (de type areatype) peut être dépeinte à partir d’un ensemble
(lignes 1-6) de formes simples (de type shapetype). Une ZA prend la forme d’un sphé-
roïde, d’un prisme, d’un cylindre, etc (spheroide, prism, cylindroide).Section 4.5. Scène sonore 71
Listing 4.3 – Schémas XML d’une surface
1
2
3
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
4.5.2.3 Organisation des zones d’audibilité
Pour chaque objet, on peut attacher une zone dans laquelle un son associé à cet
objet est perceptible par un visiteur dans la zone. Une zone peut aussi être associée à
un groupe d’objets, le contenu sonore dans ce cas peut être la description de la fonction
globale ou du thème de ce groupe. En outre, il peut être utile de pouvoir créer
des ZA élémentaires à l’intérieur d’une ZA de groupe où chacune correspondant à une
source sonore particulière. Il serait ainsi possible de décomposer la ZA du soundscape
du musée en sous éléments correspondant aux salles de ce musée, puis aux îlots d’objets
présentés dans les salles, puis éventuellement aux parties de ces objets, si ils sont
volumineux et complexes. L’ensemble défini ainsi un arbre, semblable aux graphes de
scènes utilisés en synthèse d’image.
L’ensemble des zones d’audibilité forment le paysage sonore dans lequel évolue
le visiteur. Les zones d’audibilité peuvent se juxtaposer les unes avec les autres. Dans
l’absolu, ces zones pourraient être organisées de différentes manières.
Chacune des zones est contenue dans une zone mère, à l’exception de la racine
de l’arbre. La figure 4.5, illustre un exemple du modèle hiérarchique. Le Fardier est
associé à une zone mère (f ardier), qui contient des zones filles qui délimitent les parties
du Fardier, notamment la chaudière, le piston, et les roulements. Chacune des zones
produit un son particulier, et par conséquent mérite d’être traitée à part.72 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.5 – Représentation hiérarchique des zones d’audibilité sur le fardier de Cugnot
4.5.2.4 Diffusion du son
Fondamentalement, la perception spatiale d’un son implique la présence d’un axe
de référence qui dans notre cas correspond au visiteur : la spatialisation du son est
adaptée en fonction de sa position et de son orientation.
Le point de référence à partir duquel sont calculées la direction (les angles) et la
distance, se situe au niveau de la tête du visiteur. La source du son est quant à elle, localisée
en fonction de la distance la séparant du visiteur (distance perçue) et des angles
d’Euler calculés par rapport à son vecteur visuel : lacet, élévation, roulis. La perception
d’une source est en cela multidimensionnelle. En pratique, un son se caractérise par
une source 2
, un médium dans lequel le son se propage et une destination (listener) correspondant
ici au visiteur. Ce médium sous-entend un (voir plusieurs) chemin(s) de
propagation entre la source et le visiteur. Le son est de nature omnidirectionnel : il se
propage indépendamment de sa direction et tend à former un champ sphérique (le son
étant identique sur tous les plans perpendiculaires à sa direction de propagation et s’atténue
en fonction de la distance), et cela, à moins qu’une surface réfléchissante ou qu’un
bruit n’altère sa propagation.
Listing 4.4 – Types de son
1
2
3
4
5
6
2. Bien que plusieurs sources puissent être à l’origine d’un son, il est plus simple de le décrire comme
résultant d’une seule source.Section 4.5. Scène sonore 73
Le type de diffusion du contenu audio à l’intérieur de la zone définit si le son est
spatialisé ou non (valeurs spatialised ou uniform qualifiant le type de ”sound” dans le
listing 4.4). L’option spatialisé signifie que le contenu est délivré de manière binaurale.
Il est caractérisé par une source dont la position est donnée (élément location exprimant
les coordonnées cartésiennes de la source), ce qui signifie que les paramètres psychoacoustiques
du contenu sonore sont adaptés suivant la position de cette source.
Listing 4.5 – Types de son
1
2
3
4
5
7
Au contraire, un son uniforme est omnidirectionnel, non localisé, et n’est donc pas
délivré au format binaural. Cette diffusion est appropriée dans le cas d’un contenu
audio lié à un ensemble d’objets ou à une salle du musée.
D’autres caractéristiques du son sont ici définies (comme par exemple, la répétition
du son, et la latence entre deux répétitions).
L’ensemble des sons forme une collection sonore exploitée pour former un paysage
sonore correspondant ici à une visite augmentée. Ces collections composées de zones
d’audibilités peuvent être annotées de façon à former un catalogue. Une fois ses collections
annotées, classifiées par thème et catégorisées, la description résultante pourra
être exploitée pour identifier facilement des groupes distincts de zones d’audibilité. Et
ainsi les classifier selon le choix du visiteur.
4.5.3 Couche sémantique
L’espace du musée se décline par sujet et thématique plutôt que par une organisation
géométrique ou architecturale.
Chacune des zones d’audibilité peut être décrite par un ensemble de descripteurs
correspondant à la fois à l’objet (aux objets) se trouvant dans cette zone, mais également
au son diffusé dans cette zone. Certaines ZA peuvent se partager les mêmes descripteurs,
surtout dans le cas où les objets associés à ces ZA assurent les mêmes fonctionnalités,
ou quand les sons associés ont les mêmes caractéristiques. Il est ainsi essentiel
d’assurer la compatibilité et l’interopérabilité du point de vue de la sémantique de ces
descripteurs et de dépasser l’ambiguïté du langage naturel dans la description des ZA.
Un thésaurus constitue un élément utile pour décrire de façon structurée des informations
sous la forme d’un ensemble de concepts représentés par des termes. Les
termes d’un thésaurus sont organisés hiérarchiquement, ce qui permet d’adapter la pré-74 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.6 – Exemple d’un thésaurus
cision lors de l’indexation et de la recherche. Les thésaurus sont souvent utilisés pour
indexer des documents ou des objets dans une banque de données bibliographiques.
Se référer à un thésaurus existant permet d’homogénéiser l’indexation puisque celle-ci
ne dépend plus de la culture ou du domaine de l’indexeur. De nombreux thésaurus ont
été établis. Parmi les plus connus, nous pouvons citer Motbis 3, un thésaurus édité par
le Ministère de l’Éducation nationale en France et portant sur le domaine de l’enseignement
général. Trois types de relations unissent les termes d’un thésaurus :
– une relation hiérarchique stricto sensu reliant un terme générique à un terme spé-
cifique,
– une relation d’équivalence reliant deux termes synonymes,
– une relation d’association reliant deux termes sémantiquement connexes.
A des fins de simplification, et puisque les thésaurus utilisés seront développés pour
un nombre limité d’objets, nous utilisons uniquement des relations hiérarchiques pour
relier les termes. Nous utilisons la notion de thesaurus pour décrire la structure des
concepts décrivant les objets des ZA et aussi les concepts décrivant les contenus audio.
La figure 4.6 illustre un exemple de thésaurus composé d’un ensemble de concepts
correspondant à une partie des objets exposés dans le musé, et la figure 4.7 représente
un thésaurus permettant de donner une idée sur les concepts qui décrivent les différents
contenus sonores proposés aux visiteurs.
Comme le montre le listing 4.6, un thesaurus portant sur les sujets ou les sons (thesaurus)
est organisé hiérarchiquement ; chaque concept dispose donc d’un père (attribut
parent du listing 4.7).
Listing 4.6 – Schémas XML d’un thésaurus
1
3. http ://www.cndp.fr/thesaurus-motbis/site/index.phpSection 4.5. Scène sonore 75
FIGURE 4.7 – Exemple d’un thésaurus du contenu sonore
2
3
5
6
Listing 4.7 – Schémas XML d’un concept
1
2
3
4
5
6
A titre d’illustration (listing 4.8), la zone d’audibilité correspondant au fardier de
Cugnot est décrite par les concepts automobile, transport, moteur à vapeur, 1750-1850.
Listing 4.8 – Description XML
1
2
3
4
5
6
La couche physique proposée dans notre modèle de visite est similaire au Word model
dans les projets Hips et Listen, quant à la couche virtuelle, elle est basée sur la notion
de zone d’audibilité (voir la section 4.5.2), qui constitue le noyau de cette couche. Une76 Chapitre 4. Modélisation de la visite augmentée
ZA est définie comme le moyen pour délimiter, dans un espace 3D, la diffusion d’un
son. C’est plus sa géométrie en 3D, la capacité d’organisation de ZA (intersection, et
d’hiérarchie), ses caractéristiques de diffusion du son (centralisé ou pas autours d’une
source sonore), son type (partagée ou exclusive) qui fait de cette ZA une notion novatrice
qui n’a pas été traité auparavant dans la littérature. Par ailleurs, une fois annotées
et classifiées par thèmes, ces collections sonores formées par l’ensemble des zones
d’audibilités et des sons affiliés peuvent être exploitées sous la forme de catalogues (au
travers d’un thésaurus). Ainsi, leur exploitation s’en trouve-t-elle facilitée.
4.6 Visiteur
Bien qu’il soit impossible de modéliser un visiteur dans son contexte général, il est
nécessaire de proposer un modèle comportemental traçant son évolution au sein du
musée.
Tout comme le projetec(h)o, le modèle du visiteur dans le projet Listen se compose de
trois parties : l’historique de la visite, le type du visiteur analysé à partir de son style de
mouvement, et les intérêts du visiteur. Dans notre cas, afin d’étudier le comportement
du visiteur, il est nécessaire de traquer son activité au sein du musée. C’est à dire son
déplacement, ses arrêts, son focus (les objets qu’il regarde), et ses gestes pour pouvoir
construire son profil.
Nous procédons à la création du modèle du visiteur suivant différents étapes et
niveaux. Chaque étape se conclue par la définition de différents descripteurs qui permettent
de distinguer les caractéristiques du visiteur (Figure 4.8) :
Profil du visiteur. A son arrivée au musée, le visiteur est invité à communiquer des
informations le concernant (§4.6.1). Seules quelques informations sont demandées
de façon à ce que ce feedback soit limité. A partir de ces informations, qui
constituent le profil du visiteur, des hypothèses concernant les caractéristiques de
celui-ci sont faites de façon à aiguiller le visiteur vers des parcours de visite qui
pourront l’intéresser.
Captation spatiotemporelle. La position du visiteur au sein du musée est continuellement
analysée sur la base de son déplacement, de son orientation et de sa vitesse
du mouvement.
Captation gestuelle et acoustique. Sur la base d’un modèle formel de descriptions de
gestes, les mesures issues du niveau de la captation spatiotemporelle sont analysées
pour inférer les gestes que le visiteur réalise pendant son déplacement. Ses
mesures sont également utilisées pour déduire la ZA dans laquelle se trouve le
visiteur, ainsi que l’objet que le visiteur regarde. Ceci est réalisé en se basant sur
le modèle virtuel acoustique de la section (§4.5.2)
Signature d’intérêt. A partir du profil du visiteur et des informations acquises dynamiquement
à partir de son comportement, des hypothèses concernant les préfé-Section 4.6. Visiteur 77
rences du visiteur peuvent être inférées. En pratique, ces hypothèses permettent
d’établir un modèle de visiteur, appelé signature d’intérêt, (§4.6.4) à partir de laquelle
la personnalisation ou l’adaptation du parcours est effectuée au fur et à
mesure que le visiteur découvre de nouvelles œuvres (section §4.7).
FIGURE 4.8 – Le modèle du visiteur.
En outre la couche gestuelle est ajoutée, ce qui permet de capter et interpréter les
gestes des visiteurs pour une meilleure personnalisation du contenu envoyé à chaque
visiteur. Par ailleurs , si l’historique de visite dans Listen a comme objectif d’empêcher la
lecture répétitive du même contenu audio. Dans notre modèle, celui-ci a deux objectifs :
recalculer la signature des intérêts du visiteur (voir section 4.6.4) qui permet d’adapter
son parcours pendant la visite, puis de garder des traces pour les visites postérieurs.
Dans une deuxième visite, le visiteur aura le choix entre prendre en considération ses78 Chapitre 4. Modélisation de la visite augmentée
préférence durant la précédente visite, soit de partir sur une nouvelle expérience de visite
qui va recalculer à nouveau une nouvelle signature d’intérêts. En outre, dans Listen
l’historique est un simple log (fichier) qui trace l’identificateur de l’objet, l’identificateur
du son et le temps. Dans notre modèle du visiteur, l’historique constitue une base de
donnée qui sauvegarde les comportements du visiteur durant sa visite.
4.6.1 Profil
En amont de la visite, le visiteur est invité à communiquer des informations le
concernant, telles que son âge, sa langue, ses centres d’intérêts, les domaines qu’ils
l’intéressent parmi ceux du musée (comme exprimé au sein du thésaurus), et s’il s’agit
ou pas de sa première visite du musée. Ces données sont utilisées afin de sélectionner
le parcours le plus adapté comme par exemple le parcours ludique destiné aux enfants,
parcours pour adulte, amateur ou expert. Ces informations permettent également de
configurer l’audio-guide en fonction de la langue par exemple, et du fait qu’il s’agisse
ou non d’une première visite. Notons que le fait qu’un utilisateur ne soit pas porté à
effectuer des actions pour lesquelles il ne perçoit pas d’intérêt ou de bénéfice immédiat
est un phénomène connu depuis plusieurs décennies dans le domaine des interfaces
homme-machine [Carroll87]. Ainsi, la quantité d’informations demandée à l’utilisateur
doit-elle être réduite au minimum ou obtenue par des méthodes indirectes. Par ailleurs,
les intérêts d’un visiteur sont amenés à varier durant sa visite du fait de sa navigation
dans le musée et de ses découvertes. Or, demander un feedback au visiteur durant sa
visite, ou encore, requérir qu’il attribue des scores, négatifs ou positifs, aux œuvres l’intéressant
ou non, ou encore qu’il mette à jour ses centres d’intérêts ne constitue pas une
solution viable. Il est ainsi plus approprié d’observer les interactions, et sa navigation
dans le musée, sans pour autant être (ou paraître) intrusif ou encore entraver sa liberté
de mouvement, de façon à en inférer dynamiquement les intérêts dudit visiteur.
4.6.2 Captation spatiotemporelle
Traquer le visiteur consiste à définir sa position et son orientation de façon à en
déduire son vecteur visuel, sa vitesse de déplacement et de rotation. Plus simplement,
il s’agit de répondre aux questions suivantes : où est le visiteur ? dans quelle direction
regarde-t-il ? à quelle vitesse il se déplace ? et à quelle vitesse il tourne sa tête ?
La position du visiteur à l’instant t est exprimée par les coordonnées cartésiennes
(x(t), y(t), z(t)). L’orientation quant à elle est définie par les trois angles d’Euler : le
lacet, le tangage et le roulis
A partir de la position et de l’orientation, sont établies la vitesse de déplacement
V(t) et la vitesse angulaire ω(t).Section 4.6. Visiteur 79
4.6.3 Captation gestuelle et acoustique
Les différentes mesures calculées au niveau de la captation spatiotemporelle sont
analysées pour déduire des informations concernant les gestes que le visiteur réalise
avec sa tête. Ces gestes peuvent être utilisés comme moyen d’interaction avec la scène
sonore pour contrôler le flux audio ou pour répondre aux questions posées à travers
l’audioguide (voir section 4.7.2).
L’administrateur du système a ensuite la possibilité de définir autant de gestes qu’il
le souhaite en utilisant les descripteurs élémentaires qui sont le temps, et les trois angles
d’Euler. Dans notre cas, la définition se fait à travers des diagrammes UML exploitables
par le système. Un exemple de définition de gestes est décrit par la figure 4.9.
Les gestes sont définis à travers un langage à base de règles qui permet de décrire
un geste en se basant sur des indicateurs du niveau inférieur tels que l’orientation, la
vitesse, le temps, etc. Par exemple, les gestes suivants peuvent être définis :
Réponse négative (dire_non) (Figure 4.9) : mouvement 4 rapide allant de gauche à
droite révélé par un changement prononcé du lacet.
Réponse affirmative (dire_oui) de haut en bas révélé par un changement de l’élé-
vation.
Expectative (ou peut être) ((balancerTte)) correspondant à une variation du roulis.
En plus des informations de captation gestuelle, les informations sur le positionnement
du visiteur au sein de l’environnement acoustique virtuel sont collectées. Deux
informations importantes sont requises, la (ou les) zone(s) d’audibilité dans laquelle
(lesquelles) se trouve le visiteur, et l’objet le plus proche du vecteur visuel du visiteur
(le focus). Ceci est fait en se basant sur le modèle acoustique de la scène sonore défini
précédemment. Une fois collectées, ces informations de captation sont sauvegardées
dans un historique en vue d’une exploitation on-line c’est-à-dire effectuée au cours de
la visite ou de la conception ou encore d’une exploitation off-line c’est-à-dire ultérieure
et permettant d’établir des statistiques. Dans les deux cas, cet historique est utile à l’établissement
des centres d’intérêt de chaque visiteur.
4.6.4 Signature d’intérêt
La signature d’intérêt est une notion introduite pour repérer les préférences du visiteur
par rapport aux différentes catégories et classes d’objets et de contenus sonores
présentés à travers la couche sémantique du modèle de la scène sonore. En effet, après
la constitution d’une première idée sur les intérêts du visiteur lors de la création de
son profil, un parcours prédéfinit est proposé au visiteur. Cependant, ce parcours peut
contenir des classes d’objets ou de contenus sonores qui n’intéressaient guère le visiteur,
et sur lesquels le visiteur n’aimerait pas s’attarder. De la même manière, le par-
4. Une adaptation par rapport à la langue de visite est envisageable afin d’adapter la signification du
mouvement à la culture du visiteur.80 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.9 – Diagramme d’états-transitions du geste ”réponse négative”Section 4.6. Visiteur 81
cours pourrait contenir un petit nombre d’objets appartenant à une classe précise qui
intéresserait le visiteur et pour laquelle il aimerait découvrir plus d’objets.
L’objectif est ainsi d’établir dynamiquement, et pour chaque utilisateur, une liste
de préférences détaillant pour chaque classe d’objets ou de contenus sonores un score
d’intérêt reflétant l’importance qu’elle représente pour le visiteur.
C’est ce que nous avons appelé par la suite une signature d’intérêt. Cette liste est
inférée à partir des informations de captation : zone d’audibilité activée, le focus, la
durée et aussi les gestes collectés durant la visite (voir la section 4.6.5).
Signature d intérêt = {(tag,valeur) où tag {concepts du thésaurus} et val N}
La figure 4.10 montre dans un diagramme de classe UML la liaison entre le visiteur
et les tags du thésaurus de la couche sémantique de le scène sonore.
FIGURE 4.10 – Liaison entre le visiteur et les tags du thésaurus.
Nous nous inspirons de l’approche de Pazzani [Pazzani97] qui a observé que l’inté-
rêt que porte un visiteur à un objet est déterminé par le temps passé à le regarder. Le
fait de fixer un seuil de temps permet de discrétiser les œuvres particulièrement inté-
ressantes. En pratique, si le visiteur se trouve dans une zone pendant une durée supé-
rieure à un seuil donné, ou encore si le visiteur fixe la zone (pour une durée supérieure
au seuil), alors le visiteur est supposé apprécier le contenu de cette zone. Au niveau
de la dépréciation, plusieurs choix subsistent et sont sujets à discussion et évaluation.
Le fait de ne pas passer de temps devant une œuvre ou quitter l’œuvre avant que le
contenu audio associé soit terminé ou d’éviter une salle peut être considéré comme
une dépréciation, ainsi que le geste d’interrompre le contenu audio. En tant que telles,
ces informations ne peuvent être exploitées afin de déterminer les centres d’intérêts de
l’utilisateur. Elles doivent être confrontées à des domaines, et des types de contenus
audio.
Dans cette optique, nous nous basons sur les concepts définis à priori, organisés
dans le thésaurus sous une forme hiérarchique en annotant les zones d’audibilité. L’annotation
est effectuée non pas uniquement au niveau des sujets des zones mais aussi au
niveau des contenus sonores associés. En effet, le visiteur peut manifester son intérêt
ou désintérêt pour une zone sans que le système sache si le visiteur juge le sujet de la82 Chapitre 4. Modélisation de la visite augmentée
zone ou le son l’accompagnant. C’est pour cette raison qu’un traitement supplémentaire
est effectué pour distinguer l’intérêt/désintérêt du visiteur par rapport au sujet de
celui par rapport au son (figure 4.11 ). Ainsi si l’algorithme déduit que l’utilisateur apprécie
un sujet (resp. un son) particulier associé à une ZA, les scores d’intérêt des tags
décrivant ce sujet (resp. ce son) seront tous relevés de 1. Au contraire, si l’algorithme
déduit que l’utilisateur montre un désintérêt, les scores des tags correspondants seront
diminués de 1.
FIGURE 4.11 – Analyser les préférences.
4.6.5 Historique
L’historique du visiteur est analysé et stocké durant et après la visite. Il dépend
des paramètres zone, focus et position. L’historique s’alimente à partir des différents
descripteurs du visiteur. Comme le profil, qui à son tour, s’alimente dynamiquement
de l’historique (relation de va et vient).
L’historique de la visite qui n’est rien d’autre qu’une base de données, qui est renseignée
au fur et à mesure de la visite.
Un démon, qui est exécuté en arrière plan, analyse en permanence les positions et
orientations du visiteur. Il se base sur les la couche acoustique de la scène sonore ainsi
que sur l’ensemble des définitions de gestes pour calculer directement les descripteurs
de la deuxième couche du modèle du visiteur, qui sont la zone ayant le focus, la zone
dans laquelle se trouve le visiteur, et le geste effectué par le visiteur. La figure 4.12
représente un diagramme de classe modélisant les classes qui participent dans la création
de l’historique. A chaque opération de mise à jour des tables Focus_Vers_Zone,Section 4.7. Navigation 83
ET_Dans_Zone, et E f f ectuer_Geste des préférences du visiteur, le même démon réévalue
les valeurs de la table Avoir_score_dInteret suivant l’algorithme de l’analyse des
préférence décrit par la figure 4.11.
FIGURE 4.12 – Diagramme de classe de l’historique.
Ainsi le modèle du visiteur (Figure 4.8) organisé par couches dont les niveaux de
descripteurs vont du plus basique (captation, profil) aux niveaux les plus élevés (signature
d’intérêt) permet d’adapter et de personnaliser à la fois le paysage sonore mais
aussi plus généralement le parcours et la visite.
4.7 Navigation
Le modèle de navigation décrit les traitements réalisés en réponse aux comportements
du visiteur lors de sa visite du musée. Il vise à interpréter les actions du visiteur
pour interagir avec la scène sonore.
La navigation du visiteur dans les 2 projets ec(h)o et Listen est structurée en deux
niveaux :84 Chapitre 4. Modélisation de la visite augmentée
Niveau 0 : appelé aussi macro chez ec(h)o et contrôles continus chez Listen, c’est le
niveau où le visiteur interagit avec le paysage sonore uniquement par son mouvement,
notamment sa position et/ou son orientation qui sont traquées automatiquement.
Niveau 1 : appelé micro chez ec(h)o et événement chez Listen, il s’agit du niveau le
visiteur interagit avec le paysage sonore par la sélection directe(ec(h)o), ou passer
du temps devant le même objet( Listen).
Dans notre modèle de navigation, le flux audio diffusé au visiteur, le paysage sonore
dans lequel il évolue, et le parcours de visite qu’il emprunte sont modifiés suivant son
déplacement, sa gestuelle et ses préférences.
Trois modes d’interaction sont alors définis dans ce modèle :
Traque : c’est la mise à jour continue du contenu audio spatialisé diffusé au visiteur
qui se base sur la position et l’orientation de ce dernier au sein de la scène
sonore.
Contrôle : il s’agit du fait de donner à l’utilisateur la possibilité de contrôler, la
diffusion sonore indépendamment du fonctionnement prévu par la spatialisation,
en lui permettant de contrôler le volume, d’activer ou désactiver des objets de son
parcours, ou de stopper la diffusion d’un contenu audio, à travers des gestes.
Adaptation : il s’agit de l’exploitation de la signature des intérêts pour adapter
le parcours du visiteur sur la base de ses préférences inférés au cours de son
parcours.
Les trois modes sont organisés de manière concentrique de façon à ce que chaque
mode satisfait également la fonction de celui qu’il contient.
4.7.1 Traque
La traque est le premier noyau de navigation où le visiteur interagit avec le paysage
sonore uniquement à travers son déplacement dans les salles du musée. En effet,
la position du visiteur et son orientation, lui permettent de recevoir le contenu spatialisé
adapté à son déplacement. L’intérêt de ce mode est d’immerger le visiteur dans le
paysage sonore du musée et créer un environnement sonore qui interagit avec le mouvement
du visiteur.
Le protocole du mode Traque est donné par la figure 4.13 et le diagramme d’activités
(figure 4.14). Ce protocole se base sur la notion de zone d’audibilité qui délimite
l’espace dans lequel le son est entendu par le visiteur. Si un visiteur se trouve à l’inté-
rieur de l’espace géographique délimité par une zone d’audibilité, alors cette dernière
est activée. Rappelons que les zones d’audibilité sont appelées à se juxtaposer les unes
avec les autres, ce qui requiert de composer les sons en résultant. Ainsi, un visiteur peut
se trouver dans une zone géographique à l’intersection de deux zones d’audibilité, Aj
et Ak (j = k), qui se juxtaposent et partagent toutes deux la même zone mère Ai, c’est-à-Section 4.7. Navigation 85
dire que visiteur Ai Aj Ak. Dans ce cas (listing 4.9), nous devons différentier deux
cas :
– Aj et Ak sont de type partagées (lignes 1-3 du listing 4.9).
En d’autre termes, Aj.perception = shared et Ak.perception = shared. Dans ce
cas, les sons (mixés) correspondant aux deux zones sont entendus par le visiteur
(Aj k.sountoplay),
– Aj et Ak sont toutes deux exclusives (lignes 5-7 du listing 4.9).
Ainsi, Aj.perception = standalone et Ak.perception = standalone. Un seul son est
entendu par le visiteur (Aj k.sountoplay), soit celui correspondant à la zone Aj
soit celui de Ak : Aj k.sountoplay . Dans les faits, il s’agit de celui regardé par le
visiteur.
– Dans le cas où l’une des zones serait exclusive (lignes 10-12 du listing 4.9) - notons
5 cette zone Aj - et l’autre zone Ak serait partagée, alors comme dans le cas
précédent seule la zone regardée par le visiteur est entendue de façon à se prémunir
d’un son non audible provenant par exemple du mixage de deux dialogues.
Listing 4.9 – Contrôle des zones d’audibilités
1 IF ( visiteur Aj Ak) Aj.perception = shared
2 Ak.perception = shared
3 DO Aj k.sountoplay
4
5 IF ( visiteur Aj Ak) Aj.perception = standalone
6 Ak.perception = standalone
7 DO Aj k.sountoplay
8
9 IF ( visiteur Aj Ak) Aj.perception = standalone
10 Ak.perception = shared
11 DO Aj.sountoplay
Les relations existantes entre une zone parent Ai et une zone fille Aj sont assez
proches.
– Ai et Aj sont partagées (lignes 1-3 du listing 4.10). Dans ce cas, le son de la zone
fille est en premier plan (in Background Ai.sountoplay ) alors que celui de la zone
mère est joué en arrière plan (in foreground Ai.sountoplay),
– Ai et Aj sont toutes deux exclusives (lignes 5-7 du listing 4.10), le son dont la zone
est regardée est entendu.
– Si une zone est exclusive (lignes 9-11 du listing 4.10) et l’autre est partagée, seule
la zone regardée par le visiteur est entendue.
Listing 4.10 – Contrôle des zones d’audibilités
1 IF ( visiteur Ai Aj) Ai.perception = shared
2 Aj.perception = shared
5. sans manque de généralité86 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.13 – Protocole de la navigation en mode Traque dans le paysage sonore
3 DO in Background Ai.sountoplay in foreground Ai.sountoplay
4
5 IF ( visiteur Ai Aj) Ai.perception = standalone
6 Aj.perception = standalone
7 DO Ai j.sountoplay
8
9 IF ( visiteur Ai Aj) Ai.perception = standalone
10 Aj.perception = shared
11 DO Ai j.sountoplay
4.7.2 Contrôle
Le mode Contrôle est un mode qui englobe celui de la Traque, mais qui permet un
contrôle plus avancé du paysage sonore à travers des interactions volontaires du visiteur.
En effet, en plus de réaliser le suivi du déplacement du visiteur et la spatialisation
du contenu audio qui lui est diffusé, ce mode autorise le visiteur à contrôler le paysage
sonore par des gestes simples de sa tête. Ce mode d’interaction qui est basé sur les
gestes de la tête, a été adopté pour sa simplicité et son aspect intuitif. Ainsi, il permet à
l’utilisateur de garder ses mains libres sans l’encombrer avec des dispositifs technologiques
qui éloigneraient son attention des œuvres exposées et des sons diffusés. Aussi,
disposer d’un système qui capterait les trois angles d’Euler correspondant aux diffé-Section 4.7. Navigation 87
FIGURE 4.14 – Protocole de la navigation dans le paysage sonore en mode traque88 Chapitre 4. Modélisation de la visite augmentée
rents mouvements de la tête du visiteur offrirait une large expressivité qu’on pourrait
exploiter pour définir un pseudo langage d’interaction entre le visiteur et le paysage
sonore.
Le mode Contrôle est modélisé au travers d’un langage déclaratif (en anglais declarative
rule based language for expressing contraints) qui se prête à l’expression de règles
et de contraintes. Une règle est exprimée sous le format suivant (listing 4.11) : dans
un contexte donné (context), une condition particulière (condition) mène à une action
(action) possiblement répétitive (WHILE (parameters)).
Listing 4.11 – Règle de contrôle
1 IN ( context ) , IF ( condition ) WHILE ( parameters )
2 DO ( action )
Nous souhaitons que la visite reste le plus possible naturelle et que l’interaction se
rapproche au maximum de l’implicite que de l’explicite. Nous voulons éviter d’exiger
des visiteurs la réalisation des gestes complexes qui pourrons les incommoder pendant
la visite.
En effet, l’objectif est de composer un langage assez expressif qui permet d’exprimer
un maximum de commandes. Ceci devra être fait en utilisant des gestes simples
et élémentaires que les hommes emploient en général pour exprimer rapidement des
prises de positions. Ces gestes, comme expliqué dans la section 4.6.3, peuvent être :
dire_oui en levant la tête et baissant la tête, dire_non en tournant la tête de gauche à
droite, balancer_Tte en la faisant pencher la tête de droite à gauche. Des arrêts prolongés
devant les objets peuvent être également interprétés comme un geste et pourra être
utilisé dans l’interaction avec l’environnement sonore.
Le concept de contexte est ainsi introduit comme étant un contexte d’interactivité
avec l’environnement sonore. Dans chaque contexte l’interprétation des gestes réalisés
par le visiteur peut être différente. Le visiteur pourra naviguer par un geste simple et
unique balancer la tête. Il peut ensuite sélectionner un contexte par un geste de dire oui
après une éventuelle demande de confirmation audio. Il accède ainsi à une interaction
par gestes pour contrôler l’environnement sonore.
La figure 4.15 montre un exemple d’une carte de navigation par les gestes que le
concepteur peut définir à travers les règles de contrôle.
Nous définissons 4 contextes :
– Le contexte Normal_visit qui renvoie vers le mode par défaut d’une visite. Dans
ce contexte, trois gestes du visiteur vont être interprétés comme interactions avec
la scène sonore. Le geste dire_Oui permet d’activer la ZA associée à un objet devant
lequel est arrêté le visiteur et qui correspond le plus au profil du visiteur. Le
geste dire_Non permet de stopper la diffusion du son de la ZA courante. Le geste
Arrêt_Prolongé permet d’activer la ZA courante et de l’inclure dans le parcours du
visiteur si elle est initialement inactive.Section 4.7. Navigation 89
FIGURE 4.15 – Exemple d’une carte de navigation par les gestes
– Le contexte Control_volume qui renvoie vers le mode de contrôle de volume
de diffusion. Deux gestes permettent de contrôler le volume : le geste
pencher_A_Droite qui permet d’augmenter le volume, et le geste pencher_A_Gauche
qui permet de le diminuer.
– Le contexte Ambiant_visit qui renvoie vers un mode dans lequel toutes les ZA
dont le son à un autre type que l’ambiant sont désactivées. Les gestes interpré-
tables restent les mêmes que ceux du contexte Normal_visit, et les actions en dé-
coulant sont les mêmes également.
– Le contexte Speech_visit qui renvoie vers un mode dans lequel toutes les ZA dont
le son à un autre type que l’ambiant sont désactivées. Les gestes interprétables
restent les mêmes que ceux du contexte Normal_visit, et les actions en découlant
sont les mêmes également.
Le concepteur a ensuite le choix de définir d’autres modes d’interaction.
Les actions pouvant être utilisées sont principalement celles qui permettent l’arrêt
de la diffusion d’un son associé à une ZA (action 1), le déclenchement d’un son associé
à une ZA (action 2), l’ajout d’une ZA dans le parcours d’un visiteur (action 3) ou sa
suppression du parcours du visiteur (action 4), augmenter le volume de la lecture des
contenus audio (action 5) ou le baisser (action 6), le changement du contexte d’interactivité
(action 7), et finalement la création d’un nouveau contexte (action 8).
Listing 4.12 – Actions entreprises sur le paysage sonore90 Chapitre 4. Modélisation de la visite augmentée
1 1 . setStoped ( V i s i t o r . tour , ZA)
2 2 . s e t P l a y i n g ( V i s i t o r . tour , ZA)
3 3 . add ( V i s i t o r . Tour , ZA)
4 4 . remove ( V i s i t o r . Tour , ZA)
5 5 . volume_up ( V i s i t o r . tour )
6 6 . volume_down ( V i s i t o r . tour )
7 7 . setMode ( Control_volume )
8 8 . createMode (new_Mode)
Les exemples suivant décrivent la définition de règles de différents types. Le listing
4.13 sont les règles qui permettent au visiteur de contrôler le volume du son diffusé. Le
listing 4.14 décrit les règles qui permettent l’arrêt et le déclenchement de sons associés
au ZA visités par le visiteur suite à ses gestes, et éventuellement le rajout des ZA dans
son parcours de visite. Finalement, le listing 4.15 décrit les règles qui permettent de
naviguer entre les différents contextes d’interactivité tel que définit dans la figure 4.15.
Listing 4.13 – Règles de contrôle pour régler le volume
1 IN Control\_volume , IF ( T i l t R i g h t ( V i s i t o r , time ) )
2 WHILE TRUE DO ( volume\_up ( V i s i t o r . tour ) )
3 IN Control\_volume , IF ( T i l t R i g h t ( V i s i t o r , time ) )
4 WHILE TRUE DO ( volume\_down( V i s i t o r . tour ) )
Listing 4.14 – Règles de contrôle pour contrôler la diffusion des sons liés aux ZA
1 IN Normal\ _ v i s i t , IF ( Say\_No( V i s i t o r , timeStart , timeEnd ) )
2 WHILE ( IN ( V i s i t o r ,ZA, timeStart , timeEnd ) )
3 DO ( setStoped ( V i s i t o r . tour ,ZA) )
4 IN Normal\ _ v i s i t , IF ( Say\_Yes ( V i s i t o r , timeStart , timeEnd )
5 OR Long\_Stand ( V i s i t o r , timeStart , timeEnd ) )
6 WHILE ( IN ( V i s i t o r ,ZA, timeStart , timeEnd ) )
7 DO (
8 IF ( IN ( V i s i t o r . Tour ,ZA) ) DO(
9 IF ( isStopped ( V i s i t o r . tour ,ZA) )
10 DO s e t P l a y i n g ( V i s i t o r . tour ,ZA)
11 )
12 ELSE DO (Add( V i s i t o r . Tour ,ZA) )
13 )
Listing 4.15 – Règles de contrôle pour naviguer entre les contextes d’interactivité
1 IN Normal\ _ v i s i t , IF ( Say\_maybe ( V i s i t o r , time ) )
2 WHILE TRUE DO ( setMode ( Ambiant\ _ v i s i t ) )
3 IN Ambiant\ _ v i s i t , IF ( Say\_maybe ( V i s i t o r , time ) )
4 WHILE TRUE DO ( setMode ( Speech\ _ v i s i t ) )
5 IN Speech\ _ v i s i t , IF ( Say\_maybe ( V i s i t o r , time ) )
6 WHILE TRUE DO ( setMode ( Control\_volume ) )
7 IN Control\_volume , IF ( Say\_maybe ( V i s i t o r , time ) )
8 WHILE TRUE DO ( setMode ( Normal\ _ v i s i t ) )Section 4.7. Navigation 91
4.7.3 Adaptation
L’adaptation est le troisième mode d’interaction. Superposant les deux autres
modes, l’adaptation permet en plus de réaliser la Traque et de permettre le Contrôle,
d’adapter le parcours de la visite en analysant le comportement antécédent du visiteur
et en y déduisant ses préférences. Ce niveau exploite les descripteurs du visiteur
fournis par la signature des intérêts.
L’algorithme d’adaptation est responsable de décider si les ZAs incluses dans le
parcours du visiteur sont toujours intéressantes pour lui et ainsi devront toujours être
présentes dans son parcours. Il est aussi responsable de décider si des ZAs qui ne sont
pas incluses dans le parcours du visiteur doivent l’être en vue de ses intérêts exprimés
dans la signature des intérêts.
L’adaptation consiste ainsi à s’inspirer des scores d’intérêt des tags de chaque objet
ou son associée à un ZA de la scène sonore, pour inférer si elle est dépréciée ou
appréciée et ainsi la supprimer ou la rajouter au parcours du visiteur.
Soit une zone d’audibilité ZA a qui correspondent un objet d’art O est un son S. Soit
Tags(O) = to1, ..., ton les tags associés à l’objet O, et soit Tags(S) = ts1, ..., tsm les
tags associés au son S. Soit Nto = Tags(O) le nombre de tags d’objet, et Nts = Tags(S)
le nombre de tags de son associés à cette ZA.
Nous définissons :
– score_interest(V, ZA) est le score d’intérêt du visiteur V à la zone ZA,
– score_interest(V,O) est son score d’intérêt du visiteur V à l’objet O,
– score_interest(V, S) est son score d’intérêt du visiteur V au son S
– score_interest(V, t) est son score d’intérêt du visiteur V au tag t.
Nous considérons que l’objet et le sujet participe chacun à 50% dans la création de
l’intérêt du visiteur à une ZA. Ainsi :
Score_interest(V, ZA) =
⎧
⎪⎪⎨
⎪⎪⎩
score_interest(V,O)+score_interest(V,S)
2 si Nto = 0 et Nts = 0
score_interest(V,O) si Nto = 0 et Nts = 0
score_interest(V, S) si Nto = 0 et Nts = 0
0 si Nto = 0 et Nts = 0
A tout moment pendant le parcours du visiteur, le score d’intérêt à un tag objet
s’exprime de la manière suivante :
A tout moment pendant le parcours du visiteur, si un objet (resp. un son) d’une ZA
est apprécié, les scores d’intérêt à ses tags d’objets (resp. de son) sont incrémentés. De
même s’il est déprécié, les scores d’intérêt à ses tags sont dévalués.92 Chapitre 4. Modélisation de la visite augmentée
En cas d’appréciation, on incrémente le score d’intérêt à un tag de la manière suivante
:
score_interesti(V, t) = score_interesti 1(V, t) + 1 score_interest0(V, t)
nombre de ZA taguées par t (4.1)
En cas de dépréciation, le score est dévalué de la manière suivante :
score_interesti(V, t) = score_interesti 1(V, t) score_interest0(V, t)
nombre de ZA taguées par t (4.2)
avec score_interest0(V, t) le score initial attribué au tag t suivant le profil initial du
visiteur. Les valeurs minimales et maximales des scores d’intérêts sont fixées à 0 et 1.
L’appréciation de l’objet ou du son est déduite à partir du processus d’analyse des
préférences décrit dans la figure 4.11.
Le score d’intérêt qu’un visiteur V porte à un objet O (resp. à un son (S)) d’une ZA
est définit comme la moyenne des scores d’intérêts que ce visiteur porte à l’ensemble
des tags d’objets (tags de son) de cette ZA.
Score_interest(V,O) = ∑Nto
i=1 Score_interest(V, toi)
Nto
(4.3)
Score_interest(V, S) = ∑Nts
i=1 Score_interest(V, tsi)
Nts
(4.4)
Ensuite, on définit deux seuils liés à l’intérêt à une ZA : un seuil de désinté-
rêt minInterestT et un seuil d’intérêt maxInterestT. L’objectif est de définir trois
plages d’intérêt. [0, minInterestT] où les ZA seront inintéressants pour le visiteur,
[minInterestT , maxInterestT] où les ZA seront neutres pour le visiteur, et
[maxInterestT,1] où les ZA seront intéressants pour le visiteur.
Le score d’intérêt à une ZA sera d’après les équations précédentes entre 0 et 1 :
0 score_interest(V, ZA) 1.
Le choix des deux seuils devra respecté l’inégalité suivante : 0 minInterestT
maxInterestT 1.
Pour initialiser le processus d’adaptation, il faudra définir un seuil d’appréciation
Ta, ainsi que les deux seuils minInterestT et maxInterestT.
4.8 Exemple développé
Nous prenons comme exemple la salle des communications du musée des arts et
métiers (figures 4.20,4.21), qui abrite plusieurs outils de communication et de transmission
de l’information. Le nombre impressionnant d’œuvres exposées dans cette salle etSection 4.8. Exemple développé 93
FIGURE 4.16 – Processus d’adaptation du contenu audio
appartenant à différents domaines peut facilement désorienter le visiteur. Il serait ainsi
judicieux de porter l’attention du visiteur sur un nombre restreint d’œuvres représentatives,
puis d’enrichir son parcours avec plus d’œuvres qui rentrent dans son centre
d’intérêt.
La salle de communication sur laquelle va porter notre cas d’usage comporte des
œuvres (des machines) classées par 3 catégories : l’imagerie, l’imprimerie et la télégraphie.
Le modèle de scène sonore développé pour cet exemple est constitué de 3 couches :
– La couche physique reproduit la répartition des objets exposés dans l’espace réel
tel que c’est présenté dans la figure 4.17. Dans le tableau 4.22, les machines 10
qui rentrent dans l’exemple sont identifiées de A à J. Les machines correspondant
à l’imprimerie sont de A à D. La machine A (Machine à écrire de Remington)
est considérée comme représentative de cette catégorie. Les machines correspondant
à la télégraphie sont E et F, F (Télégraphe aérien de Chappe) étant l’œuvre
représentative. Les œuvres liés à l’imagerie sont identifiés de G à J. H (Chambre
de touriste Enjalbert) et J (Fantasmagories de Robertson) sont considérées comme
représentatives.
– La couche acoustique décrit les ZAs composant la scène sonore. Vingt ZAs sont
créées dans cet exemple. A chaque objet du musée en associe une ZA de type
partagé dans laquelle un son Ambiant est joué, et une ZA de type exclusif dans
laquelle un son de description est joué. Un exemple la ZA ambiante associée à la
machine A (Machine à écrire de Remington) est présenté dans le listing 4.16.
– La couche sémantique est choisie d’une telle manière à simplifier les calculs. En
effet pour simplifier l’adaptation aux préférences du visiteur, nous allons nous baser
sur un thésaurus réduit (figure 4.18) comportant trois descripteurs : imagerie,
imprimerie et télégraphie. Chacune des œuvres est décrite par un seul descripteur à
la fois.
La navigation dans cet exemple se fera selon les trois niveaux ; la traque, le contrôle
et l’adaptation. Pour le contrôle, les règles définies dans le listing 4.14 vont être utilisées.
Pour l’adaptation nous utilisons le même algorithme définit précédemment pour
l’adaptation avec minInterestT = 0.4 et maxInterestT = 0.7.94 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.17 – Scène sonore de l’exemple.
FIGURE 4.18 – Thesaurus de l’exemple.Section 4.8. Exemple développé 95
A son arrivée au musée, le visiteur répond à un questionnaire évaluant ces centres
d’intérêts. Les réponses à ce questionnaire serviront à choisir les œuvres qui constitueront
son parcours, et qui seront ainsi sonorisées. Dans notre cas de figure, ce questionnaire
lui demande son avis par rapport aux 3 catégories du thésaurus imagerie, imprimerie
et télégraphie. Prenons le cas d’un visiteur dont le profil montre un intérêt pour
l’imagerie, et un désintérêt vis à vis de la télégraphie. Ces réponses au questionnaire son
présenté dans la figure 4.19. Sur la base de ce profil, le système marque les machines
décrites par imagerie comme étant intéressantes pour le visiteur et les inclut toutes à
son parcours. De la même manière, les œuvres décrites par télégraphie sont marquées
comme inintéressantes pour le visiteur et sont écartées de son parcours. Le visiteur
s’exprime neutre concernant l’imprimerie, le système inclut uniquement son élément représentatif,
la machine A, au parcours du visiteur.
Visitor.tour(t0) = A, G, H, I, J
FIGURE 4.19 – Questionnaire présenté au visiteur et ses réponses.
Le tableau 4.22 décrit les différents états du parcours du visiteur dans la salle, et le
changement de l’état de sonorisation des machines en concordance avec le comportement
de l’utilisateur.
A partir des réponses du visiteur, nous inférons les scores d’intérêts suivants pour
les 3 catégories :
– Score_interest(Visiteur,"Imagerie")=1
– Score_interest(Visiteur,"Imprimerie")=0,5
– Score_interest(Visiteur,"Télégraphie")=0
Dès son entrée à la salle, le visiteur reçoit un contenu sonore lui présentant le thème
de la salle (Etat 0). Puis, en se déplaçant à travers les couloirs de la salle, le visiteur accède
aux différentes zones d’audibilité liées aux objets exposés et sonorisés. Le visiteur
commence sa visite par le couloir de droite et passe devant la machine à écrire "Remington"
(ZA A). Ce dernier choisit de s’arrêter devant cette machine le temps d’écouter le
contenu audio (Etat 1). Ceci ne change rien en terme de score d’intérêt au tag Imprimerie
Score_interest(Visiteur,"Imprimerie")=0,5+(1-0,5)/4=0,625 (Formule 1.1).
Puis il avance et s’arrête devant le télégraphe aérien de "Chappe" (ZA F). Bien que
ce télégraphe n’est pas sonorisé, le visiteur décide d’activer le contenu audio lié à cet
objet en utilisant le moyen d’interaction offert par le niveau d’interactivité "Contrôle".
Le visiteur lève sa tête de haut en bas, en effectuant un geste direOui, ce qui provoque
le déclenchement du contenu audio de la ZA (Etat 2). Le score d’intérêt du visiteur96 Chapitre 4. Modélisation de la visite augmentée
FIGURE 4.20 – La salle des communications du musée des arts et métiers (vue 1)
FIGURE 4.21 – La salle des communications du musée des arts et métiers (vue 2)Section 4.8. Exemple développé 97
FIGURE 4.22 – Etats de l’exemple.98 Chapitre 4. Modélisation de la visite augmentée
au tag "Télégraphie" augmente : alors Score_interest(Visiteur,"Télégraphie")=0+1/2=0,5.
Ainsi, pour toute ZA annotée Télégraphie Score_interest(Visiteur, ZA) = 0, 5, ce qui les
fait passer de la plage inintéressant [0, 0.4[ à la plage Neutre [0.4, 0.7[. Ceci implique
l’activation par Adaptation de ces ZA si elles sont de référence. C’est le cas de la ZA F
mais pas celui de la ZA E. Ainsi on inclut la ZA F dans le parcours du visiteur (Etat 3).
Visitor.tour(t1) = A, F, G, H, I, J
Le visiteur continue sa visite et s’arrête devant la machine à graver "Conté" (ZA C).
Cette machine initialement écartée du parcours y sera ajoutée puisque le visiteur reste
le temps que le son de la ZA s’active automatiquement par processus du Contrôle (Etat
4). Le score d’intérêt du visiteur au tag "Imprimerie" ainsi augmente :
Score_interest(Visiteur,"Imprimerie")=0,62+(1-0,5)/4=0,75.
Ainsi toutes les ZA annotées "Imprimerie" auront un score d’intérêt égale à 0,75. Ce
qui les fait passer de la plage Neutre [0, 0.0,7[ à la plage Intéressant [0.7, 1]
Ainsi on inclue toutes les ZA annotées "Imprimerie" dans le parcours du visiteur
(Etat 5).
Visitor.tour(t_2)={A,B,C,D,F,G,H,I,J}
Le visiteur poursuit sa visite de la salle, et passe devant la ZA de Fantasmagories de
Robertson. Bien que cette ZA soit sonorisée car l’imagerie a été marquée comme inté-
ressante par le visiteur, ce dernier passe devant l’objet, mais ne reste pas suffisamment
de temps pour écouter les contenus audio qui lui sont liés (Etat 6). Le score d’intérêt
du visiteur à l’imagerie est ainsi dévalué : Score_interest(Visiteur,"Imagerie")=1-1/4=0,75
(Formule 1.2).
A son passage devant la deuxième machine d’imagerie (Chambre de touriste Enjalbert),
le visiteur décide d’arrêter le contenu audio en secouant la tête de droite à gauche
(geste DireNon) (état 7), puis quitte la ZA correspondante. Ce qui provoque la dégradation
du score d’intérêt au tag Imagerie : Score_interest(Visiteur,"Imagerie")=0,75-1/4=0,5.
Ainsi toutes les ZA annotées Imagerie se voient dégradées en intérêt pour le visiteur.
En effet, pour chaque ZA annotée imagerie : score_interest(V,ZA)=0,5. Ainsi ces ZA deviennent
neutres pour le visiteur, et resterons sonorisés uniquement les éléments repré-
sentatifs, en l’occurrence les ZA J et H (état 8).
Visitor.tour(t_2)={A,B,C,D,F,H,J}
Listing 4.16 – Schémas XML de notre cas d’usage
1
2
3
4
5
6
7
8
9 0.5 Section 4.9. Extension du modèle pour les visiteurs malvoyants 99
10
11
12
14
15 shared
16
17
18
19
20
21
4.9 Extension du modèle pour les visiteurs malvoyants
Si la dimension sonore est importante pour identifier et comprendre le fonctionnement
des œuvres du musée, cette dimension sonore est d’autant plus pertinente si le
visiteur ne voit pas l’œuvre, ou la voit mal. Entendre le bruit d’une machine permet au
public à déficience visuelle de se faire une idée plus complète de l’œuvre. Malheureusement,
de nombreuses contraintes empêchent la mise en marche de ces machines au sein
du musée, ce qui prive les visiteurs des informations pertinentes sur le fonctionnement
de la machine. Ce défaut est encore plus ressenti chez les visiteurs malvoyant, pour qui,
le son pourrait jouer un rôle fondamental facilitant la reconnaissance et la découverte
des objets.
4.9.1 Scénario de la visite : objectifs
L’objectif d’une visite assistée par un système de RAS pour un malvoyant peut être
différent selon la nature des objets qui l’entourent et le lieu dans lequel il se positionne.
Le premier objectif est d’accompagner le malvoyant dans un environnement non initialement
conçu pour la réception de personnes malvoyantes. L’audioguide est ainsi
un accompagnateur du visiteur qui le guidera pour se déplacer entre les différentes
salles du musée. Par exemple, il lui permettra d’éviter les obstacles (accompagnement)
et émettra des alertes en cas de risque quelconque (signalétique).
Le deuxième objectif d’un tel système, est la découverte des œuvres exposées à travers
leurs dimensions sonores au lieu de se limiter à la dimension visuelle. Ceci peut se
faire par l’augmentation de l’objet avec un son ambiant qui dépeint l’environnement.
Il peut correspondre au son fonctionnel produit par l’œuvre. Il s’agit alors de la bandeson
originale de l’œuvre ou d’un enregistrement effectué pendant que l’œuvre est en
marche. Il peut aussi s’agir d’un son de synthèse imitant celui que produirait une machine
en état de marche avec la possibilité de mixer avec d’autres sons. Le contenu
sonore ambiant peut être soit de la musique pour les œuvres dont l’objectif est de pro-100 Chapitre 4. Modélisation de la visite augmentée
duire un son (Joueuse de tympanon, boîte à musique,...). Il peut aussi être un son de
fonctionnement pour les objets qui produisent des sons fonctionnels (horloge, télévision,
phonographe), ou un bruit produit lors du fonctionnement d’un objet (moteurs,
outils, instruments scientifiques). L’utilisation de la spatialisation de ces contenus audio
émanant des diverses œuvres entourant le visiteur procurera à ce dernier un sentiment
d’immersion dans le MAM et rendra la visite du musée similaire à celle d’une usine à
machine.
Le troisième objectif est un objectif informatif. Le système d’audioguide, en fonction
de la position et de l’orientation du visiteur, permet l’envoi de la description vocale
(parole ou élocution) de l’objet le plus proche du visiteur. Elle peut aussi englober une
histoire, un témoignage, un dialogue, etc.
4.9.2 Modèle de la scène sonore : les types de zones d’audibilité
Afin d’atteindre les différents objectifs décrits dans la section précédente, nous introduisons
quatre types de ZA :
Zone d’accompagnement : c’est une ZA qui entoure le visiteur et qui se déplace avec
lui au cours de sa visite. Son objectif est de diriger le visiteur malvoyant pour
arriver à sa destination.
Zone partagée : c’est une ZA qui est associée à chaque œuvre du musée que l’on souhaite
intégrer dans le parcours du visiteur. Dans cette zone, le visiteur percevra un
son ambiant émanant d’une source sonore assimilée au centre de la ZA. Plusieurs
zones ambiantes peuvent se recouvrir. Ces zones peuvent être soit liées à des objets
différents, soit à plusieurs composants du même objet. Le visiteur qui se retrouve
au sein d’un lieu de recouvrement de deux ou plusieurs zones ambiantes
pourra percevoir simultanément les sons spatialisés provenant des sources sonores
différentes.
Zone exclusive : ce type de ZA est essentiellement dédié à la description des objets
exposés. Elle se trouve généralement au plus proche d’un objet. Dans cette zone,
le visiteur percevra de la parole décrivant l’œuvre concernée. La particularité de
cette zone est que son contenu audio ne peut pas se mixer avec d’autres zones
même en cas de recouvrement. Cette condition est volontairement imposée pour
garder l’attention du visiteur sur l’objet à décrire.
Zone d’alerte : c’est une ZA qui se positionne dans les endroits particulièrement risqués
pour un malvoyant ou un aveugle, comme les escaliers, les rampes, etc... Elle
entoure également toute œuvre, afin de signaler au visiteur, qu’il s’en approche
trop. Le son de cette zone d’alerte est prioritaire sur tous les sons émanant d’une
autre source sonore.Section 4.10. Conclusion 101
4.9.3 Modèle de la scène sonore : algorithme de suivi
Le scénario du visiteur que nous proposons est un scénario qui combine l’immersion
audio dans le bruit ambiant et la description orale des œuvres exposées. Lorsque le
visiteur pénètre dans l’environnement sonore, la position et l’orientation de sa tête sont
automatiquement traquées par le système de positionnement et envoyées au système
de spatialisation sonore. Ce dernier récupère le contenu audio adapté à la position et
l’orientation de l’utilisateur, puis l’envoie au visiteur à travers son casque binaural. Les
règles suivantes régissent le scénario de la visite et la diffusion des contenus audio :
Règle 1 : à chaque accès à une salle d’exposition, le visiteur reçoit un contenu audio lui
présentant la thématique de l’exposition et le type d’œuvre qui rentre dans son
parcours. Ainsi, il pourra avoir une première idée sur le contenu de la salle.
Règle 2 : lorsque le visiteur pénètre dans une zone partagée, il commence à entendre
un son ambiant binaural spatialisé lié à l’objet contenu dans la zone. L’intensité et
l’orientation du son sont respectivement proportionnelles à la distance séparant
le visiteur de la source sonore, et à l’angle entre le vecteur visuel du visiteur et le
vecteur ’visiteur-source sonore’.
Règle 3 : lorsque le visiteur se retrouve dans le recouvrement de plusieurs zones partagées,
il entendra simultanément les sons ambiants spatialisés provenant des différentes
sources sonores.
Règle 4 : lorsque le visiteur pénètre dans une zone exclusive liée à un objet du musée,
le son ambiant lié au même objet est renvoyé progressivement en arrière plan et
avec une faible intensité. Ensuite, le texte de description de cet objet commence à
s’entendre. Il est également envoyé en binaural.
Règle 5 : lorsque le visiteur pénètre une zone d’alerte, tous les autres sons son arrêtés
et le visiteur commence à entendre une voix qui l’incite à s’éloigner de la zone
à risque en lui indiquant ce qu’il faut faire (reculer, aller à droite, etc...). Un son
d’alarme retentit et augmente en volume au fur et à mesure que le visiteur se
rapproche de la zone à risque (centre de l’objet, mur, escalier, etc...).
Règle 6 : à l’extérieur de toute autre zone, et selon la conception de la scène sonore,
une zone d’accompagnement suit le visiteur et le dirige pour naviguer au sein du
musée. Elle est notamment utilisée pour se déplacer entre les salles du musée, et
entre les espaces de recouvrement des sons ambiants. Les transitions d’une zone à
l’autre sont faites d’une manière fluide et progressive, de telle sorte que le visiteur
ne sente pas de coupures dans la diffusion des contenus sonores.
4.10 Conclusion
Dans ce chapitre, nous avons présenté dans un premier temps quelques exemples
de scénarios dans le but de proposer un modèle de visites le plus général possible. Afin102 Chapitre 4. Modélisation de la visite augmentée
de modéliser la visite augmentée, nous avons commencé par la structure du paysage
sonore en trois couches : la couche physique qui contient les informations géométriques
sur l’espace physique et les objets qui le composent, la couche virtuelle et acoustique et
la couche sémantique
Dans la couche virtuelle et acoustique, nous avons introduit la notion de zone d’audibilité
qui délimite l’espace d’écoute de la source sonore et qui permet au concepteur
de gérer l’espace d’écoute en le délimitant par des zones d’audibilité de différents formats.
L’ensemble des zones d’audibilités forment le paysage sonore dans lequel évolue
le visiteur. Les zones d’audibilité peuvent se juxtaposer les unes avec les autres.
Ces zones pourraient être organisées de différentes manières (structures p2p ou hiérarchique
par exemple). L’organisation choisie a un impact sur l’efficacité du rendu sonore.
L’intérêt d’une approche hiérarchique est qu’elle permet de représenter des structures
complexes suivant différents niveaux de résolution. Ainsi le visiteur peut être immergé
dans un paysage sonore composé de sons ambiants, de musiques et de commentaires en
adéquation avec sa position et son orientation. Par ailleurs, dans la couche sémantique,
ces ZA une fois annotées et classifiées par concepts sous forme d’un thésaurus, peuvent
être facilement exploités pour déterminer ses centres d’intérêt. Le visiteur quant à lui
est indexé par différents types d’informations allant des informations de profils, données
par le visiteur au début de sa visite aux informations de tracking permettent de
donner sa localisation et son focus, aux signatures d’intérêts qui permettent de définir
les intérêts des visiteurs.
Puisqu’une visite est une navigation dans un paysage sonore, nous avons distingué
trois niveaux de navigation du visiteur dans le paysage sonore :
– La navigation par le déplacement où le visiteur interagit avec le contenu sonore
uniquement par son déplacement et son orientation.
– Le contrôle, où le visiteur contrôle le paysage sonore par ses gestes, il peut contrô-
ler la lecture du contenu sonore comme il peut activer ou désactiver des ZA.
– L’adaptation où le système adapte le parcours du visiteur en cours de sa visite
selon ses intérêts.
Dans le futur, ce modèle peut être étendu et amélioré dans plusieurs aspects. Un
premier aspect concerne celui de la description des zones d’audibilité. D’autres types
de ZA autres que exclusives et partagées peuvent voir le jour suivant l’application. En
outre, alors que ces ZA sont définies d’une manière statique dans notre modèle, nous
pouvons imaginer des ZA créées dynamiquement par le visiteur durant sa visite. L’association
des contenus audio aux ZA peut être repensée, nous pouvons proposer un
modèle qui associerait plusieurs sons alternatifs à la même ZA, et que le choix du son
diffusé soit établi par le visiteur lui-même ou bien désigné automatiquement selon son
profil. En plus, un nouveau protocole de navigation peut être défini à travers de nouveaux
canaux d’interaction autres que la position et l’orientation du visiteur. En effet,
nous pouvons étendre le modèle pour intégrer d’autres types de contrôle de la scène
sonore comme, par exemple, de la parole émise par le visiteur ou aussi des gestes qu’ilSection 4.10. Conclusion 103
FIGURE 4.23 – Diagramme de composants du modèle de la visite
peut exprimer avec son corps, mais également à travers d’autres dispositifs multimé-
dias intelligents. Par ailleurs, le modèle du visiteur pourrait être étendu pour prendre
en compte la visite augmentée du groupe auquel le visiteur pourrait appartenir.5
Evaluation de la visite augmentée
5.1 Introduction
Ce chapitre décrit la partie expérimentale de notre travail. Elle a pour objectif la
mise en application du modèle, des scénarios et du dispositif de l’utilisateur dans une
situation réelle : la visite du musée des arts et métiers de Paris. Nous avions besoin de
cette étape d’expérimentation pour valider nos hypothèses théoriques, et pour pouvoir
évaluer l’acceptabilité de ce genre de système de RAS, jusqu’alors peu connu par les
visiteurs du musée.
Ce chapitre consiste alors à faire une évaluation empirique de SARIM et de ses fonctionnalités.
Comme nous ne pouvons pas évaluer toutes les fonctionnalités que permet
le modèle, nous nous sommes donnés pour objectif de mettre en œuvre et d’évaluer
quelques scénarios de visite permettant de préfigurer de nouveaux usages et de nouveaux
champs applicatifs de la réalité augmentée, dans lesquels la composante auditive
jouerait un rôle majeur. Nous nous posons la question de la réalité augmentée sonore
d’un point de vue ergonomique, donc de la façon dont elle est mise en œuvre.
Dans la première section de ce chapitre, nous aborderons la problématique de l’utilisation
d’un dispositif de RAS dans le cadre de la visite de musée. Dans cette section,
nous évoquerons les critères évalués dans d’autres systèmes de RA appliqués à la visite
de musées. Nous nous positionnons par rapport à ces systèmes, puis nous évoquerons
nos questions de recherche. Dans la troisième et la quatrième section, nous décrirons
les deux expériences qui ont été menées dans deux salles du musée des arts et métiers.106 Chapitre 5. Evaluation de la visite augmentée
Nous décrirons les objectifs de chaque expérience et son déroulement, et nous procéderons
finalement à l’analyse des résultats.
5.2 Évaluation des dispositifs de réalité augmentée
5.2.1 Les pratiques courantes dans l’évaluation de la RA
Avant de mettre au point une évaluation de SARIM, il s’avère utile d’examiner
les pratiques courantes de l’évaluation des systèmes de RA. Nous allons étudier
trois travaux que nous estimons importants, et qui décrivent des techniques et des
méthodes utilisées dans l’évaluation de la RA. Le premier est celui d’Anastassova
[Anastassova07], un état de l’art où sont décrits 48 articles portant sur l’évaluation
centrée utilisateur des applications industrielles de la RA. Ses auteurs rapportent que
la majorité des articles étudiés (38%) traitent la question de l’utilisabilité et seulement
17% se spécialisent dans l’analyse des besoins de l’utilisateur. En termes de méthodologie,
les auteurs qui étudient la question de l’analyse des besoins des utilisateurs, le font
souvent à travers des interviews ou des questionnaires. Pour les auteurs qui évaluent
l’utilisabilité des systèmes de RA, le but est souvent d’étudier la facilité d’usage des
interfaces de RA et leur efficacité, en se servant de la méthode du questionnaire. Une
autre remarque très importante est que la majorité des évaluations effectuées sont faites
en laboratoire et non pas en conditions réelles.
Gabbard et al. [Swan05, Gabbard08] ont aussi proposé une classification des expé-
riences centrées utilisateurs liées à la RA. Ils définissent trois axes complémentaires
suivant le domaine de recherche :
– La perception humaine (profondeur de la perception, coordination entre l’ œil et
la main).
– La performance de la tâche pour des applications spécifiques de la RA (temps,
nombre d’erreurs).
– L’environnement collaboratif et le travail coopératif.
Dunser et al. [Dünser08] ajoutent un autre axe à la classification de Gabbard qu’ils
ont nommé : "étude de l’utilisabilité des interfaces des systèmes de RA". Ils proposent
aussi une taxonomie des méthodologies d’évaluation des systèmes de RA en cinq caté-
gories :
– Les mesures objectives (temps, taux d’erreurs, précision).
– Les mesures subjectives, ou la perception de l’utilisateur, souvent recueillies par
des questionnaires.
– L’analyse qualitative qui inclut l’observation formelle des utilisateurs, l’entretien
formel.
– La mesure de l’utilisabilité (méthodes heuristiques, analyse des tâches).Section 5.2. Évaluation des dispositifs de réalité augmentée 107
– L’évaluation informelle qui inclut les méthodes d’observation ou les retours informels
des utilisateurs.
Notre objectif initial était de déterminer les critères évalués dans les tests d’utilisabilité,
et les problématiques posées dans l’évaluation des systèmes de RA en général et
RA sonore en particulier. Nous avons tenté dans un premier temps de faire le lien avec
les interfaces d’IHM mobiles en général et les systèmes de RA mobiles en particulier.
Ceci a été entrepris dans le but d’évaluer la possibilité d’utiliser les critères d’utilisabilité
de l’IHM pour évaluer les systèmes de RA. Dans un second temps, nous présentons
un aperçu des critères évalués dans les audioguides de musée, et comment les chercheurs
ont tenté de trouver le lien entre les systèmes de RA mobiles et les audioguides
mobiles de musées.
5.2.1.1 RA et utilisabilité
Dans cette section, nous passons en revue quelques travaux de recherche concernent
l’évaluation des applications de la RA dans le domaine de l’IHM. La question que nous
poserons est : est-ce que les critères d’utilisabilité de l’IHM en général peuvent être
appliqués aux technologies de la RA ?
Afin de répondre à cette question, Gabbard et al. [Swan05, Gabbard08] estiment que
la combinaison des critères de l’utilisabilité de l’IHM et les études centrées utilisateur
constitue non seulement un défi important, mais aussi une opportunité de recherche.
Selon ces auteurs, un bon système doit être à la fois utile et utilisable. Pour faire l’intersection
des critères de l’utilisabilité d’une interface homme machine en général et un
système de RA mobile, les auteurs définissent les caractéristiques orientées utilisateur
suivantes :
– La facilité d’apprentissage.
– La rapidité d’exécution des tâches utilisateur.
– Le taux d’erreurs d’utilisation.
– La satisfaction subjective de l’utilisateur.
– Le temps passé par l’utilisateur à se servir du dispositif.
Ils insistent aussi sur l’étude préalable du domaine de l’application de la RA, ce qui
consiste à définir comment doit être l’utilisateur et quel est la tâche qu’il doit accomplir.
Dunser et al. [Dünser07a, Dünser07b], tentent aussi de réduire l’écart existant entre
le domaine de l’IHM et celui de la RA en matière d’utilisabilité. Ils suggèrent des critères
d’utilisabilité de l’IHM qui peuvent être applicables dans le domaine de la RA :
– L’affordance.
– Réduire l’effort cognitif.
– Réduire l’effort physique.
– La facilité d’apprentissage.
– La satisfaction de l’utilisateur.108 Chapitre 5. Evaluation de la visite augmentée
– La réactivité et la tolérance aux erreurs du système.
5.2.1.2 RA et audioguides
Les audioguides classiques utilisés pour les visites de musées sont sujets à plusieurs
types d’évaluation. Ces évaluations ont permis de tester leur utilisabilité sur plusieurs
critères tels que l’amusement, l’utilité, la durée d’usage, la facilité d’usage, la distraction,
l’acquisition de connaissances, l’équilibre attentionnel, l’interaction sociale, l’ergonomie,
la navigation, le système de positionnement, l’interface, le contenu, la personnalisation,
la géolocalisation, l’accessibilité, l’impact cognitif, etc. [Proctor03, Woodruff01,
Bellotti02].
Une taxonomie de critères d’évaluation des systèmes de RA a été proposée par Damala
et al. [Damala09, Sylaiou05]. Trois groupes de critères d’évaluation ont été définis ;
les critères technologiques, les critères d’information et les critères logistiques :
– Les critères technologiques : ce sont les critères liés à la technologie choisie pour
l’implémentation de l’application du contenu ou de l’interface, ou pour la géolocalisation.
– Les critères de l’information : ce sont les critères liés au contenu interactif, notamment
la qualité du contenu, sa durée, la nature du contenu par objectif (amusement,
distraction, interaction sociale, etc.).
– Les critères logistiques : ce sont les critères liés à la logistique et l’administration
de l’audioguide, à savoir la maintenabilité, le nombre d’audioguides, la formation
du personnel, la distribution de l’audioguide, la durée de vie de la batterie, etc.
En outre, Damala a étudié les corrélations entre les critères évalués pour les audioguides
classiques et ceux des audioguides de la RA. Elle conclut que le lien est fort
concernent les critères suivants : l’orientation et la navigation dans l’environnement
du musée, l’orientation et la navigation dans l’application, la facilité d’alterner entre le
guide et l’objet, la facilité de l’usage, la distraction et l’équilibre attentionnel, la réaction
affective, la transparence, et la facilité de l’utilisation.
Ensuite, [Damala09] définit deux groupes de critères d’évaluation : les critères liés
à la RA et les critères non liés à la RA, de l’ordre de l’utilisabilité dans le domaine de
l’IHM.
Le premier groupe lié à la RA, est d’une importance primordiale pour l’acceptation
du guide augmenté. Ce groupe inclut la facilité de :
– l’orientation et de la navigation dans l’environnement du musée, et la facilité de
l’identification des objets commentés.
– la navigation dans le contenu interactif du guide.
– la compréhension de la manière utilisée dans la métaphore de la RA par les utilisateurs
non informaticiens.Section 5.2. Évaluation des dispositifs de réalité augmentée 109
Le deuxième groupe de critères concerne les professionnels du musée et les concepteurs
des applications :
– L’utilité et l’amusement du visiteur, et la satisfaction générale produite par l’utilisation
du guide.
– L’impact de la phase post-visite et l’impact de l’apprentissage et aussi l’impact
cognitif.
– La question de la distraction du visiteur et son équilibre attentionnel.
– La préference entre des médias spécifiques.
5.2.1.3 Evaluation centrée utilisateur
Des critères spécifiques ont été utilisés par les chercheurs pour évaluer les systèmes
de la RA mobiles, et en particulier les systèmes de RA utilisés dans le domaine de la
visite du patrimoine culturel.
Ayant comme objectif d’offrir aux visiteurs du musée une expérience éducative et
ludique améliorée, ARCO (Augmented Representation of Cultural Objects) [Sylaiou05]
est un système de RAV qui a été évalué en termes de composants et d’interfaces. Pour
cela, une évaluation heuristique et des solutions cognitives sont employées. Les auteurs
ont évalué deux composants du système ARCO : la composante liée au contenu, et
l’interface de la RA. Afin d’effectuer une évaluation centrée utilisateur, trois catégories
d’évaluation principales sont incluses dans cette étude :
L’utilisabilité technique qui se réfère aux aspects perceptifs et physiques de l’interface
homme machine (facilité d’apprentissage et de mémorisation, efficacité de
l’utilisation, nombre d’erreurs, satisfaction).
L’adéquation entre le contenu et le domaine qui examine la pertinence du contenu et
de sa représentation.
L’acceptabilité du système par l’utilisateur qui signifie l’efficacité du système à supporter
les besoins cognitifs de la tâche, et la satisfaction fournie.
En plus de ces critères, le niveau de présence de l’utilisateur a été également évalué à
travers un questionnaire.
Sylaiou et al. [Sylaiou08] réévaluent le système ARCO en termes de groupe de participants.
Ils visent à étudier l’impact du type de participants sur l’utilisation du dispositif.
Deux groupes de participants ont expérimenté le dispositif : les conservateurs
(experts) et les visiteurs (non-expert) du musée. Ils concluent que la meilleure configuration
est de faire une évaluation avec des participants experts et des vrais visiteurs du
musée (non experts).
Deux travaux paraissent très intéressants dans ce domaine. La première étude est
publiée en 2005 par Swan et Gabbard [Swan05, Gabbard08]. Ils examinent 266 publications
sur la RA publiées entre 1998 et 2004. En analysant ces articles, ils trouvent que110 Chapitre 5. Evaluation de la visite augmentée
seulement 14% des articles abordent la question de l’IHM, et seulement environ 8% dé-
crivent une étude formelle centrée utilisateur. La deuxième étude est publiée en 2008
par HITLab en Nouvelle-Zélande [Dünser08]. Elle cite 557 publications sur la RA qui
sont publiées entre 1993 et 2007. Seulement 10% de ces travaux incluent une évaluation
centrée utilisateur. D’après ces deux études, nous constatons que les évaluations
centrées utilisateurs sont peu présentes dans les évaluations des systèmes de RA. Cependant
en 2013 ce constat peut ne plus être vrai.
5.2.2 Critères évalués par la RAS
Les auteurs qui ont évalué des applications de RAS dans le cadre de la visite du
musée définissent des critères supplémentaires liés au contenu audio, au modèle de
la scène sonore et à l’expérience auditive. Dans le projet ech(o) [Hatala05], les auteurs
définissent deux groupes d’objectifs à évaluer : des objectifs conceptuels et des objectifs
fonctionnels. Les objectifs conceptuels portent sur l’amusement, la quantité de données
à tranmettre et la nature du contenu audio (devinette, jeu de mots,...). Les objectifs
fonctionnels définissent les critères de l’utilisabilité du système RAS selon les critères
suivants :
– La satisfaction générale.
– Le confort lié à l’utilisation de l’interface tangible de l’utilisateur.
– Le confort lié à l’utilisation du casque de RAS.
– La facilité d’apprentissage.
– La perception de la performance du système (temps de réponse).
– La qualité du contenu (informatif/non informatif, surprenant/prévisible, géné-
ralisé/ personnalisé, rigide/ludique).
– La qualité de l’expérience audio (confusion/clair, expérience mécanique/humaine,
inutile/précieuse).
– La navigation et le contrôle (capacité de naviguer, se perdre dans le système, certitude
de l’état du système).
Dans un autre contexte, Paterson et al. [Paterson10], évaluent un jeu en RAS. Ils
évaluent :
– L’engagement et la présence et l’immersion.
– Le contrôle .
– L’interaction.
– L’utilisabilité.
– L’impact de la localisation sur l’engagement et sur l’immersion.
Dans le projet Ontrack [Jones08], les auteurs proposent une nouvelle approche pour
aider les utilisateurs mobiles dans les tâches de recherche d’itinéraire en intégrant des
indices de navigation dans la musique. Ils ont fait passer un test d’utilisabilité en laboratoire,
dont les résultats étaient encourageants pour développer la version mobile
du prototype. L’étude de l’utilisabilité a porté sur l’efficacité du système, ç.à.d. si lesSection 5.2. Évaluation des dispositifs de réalité augmentée 111
utilisateurs sont capables de compléter les tâches dans un délai raisonnable, ainsi que
sur le retour subjectif des utilisateurs.
A travers la littérature, on constate un manque au niveau de l’évaluation des systèmes
de RA. Les évaluations qui sont faites se passent souvent en laboratoire et pas
en situations réelles, ce qui rend difficile la vérification des objectifs de l’expérience en
dehors du contexte (musée par exemple), surtout s’il s’agit d’un contexte culturel ou
ludique.
5.2.3 Questions de recherche
Après avoir passé en revue les questions et critères évalués dans les systèmes de
RA étudiés, l’étape suivante consiste à définir les questions de recherche qui vont être
étudiées dans la phase d’évaluation. Nous définissons trois groupes de questions de
recherche, le premier groupe traite l’apport de la RAS dans la visite de musées. Le
deuxième groupe porte sur la manière de l’utilisation de la RAS dans la visite du musée.
Le troisième groupe porte sur la conception d’un dispositif de RAS accessible et
utilisable.
Le premier groupe de questions traite l’apport de la RAS dans la visite de musées,
cela inclut :
– De quelle manière l’interaction dans la RAS du musée peut être différente des
autres interactions homme machine ?
– Est ce que la technologie de la RAS peut constituer une alternative intéressante
pour l’interaction et la navigation dans les audio guides des musées ?
– Est ce que la RAS permet de faciliter la navigation dans l’environnement du musée
?
– Est ce que la RAS permet de faciliter l’accès à l’information dans l’environnement
du musée ?
– Est ce que la RAS permet de :
– faciliter l’identification et la localisation des objets sonorisés ?
– rendre la visite plus ludique ?
– mieux valoriser les objets sonorisés ?
– accroître l’intérêt porté aux objets sonorisés ?
Le deuxième groupe porte sur l’exploitation de la RAS pour améliorer la visite :
– Comment rendre la technologie de la RAS facile et intuitivement compréhensible
même par des utilisateurs novices ?
– Quels genres de scénarios de visite permettront au visiteur d’interagir intuitivement
avec les objets du musée ?
– Quel est l’impact de l’interaction directe entre l’utilisateur et les objets sonores sur
la visite du musée ?
– Est ce qu’elle permet d’accéder à plus d’objets ?112 Chapitre 5. Evaluation de la visite augmentée
– Est ce qu’elle permet d’accroître l’intérêt porté aux objets ? (se sentir acteur de
la scène plutôt qu’observateur)
– Quel impact a l’ajout des sons ambiants à la visite ?
– Quel impact pourrait avoir la sonorisation des objets exposés sur la visite du musée
et sur le parcours de la visite ?
– Quel impact pourrait avoir la sonorisation des objets exposés sur l’intérêt des
utilisateurs envers les objets observés ?
– Quel est l’impact de la sonorisation du patrimoine sur la charge émotionnelle et
nostalgique de la visite du musée ?
Le troisième groupe porte sur la conception d’un dispositif de RAS accessible et
utilisable. En plus des critères d’utilisabilité traditionnels : la compréhension, la facilité
d’apprentissage, la satisfaction, le besoin de flexibilité et de personnalisation, la réactivité,
l’amusement de l’utilisateur et l’évaluation subjective de la durée de la visite.
Plusieurs questions liées à la RAS sont à aborder :
– Quelle doit être la qualité du contenu sonore pour que les utilisateurs acceptent
le casque de RAS pendant la durée de la visite ?
– Est ce que le système de RAS fournit les mêmes repères spatiaux comme le fait la
situation de l’audition normale ?
La qualité sonore est un facteur très important dans l’acceptabilité d’un système de
RAS. La qualité sonore devrait être assez bonne, pour que les gens puissent porter le
casque de RAS pendant de longues périodes sans désagrément ni cacophonie. Ainsi,
la représentation pseudoacoustique doit être aussi similaire à l’environnement sonore
réel que possible.
L’audition spatiale est un autre facteur qui joue un rôle important dans l’acceptabilité
du système de RAS. Le système de la RAS doit fournir les mêmes repères spatiaux
comme dans une situation d’audition normale.
En outre, la portabilité du matériel RAS affecte la facilité d’utilisation. Un système
RAS devrait exiger peu d’équipements supplémentaires, et doit être facile à porter. De
nos jours, les gens deviennent plus tolérants pour se déplacer au quotidien avec des
appareils électroniques, comme les téléphones cellulaires et les lecteurs MP3. Beaucoup
d’entre eux sont également habitués à porter des écouteurs assez fréquemment.
L’utilisabilité du système a une grande influence sur la compréhension de l’utilisation
du système, la facilité d’apprentissage, la satisfaction, le besoin de flexibilité et de
personnalisation.
Nous proposons une évaluation empirique avec un protocole d’évaluation qui inclut
principalement les méthodes quantitatives, basées notamment des questionnaires
et des logs. Les méthodes d’évaluation utilisées, notamment le questionnaire et les logs,
sont définies plus en détail dans les sections suivantes. Avant la phase d’évaluation, des
tests pilotes ont été menés auprès des visiteurs du musée pour vérifier le bon fonctionnement
du matériel et du logiciel à expérimenter.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 113
Notre processus d’évaluation comporte deux expériences dans deux salles diffé-
rentes du musée, avec des objectifs et questions différents pour chaque expérience.
Nous allons dans ce qui suit décrire chaque expérience, les hypothèses et les variables
à vérifier, la procédure suivie et les résultats trouvés.
5.3 Expérience 1 : Étude comparative de deux dispositifs dans la
salle des communications
L’expérience 1 a pour objectif d’étudier l’utilisabilité de SARIM et son apport à la visite,
en le comparant avec l’audioguide actuellement utilisé dans le musée. L’expérience
s’est déroulée dans la salle des communications du musée. Le choix s’est porté sur cette
salle, parce qu’elle est considérée comme représentative de ce musée. Elle contient des
objets qui produisent des sons fonctionnels comme les imprimantes, les téléphones et
les télévisions, et d’autres qui, en état de marche, produisent un bruit comme les imprimantes
et les appareils photos. C’est une salle rectangulaire qui fait 35m*10m. Les
objets qui y sont exposés sont de différentes tailles : les petits objets sont exposés dans
des vitrines en verres situées sur les bordures de la salle, et les gros objets sont exposés
par terre au centre de la salle.
L’audioguide du musée des arts et métiers 1
se compose d’un boîtier bleu, qui comporte
10 boutons noirs chiffrés de 0 à 9, d’un bouton vert pour les fonctions ”mise en
marche” et ”arrêt”, d’un bouton rouge pour la fonction ”pause”, de deux boutons noirs
pour la lecture rapide et un bouton bleu de la fonction ”en savoir plus”. Le boîtier est
équipé également d’un haut parleur permettant d’écouter les commentaires audio et
d’une prise jack pour pouvoir utiliser ses propres écouteurs ou casque d’écoute. Il est
muni également d’un cordon pour pouvoir l’accrocher autour du cou. Le baladeur est
à porter à la main et l’écoute se fait en rapprochant le baladeur à son oreille (sauf si on
possède des écouteurs qui ne sont pas fournis).
Les objets du musée qui sont commentés, se trouvent munis d’étiquettes de couleurs
avec un nombre écris par dessus. Ces couleurs désignent le parcours. En effet, trois
parcours sont définis : un parcours pour les enfants, deux parcours pour les adultes et
les adolescents qui sont :
– Parcours d’1 h : découvrir les objets incontournables du musée en suivant les
étiquettes rouges.
– Parcours de 2 h 30 : s’initier à l’histoire des sciences et des techniques en suivant
les étiquettes rouges et jaunes.
– Parcours "Liberté" : découvrir un domaine entier du musée ou déambuler à sa
guise en suivant les étiquettes rouges, jaunes et bleues.
1. http ://www.arts-et-metiers.net/musee.php ?P=229114 Chapitre 5. Evaluation de la visite augmentée
Dans notre expérience, nous n’avons pas fait de parcours basés sur la couleur des
étiquettes, nous avons expérimenté un seul parcours où le visiteur pouvait saisir le
numéro correspondant à toutes les étiquettes associées aux objets de la salle des communications
quelle que soit leur couleur.
5.3.1 Méthode
5.3.1.1 Tâche des participants
La tâche des participants à cette expérience consiste à trouver les objets commentés
ou/et sonorisés et les découvrir pendant une durée prédéterminée. Nous nous sommes
servi des vignettes colorées associées aux objets du musée pour identifier les objets
commentés. Les vignettes sont surtout indispensables pour l’utilisation de l’audioguide
du musée, et le sont moins dans le cas où le participant expérimente SARIM. Ce dernier
sera surtout guidé par le son qui émane de l’objet. Le participant doit visiter librement
la salle et découvrir les informations associées aux objets exposés pour une durée dé-
terminée à 10 minutes. Le participant n’est pas sensé connaître la durée de la visite à
l’avance. Lorsque le temps imparti est écoulé, l’expérimentateur met fin à la visite, et
invite le visiteur à répondre au questionnaire.
5.3.1.2 Contenu sonore
Le son ambiant correspondant à un objet peut être : soit le son produit par cet objet
(télévision, phonographe), soit le son de fonctionnement de cet objet (imprimante,
appareil photo), soit le son de l’environnement ambiant de l’objet (applaudissements,
cris), ou encore, le son d’ambiance correspondant à l’époque ou à l’environnement de
cet objet. Les commentaires audio se constituent de descriptions vocales des artefacts.
Elles sont racontées par les artefacts eux mêmes ou par leurs inventeurs ou encore, par
leurs utilisateurs de l’époque qui expliquent leurs fonctionnements. Les commentaires
audio peuvent se présenter aussi sous forme d’une narration, d’un témoignage ou d’un
dialogue.
Comme la plupart des objets exposés dans cette salle sont vieux et ne marchent plus,
nous n’avons pas pu enregistrer les sons qu’ils produisaient en cas de fonctionnement.
Par conséquent, des sons artificiels ont été créés. La création est effectuée soit à l’aide
d’un mixage de plusieurs sons, soit en créant des sons similaires, ou des ambiances sonores
qui donnent une idée sur l’objet. Pour cela, il a fallu trouver de la documentation
sur les objets exposés pour savoir à quoi pourrait ressembler le son qu’ils produisent.
Heureusement, le musée des arts et métiers est équipé d’un centre de documentation
où nous avons pu trouver les informations nécessaires à la conception des sons. Le
contenu sonore créé a bénéficié ensuite d’une phase de traitement des sons, qui est basée
sur des sur-échantillonnages, des filtres passe-bas, des retardements des sons, etc.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 115
Tous les sons ambiants sont mis à niveau, ils durent 10 secondes et ils sont joués en
boucle.
Les commentaires audio utilisés dans SARIM sont ceux fournis avec l’audioguide
du musée. Ce contenu a été crée par la société Sycomore. Le musée des arts et métiers,
étant en possession des droits d’utilisation, nous l’a délivré pour faire nos expériences.
En utilisant l’audioguide du musée, le visiteur peut écouter deux niveaux de commentaires
audio : ceux accessibles en composant le numéro affiché sur l’étiquette posée sur
l’objet et ceux accessibles en cliquant sur la touche ”en savoir plus” du boîtier de l’audioguide.
Nous avons intégré tous les commentaires audio de l’audioguide qui correspondent
aux objets sélectionnés dans notre parcours de visite. Tous les commentaires
durent 1 min 30. Nous avons créé également un son ambiant correspondant à l’entrée
de la salle et un commentaire d’introduction sur l’histoire de ce lieu. Au total, 11 objets
de cette salle sont sonorisés, chaque objet est décrit par un son ambiant et un commentaire,
soit un total de 24 contenus audio et 25 minutes 30 d’enregistrement.
5.3.1.3 Scène sonore
L’expérimentation s’est déroulée dans la salle des communications du MAM. Dans
cette salle (figure 5.1), le choix a été porté sur 10 objets exposés : la presse à bras , la
machine à graver de Conté, le télégraphe électrique, le télégraphe aérien, la presse typographique
de Marinoni, la machine à écrire de Remington, le fusil Phonographique, la chambre le touriste,
la chambre de Daguerre, et le masque de squelettes. A chacun de ces objets nous avons
associé deux ZA d’une forme sphérique, une ZA partagée et une ZA exclusive (figure
5.1). Les objets sont nécessairement contenus dans leurs propres ZA, mais n’étaient pas
nécessairement positionnés au centre de ces dernières. En effet la position des ZA a été
soigneusement choisie pour créer des zones partagées qui se croisent, et dans lesquelles
le visiteur percevra plusieurs sons émanant de différents objets. Le diamètre de toutes
les ZA exclusives était de 3 mètres, sauf pour la presse typographique de Marinoni qui était
de 5 mètres. Quant aux ZA partagées, le diamètre variait entre 8 et 12 mètres.116 Chapitre 5. Evaluation de la visite augmentée
FIGURE 5.1 – Interface de suivi des participants durant l’expérience 1.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 117
5.3.2 Protocole expérimental
5.3.2.1 Participants
Dix huit volontaires non payés ont participé à cette expérience. Ils étaient 9 hommes
et 9 femmes. Les participants sont âgés entre 25 et 73 ans avec une moyenne d’âge de 49
ans. Treize participants ont été recrutés sur invitation par mail et 5 participants ont été
recrutés sur place parmi les visiteurs du musée. Les participants recrutés au préalable
de l’expérience sont invités à passer une condition sur deux pour chaque expérience.
Les participants qui sont recrutés sur place sont des visiteurs du musée que l’on a sollicité
pour participer à l’expérience. La majorité des visiteurs abordés ont accepté de
participer à l’expérience. La moitié des participants avaient déjà visité le musée, mais
ils n’avaient pas utilisé auparavant l’audioguide proposé par ce dernier. Aucun des
participants recrutés sur place n’avait visité auparavant la salle des communications et
tous étaient francophones.
5.3.2.2 Déroulement
Afin de participer à l’expérience, les participants sont invités à remplir un formulaire,
disponible en annexe (A.3), où ils communiquent leurs nom et prénom, leur âge,
leurs coordonnées (mail ou téléphone), et s’ils ont déjà visité le musée des arts et métiers
ou non. Si oui, combien de fois ils l’avaient visité au cours des trois dernières années.
Afin d’éviter les parasites et les variables secondaires, les participants qui avaient déjà
utilisé l’audioguide du musée des Arts et Métiers ne sont pas sélectionnés pour passer
l’expérience. Les participants qui ont visité le musée plus de 3 fois au cours des trois
dernières années, ne sont également pas sélectionnés pour passer l’expérience.
L’expérience se déroule en faisant passer un participant à la fois pour des raisons
techniques liées au nombre de prototypes que nous possédions. En effet, nous possé-
dons un seul capteur, et pour cela, un seul participant peut passer l’expérience à la fois.
Ce qui a été très coûteux en termes de temps.
Pour mener l’expérimentation, aucune suspension des visites dans cette salle n’a
été exigée auprès des responsables du musée pendant la période de l’expérience. Il
convient de noter tout de même qu’il n’y avait pas énormément de visiteurs présents
au moment de notre expérience.118 Chapitre 5. Evaluation de la visite augmentée
FIGURE 5.2 – Expérience 1 en situation
5.3.2.3 Les variables théoriques
Nous rappelons qu’une variable indépendante (VI) est la variable que nous manipulons
directement en tant qu’experimentateurs. Elle est appelée ainsi parce qu’elle est
indépendante de ce que font les participants durant l’expérience, elle est prédéfinie par
l’expérimentateur. La variable qui est observée afin de voir si des changements dans
la variable indépendante ont un effet sur elle est appelée variable dépendante (VD).
Elle est appelée ainsi, par ce que les changements dans celle-ci sont dépendantes des
changements de la variable indépendante [Robson94].
Dans cette expérience, la variable indépendante est le dispositif utilisé. Dans la première
condition expérimentale, le dispositif étudié est SARIM, dont nous étudions l’uti-Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 119
lisabilité et l’apport. Dans la seconde condition expérimentale, le dispositif étudié est
l’audioguide actuel proposé par le musée. Le but étant de comparer les deux dispositifs
d’un point de vue ergonomique. Nous définissons les variables dépendantes suivantes :
1. L’utilisabilité du dispositif.
2. Le caractère informatif
3. Le caractère ludique.
4. La localisation des objets.
5.3.2.4 Plan expérimental et hypothèses opérationnelles
La description du plan expérimental consiste à énoncer les VI et leurs modalités,
tout en indiquant si elles correspondent à des groupes de participants appariés (plan
croisé) ou indépendants (plan emboîté). En l’occurrence, notre expérience utilise des
groupes indépendants, nous avons donc utilisé des plans expérimentaux emboîtés.
Une hypothèse théorique prévoit une relation de type abstrait entre deux classes de
faits, et une hypothèse opérationnelle signifie la traduction de l’hypothèse théorique
dans un cas concret précis [Légal07]. Les hypothèses opérationnelles sont les traductions
concrètes des hypothèses théoriques. Il s’agit d’essayer de prédire l’influence des
VI sur les VD. Le tableau 5.2 présente les hypothèses théoriques et opérationnelles que
nous avons formulées et le lien qui les réunit.
5.3.3 Résultats et analyse des données
Dans cette section nous présentons les résultats trouvés qui répondent ou pas aux
hypothèses formulées précédemment. Comme nous l’avons évoqué précédemment
deux méthodes d’évaluation et de recueil de données ont été utilisées, la méthode des
logs et le questionnaire . Nous commençons par présenter les résultats par la méthode
des logs, et ensuite, nous présentons les réponses subjectives des participants recueillies
à travers le questionnaire.
5.3.3.1 Le suivi avec la méthode des logs
La méthode des logs fait partie des méthodes empiriques que nous avons utilisées
dans notre expérience. Elle consiste à observer le comportement en situation d’utilisation
du dispositif évalué. Dans notre expérience, nous avons utilisé cette méthode pour
capter logiciellement, en temps réel et de manière non intrusive, quelques traces de la
visite de chaque visiteur. En se basant sur ces logs, nous avons pu découvrir le nombre
de ZA que le visiteur a traversé durant son parcours, ainsi que la durée passée dans
chacune des ZA traversées.120 Chapitre 5. Evaluation de la visite augmentée
Hypothèses Théoriques (HT) Hypothèses Opérationnelles (HO)
SARIM sera plus utilisable que
l’audioguide
– La compréhension de l’utilisation du
dispositif sera plus facile dans la condition
expérimentale de SARIM
– Les utilisateurs comprendront plus
facilement comment utiliser SARIM.
– Le nombre d’erreurs de manipulation sera
plus important dans la condition
expérimentale de SARIM
– L’utilisation du dispositif sera perçue plus
amusante dans la condition expérimentale
de SARIM
– SARIM sera perçu moins encombrant.
– Le besoin de flexibilité ressenti sera moins
important dans la condition expérimentale
de SARIM
– Le temps de latence entre l’input et le
feedback sera moins important dans la
condition expérimentale de SARIM.
L’utilisation de SARIM facilitera la
localisation et l’identification des
artefacts commentés
– La localisation des objets sera plus facile en
utilisant SARIM.
– Les sons de SARIM aideront les visiteurs à
se localiser.
SARIM renforcera l’aspect
informatif de la visite
– La durée d’observation des objets cibles sera
plus importante dans la condition
expérimentale de SARIM.
– L’intérêt déclaré aux objets observés sera
plus important dans la condition
expérimentale de SARIM.
– Le nombre d’objets visités sera plus
important dans la condition expérimentale
de SARIM.
SARIM renforcera l’aspect ludique
de la visite
– L’amusement du visiteur sera plus
important dans la condition expérimentale
de SARIM.
TABLE 5.2 – Corrélation entre les hypothèses théoriques et les hypothèses opérationnellesSection
5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 121
Nous constatons qu’avec SARIM, la durée moyenne passée dans les zones exclusives
est égale à 7min15 17sec , avec un intervalle de confiance (IC 95%). Dans le cas
de l’audioguide classique du MAM, cette durée n’a pas dépassé 5min32 40sec (figure
5.3). Nous pouvons déduire que le visiteur passe plus du temps à écouter le contenu
sonore avec SARIM qu’avec l’audioguide. En effet, dans le cas de l’audioguide, le son
n’est déclenché qu’à partir du moment où le visiteur arrive à lire le numéro marqué sur
la petite vignette posée sur l’objet. En général les visiteurs, n’arrivent à lire ce numéro
qu’en étant très proches de l’objet et donc dans son périmètre de ZA exclusive.
Nous constatons aussi que la durée moyenne passée dans les zones partagée avec
SARIM est égale à 2min33 15sec, avec un intervalle de confiance (IC 95%). Dans le cas
de l’audioguide classique du MAM, cette durée est égale à 4min8 38sec (figure 5.4).
Ce constat peut être interprété par le fait que le SARIM arrive à attirer les visiteurs à
se rapprocher des objets et passer plus de temps à écouter leurs descriptions. Ce qui
contribue à leur donner plus d’informations sur les objets exposés et leur permet de
visualiser l’objet de plus prêt et d’apercevoir ainsi plus ses détails.
Concernant le nombre d’objets visités, nous ne trouvons pas de différences signifi-
catives entre les deux dispositifs. En effet, la moyenne du nombre de zones visitées en
utilisant SARIM est 5, 8 1, 4 contre 4, 8 0, 7 pour l’audioguide. Cela est dû probablement
au scénario de la visite. En revanche, nous pouvons déduire que la simulation de
la localisation n’a pas entravé le bon déroulement de l’expérience.
Analyse des données
Pour chacune des deux systèmes ; Audioguide et SARIM, nous avons effectué trois
mesures pour chaque participants : le temps total passé en zones exclusives, le temps
total passé en zones partagées et le nombre d’objets visités. Pour mesurer la pertinence
de nos résultats, nous avons effectué des analyses de variances (ANOVA) pour chacune
des deux systèmes.
En comparant le temps total passé en zones exclusives entre les deux systèmes, nous
remarquons une différence significative entre les deux systèmes (F=5,090, P=0,041). De
même, la comparaison du temps total passé en zones partagées, nous remarquons une
différence significative (F=4,762, P=0,048). Par contre, la différence n’est pas significative
entre le nombre d’objets visités dans les deux systèmes (F=1,475, P=0,246).
Ensuite, nous avons voulu vérifier l’influence sur les résultats des tests effectués, de
l’âge des participants et de leurs genres.
Pour l’âge, nous avons répartis les participants dans chacun des systèmes en deux
groupes : âgés de plus de 30ans et âgés de moins de à 30ans. Pour l’audioguide, la
différence entre les deux groupes était significative pour le temps passée en zones exclusives
(F=11,494, P=0,014), mais également en zones partagées (F=10,852, P=0,016).
Ceci peut soit présager une réelle différence de comportement entre les deux groupes
d’âge, soit être causé uniquement par le faites que les deux groupes ne sont pas équilibrés
en nombres de participants. En effet le groupe des moins de 30ans et le tiers du122 Chapitre 5. Evaluation de la visite augmentée
groupe des plus de 30ans. Pour le nombre d’objet, la différence entre les groupes d’âge
n’est pas significative (F=0,036, P=0,854).
Pour SARIM, par contre, les différences entre les deux groupes d’âge ne sont pas
significatives que ça soit pour le temps passé en zones exclusives (F=1,737, P=0,244), ni
pour le temps passé en zones partagés (F=2,360, P=0,185), ni pour le nombre d’objets
visités (F=2,184, P=0,199).
Pour le genre, nous avons répartis les participants dans chacun des systèmes en
deux groupes : hommes et femmes. Pour l’audioguide, la différence entre les deux
groupes était non significative que ça soit pour le temps passés en zones exclusives
(F=0,003, P=0,955), pour le temps passés en zones partagés (F=0,013, P=0,911), ou pour
le nombre d’objet (F=4,668, P=0,074). Pour SARIM, le même constat est fait, puisque
la différence entre les deux groupes était non significative que ça soit pour le temps
passés en zones exclusives (F=4,437, P=0,089), pour le temps passés en zones partagés
(F=4,794, P=0,080), ou pour le nombre d’objet (F=4,263, P=0,093).
FIGURE 5.3 – Temps passé dans les zones exclusives pour les deux dispositifs (IC95%).Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 123
FIGURE 5.4 – Temps passé dans les zones partagées pour les deux dispositifs (IC95%)
5.3.3.2 Les données descriptives du questionnaire
Les questionnaires et entretiens permettent le recueil de données subjectives relatives
aux attitudes, aux opinions des utilisateurs, et à leur satisfaction [Scapin97]. Le
questionnaire constitue la deuxième méthode empirique d’évaluation que nous avons
utilisée dans cette expérience. Le questionnaire est important pour récolter les données
descriptives. Il n’est pas coûteux à mettre en place et permet de donner une vue géné-
rale sur les résultats, mais manque cependant de profondeur. C’est pour cette raison
que dans notre expérience nous ne nous basons pas uniquement sur cette méthode,
mais nous utilisons aussi la méthode des logs.
Après avoir passé l’expérience, les participants sont invités à répondre à un questionnaire,
disponible en annexe (A.4.1), composé de 25 questions. La plupart des questions
sont fermées, où le participant doit choisir entre quatre possibilités de réponse.
D’autres questions sont ouvertes. Elles permettent aux participants de s’exprimer librement
sur le dispositif évalué. Le questionnaire comporte aussi des questions conditionnelles,
des questions dichotomiques dont la réponse est oui ou non, ainsi que des
questions directes. Tous les participants doivent répondre aux mêmes questions dans le
même ordre et posées par la même personne. Tous les participants répondent au questionnaire
immédiatement après l’expérience pour que tous les participants soient dans
le même état d’esprit. L’expérimentateur n’est en mesure de répondre aux questions
des participants qu’une fois que ces derniers ont répondu au questionnaire.
Pour les questions fermées, nous avons choisi d’utiliser l’échelle de Likert à 4 points
(choix), et non pas celle à 5 points. En effet, cette dernière contient une réponse neutre
qui peut créer une confusion entre les réponses ” je suis neutre” et ”je n’ai pas d’opinion”
[Albaum97]. Notre échelle comporte les réponses suivantes : ”Pas du tout d’accord”,
”Pas d’accord”, ”Plutôt d’accord”, ”Tout à fait d’accord”. Nous avons utilisé
aussi l’échelle de Likert à 3 points, pour répondre à certaines questions, et donc les ré-124 Chapitre 5. Evaluation de la visite augmentée
ponses sont de l’ordre de ”Pas du tout”, ”Je pense que oui”, et ”Absolument”. Avant de
choisir les questions qui doivent figurer dans le questionnaire, nous avons défini une
série de 25 questions (tableau 5.4)qui nous permettrons de répondre à nos VDT.
L’utilisabilité de SARIM
Nous avons évalué l’utilisabilité des deux dispositifs en termes de compréhension,
de facilité d’apprentissage et d’utilisation, de satisfaction et de réactivité. En termes de
compréhension, 77% des participants ont réussi à comprendre l’utilisation des deux
dispositifs avec un avantage pour SARIM. En effet, 23% des participants ont été tout à
fait d’accord que le fonctionnement de SARIM est compréhensible. En termes de satisfaction,
l’avantage est très marqué pour SARIM. En effet, alors que 15% des participants
ont été insatisfaits de l’audioguide, ils n’étaient que 4% pour SARIM. De plus, 65% sont
très satisfaits de SARIM contre 20% pour l’audioguide, et 4% des participants ont ré-
pondu qu’ils ne sont pas du tout satisfaits de l’audioguide contre 0% pour SARIM. La
réactivité est également un grand avantage pour SARIM. En effet, la totalité des participants
ont trouvé que SARIM est réactif, contre uniquement 56% pour l’audioguide. De
plus, 22% répondent que l’audioguide n’est pas du tout réactif. De la même manière, la
totalité des participants ont jugé SARIM facile à apprendre. Parmi eux, 63% ont même
été tout à fait d’accord pour l’affirmer. Dans le cas de l’audioguide, 26% des participants
ne l’ont pas trouvé facile à apprendre.
En additionnant ces 4 critères d’utilisabilité des deux dispositifs, nous remarquons
que SARIM est jugé plus utilisable que l’audioguide du musée (figure 5.5).
FIGURE 5.5 – Résultats du questionnaire sur l’utilisabilite des deux dispositifs, SARIM
et l’audioguide du musée
Le caractère ludique de SARIM
Tous les participants qui ont testé SARIM l’ont trouvé amusant. 44% des participants
l’ont même trouvé très amusant. Pour l’audioguide, les réponses étaient miti-Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 125
gées. Alors que 55% des participants ne l’ont pas trouvé amusant, 11% l’ont trouvé très
amusant.
Le caractère informatif de SARIM
Nous entendons par caractère informatif, l’apport informatif que procure le dispositif
sur les artefacts observés, ainsi que l’intérêt porté envers ces artefacts. L’objectif
est ainsi de comparer la quantité d’informations apportée par SARIM et l’audioguide
du musée, puis d’évaluer l’intérêt que procure chacun des dispositifs aux artefacts sonorisés.
Cette VD est déjà évaluée dans la méthode des logs. L’objectif de poser des
questions sur cette variable dépendante dans le questionnaire, est de valider (ou pas)
les résultats des logs. Le nombre de participants ayant trouvé SARIM plus informatif
est légèrement plus élevé que celui de l’audioguide. Ils étaient 88% dans le cas de SARIM
et 83% dans le cas de l’audioguide. Par contre, 11% des participants ayant testé
l’audioguide ne l’ont trouvé pas du tout informatif, alors qu’ils étaient 0% dans le cas
de SARIM. Ce qui donne un léger avantage à ce dernier.
La localisation des objets du musée par SARIM
L’objectif ici est de mesurer la capacité des participants à localiser les objets plus ou
moins facilement dans les deux conditions. La totalité des participants ayant testé SARIM
ont réussi à localiser les objets facilement. 66% d’entre eux ont même trouvé cela
très facile. Dans le cas de l’audioguide, 22% n’ont pas réussi à trouver les objets sonorisés
facilement. 11% ont même trouvé cela très difficile. Et, ils étaient 33% à estimer que
c’était très facile de localiser les objets. Par ailleurs, la question Q21 (tableau 5.4) a été
posée uniquement aux participants qui ont expérimenté SARIM. Elle a pour objectif de
mesurer l’impact des sons ambiants spatialisés sur la facilité de la localisation des artefacts.
Tous ont trouvé que ce type de contenu sonore les a aidé à localiser les artefacts.
Ils étaient 89% à être tout à fait d’accord.
5.3.4 Discussion
Dans cette expérience, nous avons voulu évaluer SARIM en le comparant avec l’audioguide
du musée. L’évaluation avait pour objectif de vérifier l’utilisabilité des deux
dispositifs, leur apport sur le plan informatif et ludique ainsi que sur la facilité de localisation
des artefacts commentés.
Au niveau de l’utilisabilité, nous avons déduit à partir des réponses du questionnaire
que les deux dispositifs sont utilisables avec un avantage pour SARIM sur l’audioguide
du musée. Durant la séance du questionnaire, quelques participants ont exprimé
leurs avis par rapport à l’utilisabilité de SARIM : ’”C est pratique d avoir les mains libres”.
D’autres ont formulé des remarques, comme une participante qui a trouvé que le ni-126 Chapitre 5. Evaluation de la visite augmentée
veau de son n’était pas le même pour tous les artefacts ”Pour certaines machines le son est
moins fort que pour d autres”, ou encore des remarques sur le parcours ”Plus de zones d intersection
serait intéressant”. Quelques participants qui ont testé l’audioguide du musée
se sont exprimés sur leur expérience, en le comparant avec la visite classique sans l’audioguide.
Un participant a dit : ”Ca donne plus de liberté qu une visite classique de choisir ce
qu on veut vraiment voir”. Ils ont également exprimé leurs remarques sur l’audioguide,
un participant a dit : ”J avais testé l audioguide géolocalisé du Louvre la semaine précédente.
Je suis mécontent. Je n ai pas aimé la forme des commentaires” . Un autre participant a dit :
”C est plus intéressant avec les images projetées sur la borne vidéo”, ou encore sur le contenu
”Les commentaires sont longs ”, et aussi sur la compréhension du fonctionnement de l’audioguide,
un participant a dit ”Je n ai pas compris le code de couleurs” et un autre a dit :
”Le bouton bleu ne fonctionnait pas”.
En ce qui concerne la facilité de localisation, les résultats du suivi avec les logs ont
été consolidés par le questionnaire pour déduire que l’utilisation de SARIM facilite la
navigation dans le musée et facilite la localisation des artefacts commentés. Les participants
ayant testés SARIM ont été séduits par la manière de navigation qu’il procure.
Une participante a dit : ”C est le son qui oriente la visite, et non pas l inverse !”, une autre
évoque la navigation en disant : ”Ne pas avoir à taper les numéros des objets est une bonne
idée. La visite nous dirige !”. Les résultats prouvent également, que cette manière de navigation
a nettement facilité la localisation des artefacts commentés. En effet, l’utilisateur
trouve plus rapidement les artefacts commentés vu qu’il est guidé et orienté par les
sons. Ce qui n’est pas le cas avec l’audioguide. De là, nous pouvons valider les hypothèses
théoriques que nous avons énoncé. Notamment, que l’utilisation de SARIM
facilite la localisation et l’identification des artefacts commentés.
Concernant l’aspect informatif, les résultats obtenus par la méthode des logs dé-
montrent que les participants manifestent plus d’intérêts et passent plus de temps devant
les artefacts commentés en utilisant SARIM. Les résultats montrent également que
les participants visitent plus de zones en utilisant SARIM qu’en utilisant l’audioguide.
Étant donné que chaque zone porte une information sonore particulière, nous déduisons
que les participants qui ont utilisé SARIM ont eu accès à plus d’informations. Ces
résultats ont été confirmés par les réponses des participants à travers le questionnaire.
En effet les participants manifestent plus d’intérêts envers les artefacts observés dans la
condition du SARIM. Ils manifestent également plus d’implication en écoutant plus attentivement
les commentaires audio en utilisant SARIM. Ce qui nous permet de valider
les hypothèses théoriques et opérationnelles liées à l’apport informatif du SARIM.
Et enfin, concernent l’aspect ludique, les résultats du questionnaire ont démontré
que les participants ont trouvé SARIM nettement plus amusant que l’audioguide. Et par
conséquent, l’hypothèse théorique liée à l’aspect ludique de SARIM peut être validée.Section 5.3. Expérience 1 : Étude comparative de deux dispositifs dans la salle des
communications 127
Numéro de la
question Question
Q1 Êtes-vous habituellement intéressé(e) par ce genre
d’exposition ?
Q2 La visite vous a-t-elle paru intéressante ?
Q3 D’après vous, combien de temps a-t-elle duré ?
Q4 La visite vous a-t-elle paru amusante ?
Q5 Dans l’ensemble, les objets que vous avez observés vous
ont semblé intéressants ?
Q6 D’après vous, quel a été l’impact de la presse rotative
située au centre de la salle dans l’histoire de l’imprimerie ?
Q7 Vous êtes vous senti(e) projeté(e) dans les époques
correspondant aux objets que vous avez observés ?
Q8 Vous êtes-vous senti(e) à l’aise avec l’utilisation du
dispositif ?
Q9 Comment avez-vous trouvé la réactivité du système ?
Q10 A quelle vitesse pensez-vous que la plupart des gens
apprennent à utiliser ce système ?
Q11 Personnellement, avez-vous trouvé le dispositif facile à
utilisé ?
Q12 Avez-vous compris comment écouter les commentaires
audio liées aux objets observés ?
Q13 Si oui, comment ?
Q14 Vous est-il arrivé de faire des erreurs de manipulation du
dispositif durant la visite ?
Q15 Si oui, vous avez pu corriger vos actions ?
Q16 Vous est-il arrivé de déclencher des sons que vous ne
vouliez pas écouter ?
Q17 Si oui, vous avez pu corriger vos actions ?
Q18 Ces erreurs de manipulation vous ont-elles aidé(e) à mieux
comprendre le fonctionnement du dispositif ?
Q19 Dans l’ensemble, vous avez vous compris comment
utiliser le dispositif ?
Q20 Vous avez réussi à localiser les objets à observer ?
Q21 Les sons du casque vous-ont-ils aidé(e) à trouver les objets
à observer ?
Q22 Dans l’ensemble, Vous avez trouvé le dispositif ?
Q23
Durant la visite, avez-vous ressenti le besoin de pouvoir
contrôler le dispositif autrement que par vos
déplacements ? Pourquoi et comment ?
Q24 D’une manière générale, êtes vous satisfait(e) du
dispositif ?
Q25
Si un tel système se généralisait, aimeriez-vous pouvoir
l’utiliser à nouveau lors de vos futures visites de musées ?
TABLE 5.4 – Les Questions du questionnaire de la première expérience128 Chapitre 5. Evaluation de la visite augmentée
FIGURE 5.6 – Résultats du questionnaire pour les deux conditions : l’audioguide (en
haut) et SARIM (en bas)Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 129
5.4 Expérience 2 : Étude de deux configurations de scènes sonores
dans la salle des automates
Cette expérience vise à étudier l’impact de deux configurations de zones d’audibilité
(ZA) dans la scène sonore en utilisant SARIM. La première condition expérimentale
est celle des zones croisées, où le visiteur se situe dans l’intersection de toutes les ZAs. Il
est donc invité à écouter les sons correspondants à toutes les zones qui se croisent. Si un
son retient son attention, il n’a qu’à fixer l’artefact qui le produit pendant quelques secondes
pour que tous les autres sons s’arrêtent s’il manifeste plus d’intérêt pour cet artefact,
une bande sonore correspondant à la description vocale de cette artefact lui sera
envoyée. Dans la deuxième condition, les zones sont disjointes. Le visiteur se trouve à
l’extérieur de toutes ses zones. Il ne pourra entendre qu’un seul son à la fois. Pour ce
faire, il est invité à fixer chaque objet quelques secondes pour déclencher le son associé.
En s’attardant plus sur le même objet, le contenu audio de sa description lui sera
transmis.
Les artefacts qui sont exposés dans cette salle sont des automates à musique. Le
visiteur ne devant avoir aucune idée préalable du nombre, de la forme ou du nom des
automates sonorisés parmi ceux exposés dans cette salle, il aura pour tâche de désigner
les automates qui émettent de la musique, de les localiser, et d’écouter les descriptions
vocales associées. Les musiques sont envoyées au visiteur d’une manière spatialisée
pour l’aider à les localiser, et pour qu’il soit immergé dans l’environnement de cette
salle. La salle des automates étant relativement petite, nous n’avons pas eu le besoin
de capter la position du visiteur. Les automates sont également disposés d’une manière
circulaire. Pour cela, nous avons positionné le visiteur au centre de la salle afin qu’il
puisse percevoir tous les automates simplement en tournant sa tête. Le choix a été porté
sur cette salle pour plusieurs raisons :
– Les sources sonores sont proches géographiquement.
– Les automates produisent de la musique.
– Les sons produits par les automates sont similaires.
– Les sons produits par les automates ne sont pas connus d’avance par les visiteurs.
5.4.1 Méthode
Le matériel utilisé est identique à celui de la première expérience (voir image 3.9).
Le participant est assis sur les escaliers au centre de la salle, et navigue dans la salle en
tournant la tête sur le plan horizontal. L’ordinateur qui servait pour appliquer la technique
du magicien d’Oz dans la première expérience est utilisé par l’expérimentateur
pour s’assurer du bon déroulement de l’expérience. En effet, un programme a été développé
pour simuler la navigation du participant dans la salle. Un avatar représentant le
participant change de direction si le participant tourne sa tête.130 Chapitre 5. Evaluation de la visite augmentée
Tâche
La tâche consiste à trouver les objets correspondant aux musiques écoutées et à les
observer pendant une durée prédéterminée. Le participant va entendre des musiques
provenant de certains des automates exposés. S’il repère un objet qui l’intéresse, il suf-
fira d’orienter sa tête dans sa direction et de le fixer quelques secondes pour écouter le
son qu’il émet. Après avoir écouté le morceau de musique d’un automate, il pourrait
écouter le commentaire audio qui lui est relatif, s’il continue de regarder dans sa direction.
Cependant, s’il en a envie, il peut à tout moment passer à l’observation d’un autre
objet en tournant la tête vers celui-ci. Le participant est libre d’explorer la scène comme
il le voudra. Au bout de cinq minutes l’expérience s’arrête, pour lui poser des questions
sur ce qu’il vient de vivre. Les consignes données aux participants en amont de leurs
visite sont disponibles en annexe (A.2).
Contenu sonore
Les contenus sonores utilisés dans cette expérience sont de deux types : la musique
des automates et les commentaires. Les musiques des automates nous ont été transmises
par le service communication du musée des arts et métiers. Ces musiques ont
été enregistrées par des professionnels en faisant marcher les automates. Il s’agit de 5
enregistrements musicaux correspondants aux cinq automates exposés dans cette salle.
Les commentaires audio, ont été préparés et enregistrés par l’expérimentateur en se basant
sur les informations fournies par le centre de documentation du musée des arts et
métiers.
Scène sonore
L’expérimentation s’est déroulée dans la salle des automates. Le choix s’est porté
sur 4 automates musicaux dont nous possédons les musiques : la joueuse de Tympanon ,
la boîte à musique, l horloge avec tympanon, et l horloge hollandaise.
Dans cette expérience, nous nous intéressons à l’orientation du visiteur envers ces
objets. Nous distinguons deux situations : la première est "En focus de l’automate X",
qui signifie que le lacet de X par rapport à l’axe de vue du visiteur est inférieur à un seuil
θ choisi par le concepteur. On dit dans ce cas que le visiteur est dans la zone de l’automate
X. La deuxième situation est "hors focus" dans laquelle le visiteur n’est orienté
vers aucun des automates sonorisés. On dit dans ce cas le visiteur est à l’extérieur de
toutes les zones. Nous avons choisi pour cette expérience θ = π/9. Deux configurations
de sonorisation sont alors comparées. La première est celle appelée "Intersection".
Elle stipule qu’en situation de "hors focus", l’utilisateur écoutera un mixage de tous les
sons émanant des différents objets sonores, et qu’en situation de "En focus de l’automate
X", le visiteur écoutera au début un mixage de tous les sons. Il écoutera après un
seuil de temps T1 exclusivement le son ambiant lié à l’automate X, avant d’écouter en-Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 131
suite après un seuil de temps T2 le commentaire de description de cet automate X. La
deuxième configuration est celle appelée "indépendance". Elle stipule qu’en situation
de "hors focus", le visiteur ne percevra aucun contenu audio. C’est seulement quand il
sera "En focus d’un automate X" qu’il percevra le ambiant, puis après un seuil de temps
T2 il percevra le commentaire de description de cet automate X. Les seuils de temps T1
et T2 ont été fixés à 4 secondes chacun.
5.4.2 Protocole expérimental
5.4.3 Participants
Quatorze sujets non rémunérés ont participé à cette expérience. Ils étaient 8 hommes
et 6 femmes. Les participants sont âgés entre 25 et 63 ans avec une moyenne d’âge
de 44 ans. Dix participants ont été recrutés sur invitation par mail, et 4 participants
ont été recrutés sur place parmi les visiteurs du musée. Les participants recrutés au
préalable de l’expérience sont invités à passer une condition sur deux pour chaque
expérience. Dix participants sur quatorze ont déjà visité le musée, mais ils n’ont jamais
utilisé l’audioguide proposé par le musée. Tous les participants qui sont recrutés sur
place n’avaient pas encore visité la salle des automates, n’utilisent pas l’audioguide du
musée, et sont des visiteurs francophones.
5.4.3.1 Déroulement
Comme dans la première expérience, avant de participer à l’expérience, les participants
doivent répondre au formulaire de recrutement, disponible en annexe (A.3).
Après avoir passé l’expérience, les participants sont invités à répondre à un questionnaire
(voir annexe (A.4.2)), composé de 18 questions. Le questionnaire comporte des
questions et des choix de réponses utilisant l’échelle de Likert en 4 points.
Par crainte de perturbation de l’expérimentation, les visites ont été suspendues dans
la salle des automates pendant l’expérience. L’expérience dure cinq minutes, suivies de
cinq minutes pour répondre au questionnaire.
5.4.3.2 Variables et hypothèses
Dans cette expérience, la variable théorique indépendante est la disposition des
zones d’audibilité (ZA), ou l’intersection des zones d’audibilités (ZA) dans la scène sonore.
Nous allons étudier l’utilisabilité et l’apport de chaque configuration de ZA. Dans
la première condition de cette expérience toutes les ZA se croisent, et dans la deuxième
condition les ZA sont toutes disjointes. Le but étant de comparer SARIM dans les deux
conditions d’un point de vue ergonomique.
Les variables théoriques dépendantes de cette expérience sont :132 Chapitre 5. Evaluation de la visite augmentée
1. L’utilisabilité de SARIM dans cette salle.
2. Le caractère informatif.
3. Le caractère ludique.
4. La localisation des objets.
Comme dans la première expérience, cette expérience utilise des groupes indépendants
de participants, et des plans expérimentaux emboîtes. Le tableau 5.6 présente
les hypothèses théoriques et opérationnelles que nous avons définies pour cette expé-
rience.
FIGURE 5.7 – Expérience 2 en situationSection 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 133
Hypothèses Théoriques Hypothèses Opérationnelles
SARIM sera plus utilisable si les
ZA se croisent
– L’utilisation de SARIM sera plus facile à
comprendre si les ZA se croisent
– Le nombre d’erreurs de manipulation est
moins important si les ZA se croisent
– L’utilisation de SARIM paraîtra plus facile si
les ZA se croisent
– L’utilisation de SARIM paraîtra plus
amusante si les ZA se croisent
– L’utilisation de SARIM paraîtra moins
encombrante si les ZA se croisent.
– Le visiteur ressentira moins le besoin de
flexibilité si les ZA se croisent
– Le visiteur trouvera SARIM plus réactif si les
ZA se croisent.
L’intersection des zones permettra
de rendre la visite plus instructive
– La durée d’observation des objets cibles sera
plus importante si les ZA se croisent.
– L’intérêt déclaré aux objets observés sera
plus important si les ZA se croisent.
– Le nombre d’objets visités sera plus
important si les ZA se croisent.
L’intersection des zones permettra
de rendre la visite plus amusante
L’amusement du visiteur sera plus important
si les ZA sont croisées.
L’intersection des ZA facilitera la
localisation et l’identification des
objets visités
– Les sons joués simultanément lorsque les ZA
se croisent aideront les visiteurs à se localiser
– Les visiteurs arriveront plus facilement à
localiser les objets sonorisés si les ZA se
croisent.
TABLE 5.6 – Corrélation entre les hypothèses théoriques et les hypothèses opérationnelles134
Chapitre 5. Evaluation de la visite augmentée
5.4.4 Résultats et analyse de données
5.4.4.1 Résultats des logs
Dans cette expérience, nous traçons le focus du visiteur pour voir s’il est dans la
zone de chaque automate ou s’il est hors zone, ça veut dire qu’il n’est dans la zone
d’aucun automate. Les intervalles de confiance affichés sur les figures sont calculés
pour un degré de confiance de 95%. Nous calculons le moment où le visiteur est orienté
vers un objet (en focus) et le moment où il n’est orienté vers aucun objet (hors focus).
La durée moyenne passée hors focus pour les deux conditions expérimentales,
montre que les participants passent 2min5s , 16s hors focus dans le cas des zones croisées
et seulement 32s 16s dans le cas des zones indépendantes. Cela peut être interprété
par une difficulté constatée chez les participants à localiser les œuvres sous cette
condition. Dans le cas des zones indépendantes, les participants passent beaucoup plus
de temps en focus. Cela signifie qu’ils trouvent plus facilement les automates qui produisent
de la musique, et passent plus de temps à les écouter.
Le calcul de la durée moyenne passée en focus montre que les participants passent
4min28s 8s dans la condition des zones indépendantes et 2min55s 8s dans la condition
des zones croisées. Le fait de passer plus de temps à observer les objets peut être
interprété par, premièrement, l’intérêt que portent les participants envers les automates
observés dans la condition des zones indépendantes, et deuxièmement, cela confirme
le résultat précédent sur la difficulté de localiser les automates dans la condition des
zones croisées. Les participants en condition de zones croisées passent moins de temps
à observer les automates qu’ils doivent chercher.
FIGURE 5.8 – Durée de visite quand le visiteur n’est orienté vers aucun objet (hors focus)Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 135
FIGURE 5.9 – Durée de visite quand le visiteur est orienté vers un objet (en focus)
Analyse de données
Pour chacune des deux conditions : intersection et indépendance, nous avons effectué
deux mesures : le temps total passé hors focus et le temps passé en focus. Dans un
premier temps nous avons vérifié l’influence sur les résultats des tests effectués dans
la salle des automates de l’âge des participants, de leurs genres, et du fait que certains
participants avaient auparavant expérimenté le système dans la salle des communications.
Nous avons ainsi effectué des analyses de variances (ANOVA) pour chacune des
deux conditions indépendance et intersection.
Pour l’âge, nous avons répartis les participants dans chacune des conditions en deux
groupes : supérieur à 30ans et inférieur à 30ans. Dans la condition d’indépendance,
aucune différence significative n’a été détectée entre les deux groupes d’âge, ni pour
le temps en focus (f=0,151, p=0,713), ni pour le temps hors focus (f=0,151, p=0,713). Le
même constat est fait pour la condition d’intersection ; (f=0,793, p=0,413) pour le temps
en focus, (f=1,147, p=0,332) pour le temps hors focus.
Pour le genre, nous avons répartis les participants dans chacune des conditions en
deux groupes : femmes et hommes. Dans la condition d’indépendance, aucune diffé-
rence significative n’a été détectée entre les femmes et les hommes, ni pour le temps
en focus (f=1,567, p=0,265), ni pour le temps hors focus (f=1,567, p=0,265). Le même
constat est fait pour la condition d’intersection ; (f=0,174, p=0,693) pour le temps en
focus, (f=0,072, p=0,798) pour le temps hors focus.
Pour l’impact de l’utilisation du système SARIM dans la salle des communications,
nous avons répartis les participants dans chacune des conditions en deux groupes : les
participants ayant utilisé auparavant SARIM, et ceux ne l’ayant pas utilisé auparavant.
Dans la condition d’indépendance, aucune différence significative n’a été détectée entre
les femmes et les hommes, ni pour le temps en focus (f=0,057, p=0,820), ni pour le temps
hors focus (f=0,057, p=0,820). Le même constat est fait pour la condition d’intersection ;
(f=0,002, p=0,964) pour le temps en focus, (f=0,021, p=0,888) pour le temps hors focus.136 Chapitre 5. Evaluation de la visite augmentée
Après avoir vérifié que l’influence des trois facteurs précédents et non significatif
sur les mesures, nous avons comparé les deux conditions l’une à l’autre. Ainsi, en
comparant la durée d’écoute en focus entre les deux conditions indépendance et intersection,
nous remarquons une différence significatif : (f=244,781, p=2,398E-09). De la
même manière, la différence est significative entre les deux conditions pour la durée
hors focus (f=239,899, p=2,692E-09).
5.4.4.2 Résultats du questionnaire
Le dépouillement du questionnaire pour les deux conditions expérimentales est
donné par les diagrammes de la figure 5.11.
L’utilisabilité de l’intersection des zones
Nous avons évalué l’utilisabilité des deux configurations de zones d’audibilité, en
termes de compréhension, de facilité d’apprentissage et d’utilisation, de satisfaction, de
réactivité et du besoin de flexibilité et de personnalisation. En termes de compréhension,
nous considérons que les résultats ont été parasités par l’expérience précédente,
donc nous n’allons pas les prendre en compte. En effet, la majorité (11) des participants
recrutés commencent par passer la première expérience et 4 parmi eux ont déjà utilisé
SARIM dans la salle des communications.
En terme de facilité d’apprentissage, la totalité des visiteurs ayant testé SARIM dans
la condition de ZA indépendantes ont trouvé le système facile à apprendre (28% très
facile, 72% facile). Alors que 14% de ceux ayant testés SARIM dans la condition de ZA
croisées l’ont trouvé difficile à apprendre. Le reste des participants en condition de ZA
croisées étaient partagés entre très facile (57%) et facile (14%). Par ailleurs, 57% des
participants à la condition de ZA croisées disent qu’il leur est arrivé de déclencher des
sons qu’ils ne voulaient pas écouter (Q12), alors que personne n’a déclaré cela dans
la condition d’indépendance de ZA. On en déduit que l’utilisation de SARIM dans
la condition de l’indépendance des zones est plus facile que dans la condition de ZA
croisées.
En terme de satisfaction, alors que tous les participants à la condition d’indépendance
ont trouvé l’expérience intéressante (72%) ou très intéressante (28%), 14% des
participants à la condition d’intersection l’ont trouvée moyennement intéressante. En
outre, la totalité des participants à la condition d’indépendance ont déclaré être très à
l’aise (57%) ou à l’aise (43%) dans l’utilisation du système, contre 14% des participants
à la condition d’intersection. Toujours en terme de satisfaction, 72% des participants à
la condition d’indépendance trouvent SARIM plutôt pratique dans la condition d’indépendance,
et aucun participant dans cette condition ne trouve le système moins pratique,
alors qu’ils sont 28% des participants à trouver le système plutôt encombrant
dans la condition d’intersection. Finalement, 72% des participants à la condition d’in-Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 137
dépendance aimeraient beaucoup utiliser un tel système dans leurs prochaines visites
dans un musée, et 28% aimeraient assez l’utiliser dans le futur, alors qu’ils n’étaient que
43% dans la condition d’intersection à être très motivés contre 28% qui étaient assez motivés.
14% des participants dans la condition d’intersection se sont déclarés neutres par
rapport à cette question.
En combinant les résultats des réponses liées à la satisfaction, nous trouvons que
33% des participants des deux conditions se disent très satisfaits du dispositif. Mais
on décèle une préférence pour la condition d’indépendance puisque aucun des participants
ne s’est déclaré insatisfait dans cette condition, alors qu’ils étaient 14% dans la
condition d’intersection.
Pour la réactivité de SARIM dans les deux conditions expérimentales : 100% des
participants aux deux conditions trouvent que le dispositif est très réactif.
Besoin de Flexibilité et de personnalisation
En ce qui concerne le besoin de flexibilité et de personnalisation, 57% des participants
qui ont testé SARIM en condition d’intersection des zones ont eu le besoin de le
personnaliser contre 72% dans la condition de l’indépendance des zones. Ceux qui ont
eu ce besoin de contrôler le dispositif autrement ont exprimé leur besoin en terme de
navigation entre les types de son, le réglage du volume, l’arrêt du son. Parmi les ré-
ponses des participants à la condition de l’intersection des zones, nous trouvons : ”oui.
Pour arrêter la cacophonie, c est stressant , ”en appuyant sur une touche sur le casque”, ”oui.
Pouvoir écouter les sons en se déplaçant dans la salle”, ”oui. Pour déclencher le commentaire
avant la n de la musique”, ”avec un boîtier de commande”. Les participants de la condition
indépendance se sont exprimés en disant : ”oui. Pour mettre en pause. Mais j ai compris
plus tard comment faire”, ”oui. Pour augmenter le volume”, ”oui. Pour le volume. En touchant
au casque”, ”oui. Pour couper la musique et passer directement aux commentaires. Avec un
bouton sur le casque” A partir des réponses exprimées par les participants dans les deux
conditions, nous concluons que 12% des participants à la condition de l’intersection des
zones trouvent que SARIM dans cette condition n’est pas très utilisable (Figure 5.10).
Alors que la totalité des participants de la condition d’indépendance trouve le système
utilisable ou plutôt utilisable. Ce qui montre une préférence pour la condition de l’indé-
pendance en termes d’utilisabilité. Nous pouvons déduire, alors, que SARIM est plus
utilisable dans la condition des zones indépendantes (figure 5.10).138 Chapitre 5. Evaluation de la visite augmentée
FIGURE 5.10 – L’utilisabilité de SARIM dans les deux conditions expérimentales
L’apport ludique de la disposition des zones
14 % des participants à la condition de l’intersection des zones trouvent que l’expérience
n’est pas du tout amusante, un jugement qui n’a pas été approuvé par les
participants à la condition des zones indépendantes(0%). 14 % des participants dans
les deux conditions trouvent que l’expérience veçue n’est pas très amusante. 43% des
participants à la condition de l’intersection des zones trouvent que l’expérience est plutôt
amusante, contre 86% chez les participants de la condition de l’indépendance des
zones. 28% des participants à la condition de l’intersection des zones trouvent que l’expérience
est très amusante, contre 0% chez les participants de la condition de l’indé-
pendance des zones
L’apport informatif de la disposition des zones
14 % des participants dans les deux conditions trouvent que les objets observés
sont peu intéressants. 14% des participants à la condition de l’intersection des zones
trouvent que trouvent que les objets observés sont plutôt intéressants, contre 72% de
chez les participants de la condition de l’indépendance des zones. 72% des participants
à la condition de l’intersection des zones trouvent que les objets observés sont très inté-
ressants, contre 14% chez les participants de la condition de l’indépendance des zones
L’apport de la disposition des zones sur la localisation
14 % des participants à la condition de l’intersection des zones répondent qu’ils ont
réussi à localiser les objets plutôt difficilement, contre 0% de chez les participants de
la condition de l’indépendance des zones. 72% des participants à la condition de l’intersection
des zones répondent qu’ils ont réussi à localiser les objets plutôt facilement,
contre 43% de chez les participants de la condition de l’indépendance des zones. 14%Section 5.4. Expérience 2 : Étude de deux configurations de scènes sonores dans la
salle des automates 139
des participants à la condition de l’intersection des zones répondent qu’ils ont réussi à
localiser les objets très facilement, contre 57% de chez les participants de la condition
de l’indépendance des zones .
5.4.5 Discussion
Dans cette expérience, nous avons voulu tester deux configurations de scènes sonores,
basées sur la disposition des zones d’audibilité. Nous avons étudié l’utilisabilité
et l’apport de deux conditions sonores, la première condition est basée sur des zones
d’audibilité qui se croisent, et qui permettent au participant se trouvant dans le recouvrement
de plusieurs zones, d’écouter plusieurs sources sonores simultanément.
La deuxième condition est basée sur des zones d’audibilité indépendantes qui ne se
croisent pas, et dans lesquelles le visiteur entendra une seule source sonore à la fois.
L’évaluation avait pour objectif de vérifier l’utilisabilité des deux configurations de
scènes sonores, leur apport sur le plan informatif et ludique et sur la facilité de localiser
les automates à musique.
Au niveau de l’utilisabilité, nous avons trouvé à partir des réponses du questionnaire
que les deux dispositifs sont utilisables avec un avantage pour la configuration de
zones indépendantes. Durant la séance du questionnaire, quelques participants ont exprimé
leurs avis par rapport à l’utilisabilité de SARIM dans les deux conditions : ”C est
agréable de ne pas avoir à appuyer sur des boutons !”, ”C est bien de ne pas avoir à appuyer sur
un clavier”. Par ailleurs, nous avons eu des avis différents sur le fait d’écouter plusieurs
sons à la fois. En effet, il y a des participants à la condition des zones croisées qui ont
exprimé leur mécontentement vis à vis de l’écoute simultanée de plusieurs sons : ”Je
n ai pas apprécié que les musiques soient jouées en même temps pendant le passage d un objet
à un autre !”, et aussi nous avons eu des retours évoquant le mot ”cacophonie”. Nous
avons eu également des retours opposés dans la condition des zones indépendantes par
des participants qui auraient souhaité écouter plusieurs sons en même temps : ”J aurais
aimé pouvoir écouter plusieurs sons en même temps !”. En ce qui concerne la facilité de localisation,
les résultats du suivi avec les logs ont été consolidés par le questionnaire
pour déduire que la scène sonore avec des zones indépendantes facilite la localisation
des automates. Les participants qui ont testé la condition des zones croisées ont eu du
mal à localiser les automates : ”C est dif cile de différentier les angles correspondant aux
sons !”. Concernant l’aspect informatif et didactique, les résultats obtenus par la mé-
thode des logs montrent que les participants manifestent plus d’intérêts et passent plus
de temps devant les automates commentés dans la condition des zones indépendantes.
Concernent l’aspect ludique, les résultats du questionnaire sont moins clairs et permettent
de dire que l’utilisation de SARIM avec la condition des zones indépendantes
est légèrement plus amusante que dans le cas des zones croisées. La figures 5.11 repré-
sentent les résultats du questionnaire dans les deux conditions expérimentales.140 Chapitre 5. Evaluation de la visite augmentée
Numéro de la
question Question
Q1 Êtes-vous habituellement intéressé(e) par ce genre
d’exposition ?
Q2 Dans l’ensemble, l’expérience vous a semblé(e)
intéressante ?
Q3 D’après vous, combien de temps a-t-elle duré ?
Q4 La visite vous a-t-elle paru amusante ?
Q5 Dans l’ensemble, les objets que vous avez observés vous
ont semblé intéressants ?
Q6 Vous êtes vous senti(e) projeté(e) dans les époques
correspondant aux objets que vous avez observés ?
Q7
Vous êtes-vous senti(e) à l’aise avec l’utilisation du
dispositif ?
Q8 Pourquoi ?
Q9 Comment avez-vous trouvé la réactivité du système ?
Q10 A quelle vitesse pensez-vous que la plupart des gens
apprennent à utiliser ce système ?
Q11 Personnellement, avez-vous trouvé le dispositif facile à
utilisé ?
Q12 Vous est-il arrivé de faire des erreurs de manipulation du
dispositif durant la visite ?
Q13 Si oui, vous avez pu corriger vos actions ?
Q14 Vous avez réussi à localiser les objets à observer ?
Q15 Dans l’ensemble, Vous avez trouvé le dispositif
encombrant ou pratique ?
Q16
Durant la visite, avez-vous ressenti le besoin de pouvoir
contrôler le dispositif autrement que par vos
déplacements ? Pourquoi et comment ?
Q17 D’une manière générale, êtes vous satisfait(e) du
dispositif ?
Q18
Si un tel système se généralisait, aimeriez-vous pouvoir
l’utiliser à nouveau lors de vos futures visites de musées ?
TABLE 5.8 – Les Questions du questionnaire de la deuxième expérienceSection 5.5. Conclusion 141
FIGURE 5.11 – Résultats du questionnaire pour les deux conditions : l’intersection des
zones (en haut) et indépendance des zones (en bas)
5.5 Conclusion
Dans ce chapitre nous avons décrit la partie expérimentale de notre travail. Cette
partie vise à évaluer l’application du modèle de la visite proposée, des scénarios de
visite et du dispositif de l’utilisateur dans une situation réelle. Il s’agit d’une évaluation
empirique de SARIM et de ses fonctionnalités.142 Chapitre 5. Evaluation de la visite augmentée
Après avoir défini la problématique de l’utilisation d’un dispositif de RAS dans le
cadre de la visite de musée, nous avons décrit les deux expériences qui ont été menées
dans deux salles du musée des Arts et métiers.
La première expérience vise à étudier l’acceptabilité et l’apport de SARIM dans la
visite du musée en le comparant avec un audioguide classique. Les résultats de l’expérience
montrent que SARIM est utilisable et offre un apport à la fois informatif et
ludique à la visite du musée. Il permet aussi de faciliter la localisation des œuvres et
accroît l’intérêt que porte le visiteur sur les œuvres du musée.
La deuxième expérience consiste à évaluer SARIM dans une petite salle, où les
œuvres sont placées les unes à côté des autres, et produisent de la musique. Dans cette
expérience, l’objectif était d’évaluer deux architectures de scènes sonores. Dans la première,
la scène sonore est composée de zones d’audibilité qui se chevauchent. Ce qui signifie
que plusieurs sources sonores seront activées et donc audibles simultanément. La
deuxième architecture est basée sur des zones d’audibilité séparées et disjointes. L’idée
est de vérifier si l’intersection des zones sera utilisable dans le cas où les œuvres sont
très proches et où les contenus sonores consistent en des documents musicaux du même
genre. Les résultats ont montré que la configuration de zones croisées a plutôt gêné les
participants qu’elle ne les a amusés. Elle les a partiellement empêchés d’admirer la musique
produite par ces œuvres à cause de la cacophonie due au mélange sonore. Les
participants ont pu plus facilement localiser les œuvres sonores et ont trouvé qu’ils ont
appris plus de choses dans la configuration des zones séparées. Cependant, nous avons
eu des participants dans la condition des zones séparées qui auraient préféré entendre
plusieurs sources sonores à la fois. Ce qui a laissé prétendre qu’une troisième configuration
issue du mélange des deux premières en utilisant la notion de clusters sonores
pourrait constituer un bon compromis. Malheureusement, cette troisième configuration
n’a pas pu être testée à cause du manque de contenus sonores. Cette idée pourrait également
être mieux évaluée dans des environnements qui comportent plusieurs objets
sonorisés.
Ces expériences nous ont permis de récupérer des premiers retours de visiteurs de
SARIM en situation réelle. Nous n’avons pu tester qu’une partie restreinte des scénarios
de visites parmi ceux offerts par notre modèle de visite. Toutes les configurations
d’intersection des zones d’audibilité n’ont pas pu être évaluées également, surtout la
relation d’hiérarchie entre les zones d’audibilité que nous estimons importante pour
la scène sonore. Nos travaux futurs doivent porter sur l’évaluation des autres configurations
possibles avec notre modèle de visite dans un autre cadre expérimental où la
dimension sonore serait capable d’augmenter et d’enrichir la réalité.6
Conclusion et travaux futurs
Dans ce travail, nous avons étudié la question de la réalité augmentée sonore dans
la visite des musées, en particulier le musée des arts et métiers, en proposant le système
SARIM. Le but est d’enrichir la visite du musée avec une expérience individuelle qui
immergerait le visiteur dans un environnement sonore créé par des sons spatialisés qui
émanent virtuellement des œuvres exposées. Dans ce chapitre, nous dressons un bilan
du travail effectué dans cette thèse. Nous évoquons également un logiciel auteur, que
nous avons commencé à concevoir. Cet outil auteur vise à concevoir, créer et éditer
des scénarios de visite. Enfin, nous abordons d’autres directions de recherche qui nous
paraissent intéressantes pour la suite de ce travail.
6.1 Bilan
Notre but dans ce travail a été de concevoir un système de RA sonore capable
d’améliorer et d’enrichir la visite de musées à travers la dimension sonore grâce à la
localisation continue du visiteur. Notre objectif a été également de diminuer au maximum
l’effort d’attention requis de la part de l’utilisateur pour interagir avec l’environnement
sonore. La visite au musée des arts et métiers a été choisie comme cas d’étude,
parce que nous avons constaté un manque d’information sonore dans la présentation
des œuvres du musée. En l’occurrence, les sons de fonctionnement liés aux machines
exposées qui peuvent être attachants et captivants, mais également porteurs d’information
pour le visiteur.144 Chapitre 6. Conclusion et travaux futurs
Avant de mener une expérimentation grandeur nature, il a été primordial de commencer
par le développement d’une preuve de concept pour notre dispositif du visiteur.
Ceci est d’autant plus essentiel vu les défis techniques matériels et logiciels né-
cessaires à la mise en place d’un tel système. Une architecture matérielle et logicielle
du prototype a été développée, et plusieurs expérimentations ont été menées avec différents
capteurs de mouvement. Ces premières expérimentations ont été accomplies
au laboratoire mais aussi au musée avec l’objectif de permettre le passage à l’autolocalisation
dans l’environnement du musée. La réalisation de cette preuve de ces premières
expérimentations nous a été utile, puisqu’elle a orienté notre recherche vers
d’autres problématiques majeures. En effet, un système de spatialisation sonore adapté
à une visite de musée ne pourrait être développé sans une mise en place d’un modèle
théorique permettant de représenter les différents acteurs de ce système. En outre, la
mise en place d’un outil auteur permettant à la fois la conception et la simulation de
scénarios de visite serait judicieuse.
C’est ainsi que nous avons étudié la problématique de modélisation de la visite
augmentée. Dans cette partie, nous avons proposé un modèle composé de trois entités.
La première entité est le paysage sonore présenté selon trois niveaux d’abstraction :
physique, virtuelle et sémantique. Le principal apport introduit par notre modèle de
paysage sonore est l’introduction de la notion avancée de la zone d’audibilité. Celle ci,
qui représente un espace 3D dans lequel un contenu audio est perceptible, permet de
structurer l’espace du musée en un ensemble de zones qui peuvent être croisées, sé-
parées ou encore hiérarchiques. Ces zones peuvent également être partagées ou exclusives.
Des parcours de visite libres ou guidés peuvent être créés sur la base de ces zones
d’audibilité. Ainsi le visiteur peut être immergé dans un paysage sonore composé de
sons ambiants, de musiques et de commentaires en adéquation avec sa position et son
orientation. Par ailleurs, ces zones peuvent être annotées et classifiées par concepts sous
forme d’un thésaurus dans la couche sémantique du modèle de la scène sonore. Elles
peuvent ensuite être facilement exploitées pour déterminer les intérêts des visiteurs.
La deuxième entité du modèle est le visiteur. Nous l’avons modélisé selon plusieurs
niveaux. Le premier niveau est le profil initial du visiteur comportant par exemple son
âge et ses centres d’intérêt. Le niveau suivant est celui de la captation spatiotemporelle
de son mouvement durant sa visite. Ce niveau permet de décrire le niveau au-dessus
qui est celui de la position du visiteur par rapport à la scène sonore mais aussi de la
captation des gestes qu’il accompli avec sa tête en guise d’interaction avec l’environnement
sonore. A partir de ces niveaux, un quatrième niveau est introduit qui est celui de
la signature des intérêts, celle-ci étant une nouvelle notion introduite pour définir les
scores d’intérêt du visiteur aux différents descripteurs sémantiques associés au zones
d’audibilité de la scène sonore. Un historique de tous les descripteurs du visiteur à ces
différents niveaux est maintenu afin de réaliser une adaptation en temps réel du parcours
de la visite au intérêts des visiteurs, mais également afin de permettre une étude
plus détaillée des intérêts des visiteurs sur l’espace de plusieurs visites successives.Section 6.2. Perspectives 145
La troisième entité du modèle est le moteur de navigation qui constitue le cœur de
SARIM. Ce moteur décrit la politique d’interaction du visiteur avec la scène sonore.
Ce moteur est organisé selon trois couches concentriques. Chaque couche fournit un
niveau d’interactivité particulier, et chacune des deux couches supérieurs du moteur
fournit les contenus d’interactivité de la couche qu’elle contient. La couche de la Traque
est le noyau du moteur, Celle-ci réalise une spatialisation sonore simple des sons émis
par les œuvres suivant la position et l’orientation du visiteur. La couche du contrôle
permet au visiteur de contrôler volontairement le paysage sonore à travers différents
gestes de têtes prédéfinis et activés par le concepteur du scénario de la visite. La dernière
couche est l’adaptation où le système affine automatiquement le parcours du visiteur
en cours de sa visite pour l’adapter au mieux à ses intérêts inférés en étudiant ses
choix en termes d’œuvres regardées et de sons écoutés.
Après avoir proposé un modèle de visite augmentée, nous avons réalisé une évaluation
empirique contrôlée du système SARIM et de certaines de ses fonctionnalités.
Deux expériences ont été menées dans deux salles du musée des arts et métiers. La
première expérience vise à étudier l’acceptabilité et l’apport du système SARIM en le
comparant avec l’audioguide classique utilisé dans le musée. La deuxième expérience
consiste à évaluer l’utilisabilité de SARIM pour sonoriser des œuvres placées les unes
à coté des autres dans un espace restreint. Malgré le nombre restreint des participants,
les résultats de l’évaluation montrent que SARIM est utilisable et offre un meilleur apport
à la fois informatif et ludique à la visite du musée. Il permet aussi de faciliter la
localisation des œuvres et accroît l’intérêt que porte le visiteur sur les œuvres visitées.
Les résultats de la deuxième expérience montrent la gène que peut apporter l’activation
de plusieurs sources sonores (très rapprochés dans l’espace) lors d’une visite de musée.
Elle montre ainsi le besoin de développer une configuration de scène sonore basée sur la
notion de clusters pour regrouper les œuvres qui sont très proches géographiquement
et similaires fonctionnellement.
6.2 Perspectives
Le travail de la thèse étant à la croisé de plusieurs domaines, elle ouvre le chemin
vers différentes questions de recherche intéressantes. Durant notre thèse nous avons
entamé la conception de quelques solutions qui répondent à des questions associées à
notre sujet de thèse. Nous les évoquant ici dans ce chapitre.
6.2.1 Esquisse d’un logiciel auteur pour SARIM
Nous entendons par logiciel auteur, l’interface graphique permettant au concepteur
de composer des scènes sonores virtuelles et de préciser l’interaction entre le visiteur et
le monde réel. Notre outil de création est une interface graphique d’utilisateur conçue
spécialement pour la réalité augmentée audio appliquée dans le contexte de musées.146 Chapitre 6. Conclusion et travaux futurs
La conception d’outils de création est plus fréquente dans le contexte des jeux et de
la réalité virtuelle, mais elle est moins fréquente dans le domaine de la réalité augmentée,
et encore moins dans le contexte des visites de musées.
Quelques logiciels qui permettent de créer des scènes et des paysages sonores ont
été proposés au cours de ces dernières années. Le Spatialisateur [Jot99] développé par
l’Ircam 1
est un Framework logiciel dédié à la spatialisation des créations musicales en
temps réel, post-production et dans le contexte de concerts. Il permet de spécifier les paramètres
de spatialisation indépendamment du mode de restitution électro-acoustique,
mais aussi d’identifier intuitivement les paramètres d’effets de salle. Toutefois, ce logiciel
est conçu pour les situations générales et présente peu de capacités pour la visualisation
et l’expérimentation de la scène créée. Il a donc besoin d’être étendu par des
modules spécialement conçus pour l’application finale et offrant plus de facilités pour
la conception des scènes sonores.
Sur la base de cette observation, ListenSpace [Leprado07, Warusfel04, GoBmann04]
a été développé comme une couche haut-niveau de Spat. Il a été conçu comme un outil
de création spécialement adapté à la réalisation du projet Listen [Zimmermann08]. ListenSpace
permet de décrire les propriétés géométriques de tous les objets qui composent
une scène sonore dans Listen, et de combiner les paramètres acoustiques physiques et
perceptifs pour définir les sources sonores dans la scène. Cependant, la description de
la scène dans ListenSpace est limitée à une représentation bidimensionnelle (2D). Cette
limitation prive le concepteur d’informations cruciales, et en particulier la hauteur (altitude)
des sources sonores.
6.2.1.1 Concepts de base
La conception d’un outil auteur pour la création de paysages augmentés par le son
et de scénarios de visite de musée, se compose de plusieurs étapes telles que la création
des contenus sonores, la création des rendus visuels et la création de scénarios de visite
du musée. Nous avons décidé de concentrer nos efforts sur la conception et le développement
de fonctionnalités de base nécessaires à la conception des paysages sonores et
des scénarios de visite puisque pour les deux autres tâches, des logiciels plus performants
existent déjà. Par conséquent, l’outil actuel n’intègre pas d’outil de conception
ou de gestion des contenus sonores, ni de fonctionnalités avancées pour la création des
rendus graphiques. Cependant, le concepteur a la possibilité d’utiliser des formes géométriques
simples pour créer les pièces du musée et les objets sonores également. En
outre, l’outil intègre la possibilité d’importer des paysages graphiques 3D créés à travers
des outils logiciels de modélisation 3D (ex. Blender) et permettant d’exporter les
environnements 3D en langage standards de description d’univers graphiques virtuels
(ex. VRML et Collada).
1. www.ircam.frSection 6.2. Perspectives 147
Bien que l’outil d’auteur soit principalement conçu pour la création du paysage sonore,
cet outil serait incomplet sans une fonctionnalité permettant au concepteur de
tester virtuellement le résultat de ses scénarios. Ainsi, deux modes d’utilisation sont
disponibles : le mode d’édition qui est utilisé pour créer et manipuler les objets graphiques
et sonores, tandis que le mode de démonstration est utilisé pour vérifier et
démontrer virtuellement le résultat du paysage sonore.
6.2.1.2 Modes utilisateurs
Mode d’édition Nous décrivons ici le fonctionnement de l’interface homme machine
en mode édition. Ce mode est accessible à travers la fenêtre principale organisée
de manière à offrir le maximum d’espace de travail au concepteur du paysage graphique
et sonore. L’espace du travail est présenté au centre de la fenêtre. Des menus de
paramétrage sont disposés dans des barres d’outils latérales et inférieures pouvant être
cachées et affichées en un seul clic.
Mode de démonstration Pour tester le paysage sonore qui a été créé, le logiciel
offre la possibilité de "jouer" ou de "simuler" une visite grâce à son interface mode
de démonstration. Le mode de démonstration est accessible à l’aide du bouton "Play"
en bas à droite de l’interface d’édition. Le mode de démonstration offre deux vues, la
première est une vue générale dans laquelle la caméra (le point de vue) est située au
dessus du visiteur. Ce dernier est représenté par un avatar qui reflète sa position et
son orientation. L’utilisateur du logiciel, muni d’un casque stéréo, et d’un dispositif de
navigation (souris, joystick) peut simuler une visite dans l’espace du musée et ainsi
percevoir les contenus audio que le visiteur devra entendre selon sa position et son
orientation.
Outre la vue générale, le mode de démonstration offre également une vue subjective
qu’on appellera la vue du visiteur.Cette vue est accessible en activant le bouton de la
vue subjective en bas à gauche. Elle permet au simulateur d’apercevoir ce que voit et
entend le visiteur durant sa visite au musée. C’est la vue la plus idéale pour se mettre à
la place du visiteur et faire concorder les deux rendus sonore et visuel.
6.2.1.3 Naviguer dans la scène sonore
La navigation dans l’environnement virtuel en 3D nécessite des appareils avancés
offrant plusieurs degrés de liberté (DDL). La souris classique n’est pas en mesure de
détecter les mouvements de rotation et est exclusivement sensible aux mouvements de
translation (2 DDL).
Habituellement, les logiciels de CAO et les jeux vidéo permettent la navigation à travers
les environnements virtuels en utilisant soit la souris classique combinée au clavier
soit en utilisant les boutons et la molette de défilement de la sourie [Almeida09]. Pour148 Chapitre 6. Conclusion et travaux futurs
des applications professionnelles, l’interaction bi-manuelle est favorisée en complétant,
par exemple, la sourie par un trackball. D’autres dispositifs fournissent également 6
degrés de liberté comme le SpaceNavigator de la compagnie 3DConnection [O’Brien08].
Cependant ce dispositif est fixe et ne tourne pas sur 360 degrés. Cela crée un fossé entre
la navigation dans le monde réel est la rotation par la souris. Pour parcourir des environnements
destinés aux tests d’applications de réalité augmentée, ceci peut s’avérer
contraignant. Ce type de dispositif 3D est plus approprié pour commander la vitesse
de la rotation plutôt que la position et l’orientation d’un objet en scène [Almeida09].
Dans le contexte de la navigation au sein de paysages sonores virtuels, un dispositif
de capture simultanée de la position et de l’orientation de l’utilisateur serait utile. Dans
[Almeida07] un tel dispositif a été évalué pour d’autres applications telles que la sélection
de la couleur dans une palette graphique et le mixage de sons avec des widgets
rotatifs [Jacob94]. Ces expérimentations étaient faites avec la 4DMouse. La 4DMouse
fait partie du kit de la tablette Wacom Intuos 2. Bien que stable et précis (0,2 degré), ce
dispositif est plutôt sous-exploité par le monde des interfaces graphiques. La figure 6.1
montre un exemple de trajectoire intégrale réalisée en utilisant la 4D mouse.
La navigation dans la scène 3D en utilisant la vitesse peut se faire à travers les analogies
suivantes :
– La distance (d) séparant la tête de la souris à la ligne rouge horizontale : la vitesse
(signée) de déplacement du visiteur
– L’angle entre l’orientation de la souris et l’orientation de la ligne verticale : la
vitesse angulaire (signée) de l’orientation du visiteur
FIGURE 6.1 – La trajectoire intégrale utilisant la souris 4D.
6.2.2 Protocole de description de scènes sonores
Étant donné la généralisation de l’utilisation des Smartphones et des dispositifs
intelligents permettant la traque et l’accompagnement des utilisateurs en temps réel,
pourra-t-on imaginer un langage ou un protocole unifié de description et d’interactionSection 6.2. Perspectives 149
avec les scènes sonores qui pourra assurer l’interopérabilité entre les différents systèmes
de RAS appliquée à la visite de musée.
Dans ce cadre, TourML a été introduit par Robert Stein, et Nancy Proctor [Stein11]
comme étant un langage standard pour la définition des parcours mobiles des musées.
C’est un schéma XML qui décrit la structure, le contenu et l’expérience prévue d’un
parcours mobile de musée en identifiant ses éléments constitutifs. TourML décrits les
éléments qui composent un parcours en utilisant trois identifiants essentiels :
1. L’"Asset" qui décrit un composant élémentaire compris dans le parcours, peut être
défini donc par un "Asset" de type vidéo, image, web, etc. Une instance TourML
doit au minimum présenter l’ensemble d’"Asset" contenus dans ce parcours.
2. Le "Stop" qui constitue une étape du parcours et qui se compose d’un groupe
d’"Asset"perceptibles au mêmes temps. Il peut être par exemple un diaporama de
photos joué sur un arrière plan audio.
3. La "Connection" qui définit le sens du parcours et qui relie un "Stop" au "Stop"
qui le suit dans le parcours
Ceci permet au final de créer un graphe orienté du tour définissant comment le
visiteur doit se déplacer entre les "Stop".
Ce standard de métadonnées fournit un certain nombre d’avantages pour les musées.
En effet, il permettre de faire migrer le contenu et la structure d’un parcours parmi
les divers outils mobiles disponibles et futurs, sans nécessité de réadaptation manuelle
par le personnel du musée. Il permet également aux musées de choisir les outils auteur
qui répondent le mieux à leurs besoins tout en continuant à utiliser les appareils mobiles
qui s’adaptent le mieux à leur contenu, et finalement il contribue au à la survie du
contenu des parcours des musée au avancés technologique de présentation du contenu
multimédia.
TourML peut être utilisé, après une personnalisation importante, pour représenter
notre modèle de la scène sonore. Ceci nécessite bien le développement de plusieurs
assetType, stopType et propertyType associés. Nous pouvons imaginer dans notre cas
la définition d’asset "zone d’audibilité" ceci nécessite la définition du assetType "ZoneDAudibiliteAsset",
ainsi que plusieurs propertyType qui lui sont liées.
Mais pour définir le modèle de navigation et le modèle visiteur, une extension du
standard s’impose. En effet un élément "visitor" pourra être rajouté pour décrire le ou
les visiteurs évoluant dans le graphe du parcours. Deux éléments "Action" et "State"
pourront être introduits pour définir une politique d’interaction. Un "State" représente
un état d’un "Visitor" par rapport à un "Asset". Une "Action" représente un acte fait
par ce visiteur, soit un geste soit un arrêt prolongé. Cette "Action" peut être définie
en utilisant des éléments de temps, de position et d’orientation. Nous pouvons définir
également un élément "interaction" qui se compose de deux "State", et une "Action" qui
définit l’acte permettant le passage d’un "State" à un autre.150 Chapitre 6. Conclusion et travaux futurs
Par contre, le contenu audio qui nous intéresse dans cette thèse, ne peut être repré-
senté dans TourML qu’entant que simple contenu média, sans prendre en considération
la fonctionnalité de la spatialisation sonore. En outre, le standard ne permet pas de spé-
cifier :
– à quel objets exposé un son est associé ?
– où devrait être joué le son géographiquement, pourrait-il y avoir des superpositions
entre les "Stop" ?
– comment va être joué le son : en boucle ou une seule fois, émanant d’une source
sonore ou réparti régulièrement dans une ZA ?
Ainsi d’autres travaux d’extension de TourML doivent être faits pour une représentation
complète de notre modèle de scène sonore.
6.2.3 Autres directions de recherche
Cette thèse se trouvant au carrefour de différents domaines, elle nous ouvre plusieurs
directions de recherche dont l’étude s’avère nécessaire pour une meilleure utilisation
de la spatialisation sonore comme moyen d’autoguidage.
L’un des sujets importants à étudier serait une analyse approfondie du comportement
naturel des visiteurs afin de déduire leurs intérêts et préférences. Outre l’utilisation
du profil du visiteur, l’idée la plus basique appliquée dans ce travail est de se
référer au temps passé en regardant un objet et en écoutant le son qui lui est associé
pour estimer l’intérêt porté à ce dernier. La question est certainement beaucoup plus
complexe. L’intérêt peut varier dans le temps. Il peut dépendre de l’expérience du visiteur
mais aussi des événements avant et après la visite. Le profil tout seul ne peut
pas refléter l’intérêt puisque ce même profil est variable. Le long regard porté vers un
objet pourra même dans certaines conditions être interprété comme un désintérêt, une
contestation ou un refus. Comment pourra-t-on déduire si l’intérêt concerne la totalité
de l’objet ou qu’une seule composante de ce dernier : sa forme, sa couleur, sa fonction, le
son associé. Concernent la gestuelle ou le "body language", il convient de noter que les
codes ne sont pas similaires pour tout type de public, nous pouvons penser aux indiens
par exemple qui balancent leurs tête de droite à gauche pour dire oui, contrairement
aux européens par exemple. Le public malvoyant nécessite également une attention
particulière pour étudier son propre langage du corps.
Une autre direction de recherche serait l’étude de la traque continue de la position et
de l’orientation du visiteur sur un plan sociétal. La question de la vie privée a suscité et
suscite encore beaucoup d’inquiétude vis à vis des nouvelles technologies qui imposent
une traque et un suivi continu de l’activité de l’utilisateur. L’objectif étant d’enrichir la
visite, comment évaluer le besoin réel de l’utilisateur et le niveau d’implication du système
dans son comportement ? Serait-il plus judicieux de lui laisser un espace de liberté
en n’interprétant que certains de ses comportements et pas tous ? Quel serait le seuil au
niveau du temps de parcours, du nombre d’objets sonorisé et en termes de contenuSection 6.2. Perspectives 151
sonore à partir duquel l’augmentation sonore gênera la visite ? Dépassant ce seuil cette
application de la RAS dans la visite au musée mènera-t-elle vers une surcharge ou une
diminution de la réalité ? Empêchera-t-elle le visiteur d’apercevoir quelques détails liés
aux objets exposés ?
Par ailleurs, étant donné la généralisation de l’utilisation des Smartphones et des
dispositifs intelligents permettant la traque des utilisateurs en temps réel, jusqu’où
peut-on étendre le modèle SARIM pour qu’il se généralise à d’autres situations de la
vie quotidienne ? Pourra-t-on imaginer dans le futur un système basé sur la RAS qui
nous assiste dans nos tâches quotidiennes ? La question se pose également pour le public
malvoyant pour lequel une assistance généralisée pourra être intéressante. Pourrat-on
imaginer un langage ou un protocole unifié de description et d’interaction avec
les scènes sonores qui pourront assurer l’interopérabilité entre les différents systèmes
de RAS appliquée à la vie quotidienne. Une analogie peut être faite avec le système
GSM qui fait passer le téléphone portable d’un relais à l’autre sans interruption et sans
nécessité d’adaptation. Quelle sont les défis techniques posés pour une telle approche
(architecture client/serveur, p2p,...)
La question de la mise en échelle du système et de la granularité des détails de
l’environnement que l’on souhaite sonoriser se pose également à ce stade. La vitesse
du déplacement mais aussi le domaine d’application joueront nécessairement dans la
définition de cette dernière.
La question des canaux d’interaction est également intéressante à étudier. Étant
donné que l’objectif et de réduire au maximum l’attention requise pour interagir avec
l’environnement sonore, comment pourra-t-on enrichir le langage utilisé pour communiquer
avec cet environnement ? Devra/pourra-t-on introduire de nouveaux moyens
pour interpréter les gestes corporels et surtout manuels ou vocaux des utilisateurs.
Nous penserons éventuellement à des systèmes de détection de mouvements à travers
l’analyse du son, de l’image, etc. Le modèle pourra être également adapté pour qu’il
soit appliqué à une visite d’un groupe de visiteurs. Comment interpréter le comportement
du groupe et guider le groupe comme une visite d’un musée dans le cadre d’un
voyage organisé.
Enfin, plutôt que les visiteurs soient seulement récepteurs du contenu sonore, la
visite d’un musée pourrait même devenir participative. Des contenus de la scène sonore
pourraient être créés ou commentés en temps réels par les visiteurs eux même tel
le Web2.0. D’autres visiteurs pourraient ainsi réagir et interagir avec ces contenus et
éventuellement en proposer d’autres. Ceci nécessiterait bien évidemment un procédé
de modération et de sélection des contenus et commentaires pertinents.A
Annexe
Nous présentons dans ce chapitre, dans un premier temps, le calcul effectué pour
récupérer les valeurs des angles d’Euler données par le Spark f unIMU 6DOF V4.
Dans un second temps, nous présentons le matériel utilisé lors des expériences menées
dans le musée des arts et métiers de Paris.
A.1 Calcul de l’orientation avec Sparkfun IMU-6DOF-V4
Nous avons utilisé ce capteur dans le but d’obtenir des mesures précises des angles
de l’orientation de la tête du visiteur, surtout pour le Lacet aussi appelé Heading, le
Tangage ou Elevation et le Roulis ou Roll. Le Lacet est défini comme l’angle dans le plan
horizontal local mesuré dans le sens des aiguilles de la montre à partir de la direction
du vrai Nord (axe polaire de la Terre). Le Tangage est l’angle formé entre l’axe X et
l’horizon/sol, et le Roulis est l’angle formé entre l’axe Y et l’horizon/sol (Figure A.1).
A.1.0.1 Le calcul du tangage et du roulis
Nous pouvons obtenir des mesures assez fiables du Tangage et du Roulis en utilisant
les données fournies par l’accéléromètre embarqué dans le IMU-6DOF-V4. En pratique,
au repos, le capteur renvoie les coordonnées du vecteur force de gravité dans un repère
local au circuit. Celui-ci ne correspond pas à la verticale quand le capteur est posé à
plat. Il faut donc effectuer une calibration. Pour cette fin, la procédure que nous avons
suivie est celle décrite pour le calibrage de la Wiimote [Kionix07]. Elle consiste à poser154 Annexe A. Annexe
FIGURE A.1 – Dessin des axes de roulis, tangage et lacet sur un avion.
le capteur de manière à avoir successivement les trois axes X, Y et Z à la verticale et
à collecter les valeurs renvoyées : x1,y1,z1 lorsque l’axe X est vertical, x2,y2, z2 lorsque
l’axe Yest vertical et x3,y3, z3 lorsque l’axe Z est vertical.
On calcule alors les coordonnées du point origine :
x0=(x1 + x2)/2y0=(y1 + y3)/2
z0=(z2 + z3)/2
On obtient ainsi les coordonnées du vecteur force (exprimées en g) :
ax=(xraw x0)/(x3 x0)
ay=(yraw y0)/(y2 y0)
az=(zraw z0)/(z1 z0)
où xraw, yraw, zraw sont les mesures de l’accéléromètre.
Si l’accéléromètre n’est pas en mouvement accéléré, la mesure des cordonnées du
vecteur gravité permet d’obtenir l’orientation dans l’espace du dispositif, les valeurs
du Tangage et du Roulis sont donc calculées à partir les formules :
Tangage=arctan(ax/sqrt(ay ay + az az))
Roulis=arctan(ay/sqrt(ax ax + az az))
A.1.0.2 Le calcul du lacet
Une approche naïve pour calculer le Lacet consiste à une intégration de la vitesse
angulaire donnée par le gyroscope. Il peut également être calculé à partir des données
du magnétomètre. Toutefois, ces deux méthodes ne donnent pas des résultats
exacts. En effet, les capteurs magnétiques sont soumis à des perturbations imprévi-Section A.1. Calcul de l’orientation avec Sparkfun IMU-6DOF-V4 155
sibles. Par ailleurs, les capteurs gyroscopiques sont eux aussi sujets d’une dérive (Drift)
de leurs mesures d’origines (Bias) qui augmente de manière non régulière au fil du
temps. Afin d’éviter la dérive du gyroscope et les perturbations magnétiques, notre
approche consiste à coupler les données du magnétomètre, de l’ accéléromètre et du
gyroscope embarquées dans l’IMU afin d’avoir le suivi le plus optimal de l’orientation.
Notre approche de couplage consiste à calculer le Lacet fourni par le magnétomètre et
le Lacet fourni par le gyroscope, puis à les combiner selon les algorithmes décrits dans
ce qui suit.
Lacet du magnétomètre :
Nous commençons par calculer le Lacet en utilisant uniquement les données du
magnétomètre [Caruso00]. La première étape consiste à calibrer la boussole. Pour
cela, nous calculons les valeurs minimales et maximales des mesures du magné-
tomètre selon les 3 axes (xmin, ymin, zmin, xmax, ymax, zmax). L’objectif est d’inclure
les facteurs de corrections ferreux. La proximité des matériaux ferreux peut créer
des distorsions, les nouvelles valeurs de la boussole sont :
yc = 2 (yi ymin)/(ymax ymin) 1
xc = 2 (xi xmin)/(xmax xmin) 1
zc = 2 (zi zmin)/(zmax zmin) 1
Etant donné que la sensibilité du magnétomètre diminue lorsque le Tangage et le
Roulis augmentent, nous les incluons dans le calcul du Lacet :
Xh = xc cos( Tangage)
+yc sin( Roulis) sin( Tangage)
zc cos( Roulis) sin( Tangage);
Yh = yc cos( Roulis) + zc sin( Roulis);
Ainsi, la formule pour calculer le Lacet à partir du magnétomètre et de l’accéléromètre
est :
Lacetm = arctan(Yh/Xh)
Lacet du gyroscope :
Les données fournies par le gyroscope correspondent aux vitesses auxquelles les
trois angles (Lacet, Tangage et Roulis) varient. Elles ne nous permettent pas ainsi
directement de mesurer l’anglev du Lacet. Nous ne pourrons que calculer les variations
d’angles sur des période successives puis calculer le Lace en se basant sur
la formule suivante :
Lacetg(i) = Lacetg(i 1) + ΔLacetg
Théoriquement, la vitesse angulaire est la dérivée de l’angle par rapport au temps.
Soit ωLacet(r) la mesure correspondante à la valeur réelle de la vitesse angulaire, et
ωLacet(m) correspond à la valeur mesurée de la vitesse angulaire par le gyroscope.
Lacetg est la valeur du lacet mesurée par le gyroscope.156 Annexe A. Annexe
ωLacet(r) = dLacetg/dt
dLacetg = ωLacet(r) dt
pour une fonction discrète, cette formule s’écrira ωLacet(r) = ΔLacetg/Δt
ΔLacetg = ωLacet(r) Δt
Les mesures récupérées par le gyroscope ne sont pas prises dans une échelle
réelle, mais bien multipliées par un facteur d’échelle correspondant aux spéci-
fications du constructeur. On doit multiplier le résultat par ce facteur d échelle fe
pour pouvoir rendre les mesures en degré.
ωLacet(r) = ωLacet(m) fe
Ce facteur peut être calculé expérimentalement, dans notre cas il correspond à la
valeur fe = 4/3. En plus de ce facteur d échelle qui reste fixe dans le temps, Les
vitesses mesurées par le gyroscope sont retournées avec un Biais. Ceci signifie
que :
fe = 4/3
Les vitesses mesurées par le gyroscope sont retournées avec un Biais. Soit
ωLacet(mb) correspond à la mesure brute de la vitesse angulaire retournée par
le gyroscope. Ceci signifie que :
ωLacet(m) = ωLacet(mb) + Biais
ΔLacetg = (ωLacet(mb) + Biais) fe Δt
La valeur du Biais est égale à la mesure du gyroscope lorsque celui-ci est immobile
(ωLacet(r) = 0). Cependant, les gyroscopes souffrent d’une dérive. Plus précisément,
le Biais change dans le temps indépendamment des mesures. Cela rend
la vitesse angulaire inexacte après quelques secondes. Afin de remédier à cet inconvénient,
nous proposons d’utiliser la variance de la vitesse angulaire du Lacet
en vue de déterminer si le capteur est en mouvement ou non. Si sa valeur reste
proche du zéro pendant une période T0 = 0, 5 secondes (période nécessaire pour
faire 100 mesures de gyroscope, sachant que la fréquence des mesures du capteur
est de 195 Hz ), nous supposons qu’il n’y a pas de mouvement, et nous mettons à
jour le Biais avec la mesure du gyroscope. En fait, la variance de la vitesse angulaire
du Lacet peut s’approcher du zéro également en cas d’un mouvement avec
une vitesse constante, mais cette situation se produit rarement puisque les mouvements
effectués pour tourner la tête sont en général courts et avec une vitesse
souvent variable.
i f(σ2(ωLacet(m)) < ) pendant une durée spécifiée
Biais = E(ωLacet(m)) avec E : l’espérance mesurée sur la période T
Les algorithmes que nous avons cités ci-dessus permettent de réduire l’effet des
perturbations magnétiques, la dérive du gyroscope, et d’obtenir une estimation
fiable de l’angle du Lacet. Nous avons cité ces algorithmes comme étant un premier
pas vers une API ”open source” qui traite les fonctionnalités de captation de
la position et de l’orientation en utilisant des capteurs IMU.Section A.2. Consignes 157
A.1.1 Couplage du magnétomètre et du gyroscope
Après avoir calculé séparément les deux lacets(du magnétomètre Lacetm et du gyroscope
Lacetg), nous combinons les deux valeurs pour obtenir une meilleure mesure
du Lacetc et surmonter les problèmes de chaque capteur [Roetenberg05]. Nous supposons
qu’il existe des perturbations magnétiques lorsqu’il y a une différence importante
entre la variance de la vitesse angulaire obtenue par le gyroscope et la variance du la
vitesse angulaire obtenue par le magnétomètre. Par conséquent, quand il n’y a pas de
perturbation nous mettons Lacetc = Lacetm, si une perturbation est détectée, la diffé-
rence entre Lacetg et le dernier Lacetc non perturbé est : Lacetc = Lacetc + ∆(Lacetg) où
∆(Lacetg) est la différence entre le Lacetg et le dernier Lacetg non perturbé.
A.2 Consignes
Expérience dans la salle des communications
« Vous allez visiter cette salle comme vous le feriez en situation réelle. Nous vous
demandons simplement de vous concentrer uniquement sur les objets présentant une
description audio, indiqués par une vignette de couleur. Allez à votre rythme ; ce n’est
pas un jeu de piste, mais une situation de visite ”normale” du musée. Au bout de
quelques minutes, nous interromprons la visite pour vous poser des questions sur votre
expérience. Je vous suivrai tout au long de la visite pour en observer le déroulement,
mais je n’aurai pas le droit d’interagir avec vous. Rappelez vous seulement que ce n’est
pas vous que nous évaluons, mais le dispositif que vous utiliserez. »
Expérience dans la salle des automates
Condition 1 : «En observant cette salle, vous allez entendre des musiques provenant
de certains des automates exposés. Si vous repérez un objet qui vous intéresse, il
vous suffira d’orienter votre tête dans sa direction et de le fixer quelques secondes pour
écouter le sons qu’il émet. Après avoir écouté le morceau de musique d’un automate,
vous pourrez écouter les commentaire audio qui lui son relatifs si vous continuez de
regarder dans sa direction. Cependant, si vous en avez envie, vous pouvez à tout moment
passer à l’observation d’un autre objet en tournant la tête vers celui-ci. Nous vous
laissons libre d’explorer la scène comme vous le voudrez. Au bout de quelques minutes
nous arrêterons l’expérience pour vous poser des questions sur ce que vous viendrez
de vivre. Rappelez vous seulement que ce n’est pas vous que nous évaluons, mais le
dispositif que vous utiliserez. »
Condition 2 : « En observant cette salle, vous allez entendre des musiques provenant
de certains des automates exposés. Si vous repérez un objet qui vous intéresse, il vous
suffira d’orienter votre tête dans sa direction pour écouter le sons qu’il émet. Après
avoir écouté le morceau de musique d’un automate, vous pourrez écouter les commentaire
audio qui lui son relatifs si vous continuez de regarder dans sa direction. Cepen-158 Annexe A. Annexe
de recrutement.png
FIGURE A.2 – Formulaire de recrutement.
dant, si vous en avez envie, vous pouvez à tout moment passer à l’observation d’un
autre objet en tournant la tête vers celui-ci. Nous vous laissons libre d’explorer la scène
comme vous le voudrez. Au bout de quelques minutes nous arrêterons l ?expérience
pour vous poser des questions sur ce que vous viendrez de vivre. Rappelez vous seulement
que ce n’est pas vous que nous évaluons, mais le dispositif que vous utiliserez. »
A.3 Formulaire de recrutement
Afin de recruter les sujets, nous avons mis en place un formulaire (figure A.2) auquel
doit répondre les sujets qui souhaitent participer à cette expérimentation. A la base de
leurs réponses , nous avons sélectionné ceux qui vont participer à cette expérience.Section A.4. Questionnaires 159
A.4 Questionnaires
A.4.1 Questionnaire : salle des communications
Condition1 : SARIM
Le questionnaire proposé aux participants à la condition de SARIM dans la salle des
communications est représenté dans les figures A.3, A.4, A.5, A.6.
Condition2 : audioguide
Pour la condition de l’audioguide, les participants à l’expérimentation dans la salle
des communications, ont répondu au questionnaire suivant (figures A.7, A.8, A.9, A.10)
A.4.2 Questionnaire : salle des automates
Dans la salle des automates, les sujets qui ont participé à cette expérimentation dans
les deux conditions (zones croisées ou indépendantes), ont répondu au questionnaire
suivant (A.11, A.12, A.13)160 Annexe A. Annexe
FIGURE A.3 – Questionnaire de la salle des communications-condition SARIM (page1).Section A.4. Questionnaires 161
FIGURE A.4 – Questionnaire de la salle des communications-condition SARIM (page2).162 Annexe A. Annexe
FIGURE A.5 – Questionnaire de la salle des communications-condition SARIM (page3).Section A.4. Questionnaires 163
FIGURE A.6 – Questionnaire de la salle des communications-condition SARIM (page4).164 Annexe A. Annexe
FIGURE A.7 – Questionnaire de la salle des communications-condition de l’audioguide
(page1).Section A.4. Questionnaires 165
FIGURE A.8 – Questionnaire de la salle des communications-condition de l’audioguide
(page2).166 Annexe A. Annexe
FIGURE A.9 – Questionnaire de la salle des communications-condition de l’audioguide
(page3).Section A.4. Questionnaires 167
FIGURE A.10 – Questionnaire de la salle des communications-condition de l’audioguide
(page4).168 Annexe A. Annexe
FIGURE A.11 – Questionnaire de la salle des automates (page1).Section A.4. Questionnaires 169
FIGURE A.12 – Questionnaire de la salle des automates (page2).170 Annexe A. Annexe
FIGURE A.13 – Questionnaire de la salle des automates (page3).Bibliographie
[Abowd97] Gregory D. Abowd, Christopher G. Atkeson, Jason Hong, Sue
Long, Rob Kooper & Mike Pinkerton. Cyberguide : a mobile contextaware
tour guide. Wirel. Netw., vol. 3, no. 5, pages 421–433, SpringerVerlag
New York, Inc., Secaucus, NJ, USA, October 1997.
[Alais04] David Alais & David Burr. The Ventriloquist Effect Results from NearOptimal
Bimodal Integration. Current Biology, vol. 14, no. 3, pages
257–262, Cell Press, feb 2004.
[Albaum97] Gerald Albaum. The Likert scale revisited : an alternate version.(product
preference testing). Journal of the Market Research Society, vol. 39,
no. 2, pages 331–343, apr 1997.
[Almeida07] Rodrigo Almeida & Pierre Cubaud. Nearly-Integral Manipulation of
Rotary Widgets. In INTERACT, pages 489–492, 2007.
[Almeida09] Rodrigo Almeida. Thèse de doctorat : Contribution aux techniques pour
enrichir l espace moteur et l espace visuel des dispositifs d interaction bureautique.
Préparée au : Centre d’étude et de recherche en Informatique
du CNAM, Paris, France, 2009.
[AMNH] AMNH. AMNH Explorer from the American Museum of Natural History.
http://www.amnh.org/apps/explorer.php, consulté le
11/09/2013.
[Anastassova07] M. Anastassova, J. M. Burkhardt & C. Mégard. User-Centred Design
and Evaluation of Augmented Reality Systems for Industrial Applications
: Some Deadlocks and Breakthroughs. Virtual Reality International
Conference (VRIC) 2007, April 18-20, Laval, France (Best Paper
Award), Virtual Reality International Conference (VRIC) 2007,
April 18-20, Laval, France (Best Paper Award), 2007.
[Apeloig08] Yves Apeloig. La révolution des audioguides : Eshkar SARL Falard
Industrie. 2008. http://www.eurosfaire.prd.fr/7pc/
documents/1329753872_7_eshkarfrv10_2_0.pdf, consulté
le 10/09/2013.
[Azuma97] Ronald T. Azuma. A survey of augmented reality. Presence : Teleoperators
and Virtual Environments, vol. 6, no. 4, pages 355–385, aug
1997.172 BIBLIOGRAPHIE
[Azuma01] Ronald Azuma, Yohan Baillot, Reinhold Behringer, Steven Feiner,
Simon Julier & Blair MacIntyre. Recent Advances in Augmented Reality.
IEEE Comput. Graph. Appl., vol. 21, pages 34–47, IEEE Computer
Society Press, Los Alamitos, CA, USA, November 2001.
[Baudel95] Thomas Baudel. Thèse de doctorat : Réalité Augmentée : pour une dé nition
et une nouvelle dénomination du domaine. préparée à l’Université
Paris Sud, 1995.
[Bederson95] Benjamin B. Bederson. Audio augmented reality : a prototype automated
tour guide. In CHI ’95 : Conf.companion on Human factors in computing
systems, pages 210–211, New York, NY, USA, 1995. ACM.
[Bellotti02] Francesco Bellotti, Riccardo Berta, Alessandro De Gloria & Massimiliano
Margarone. User Testing a Hypermedia Tour Guide. IEEE
Pervasive Computing, vol. 1, no. 2, pages 33–41, IEEE Educational
Activities Department, Piscataway, NJ, USA, april 2002.
[Benelli99] Giuliano Benelli, Alberto Bianchi, Patrizia Marti, David Sennati &
E. Not. HIPS : Hyper-Interaction within Physical Space. Multimedia
Computing and Systems, International Conference on, vol. 2, page
1075, IEEE Computer Society, Los Alamitos, CA, USA, 1999.
[Bimber03] Oliver Bimber, L. Miguel Encarnação & Dieter Schmalstieg. The virtual
showcase as a new platform for augmented reality digital storytelling.
In Proceedings of the workshop on Virtual environments 2003,
EGVE ’03, pages 87–95, New York, NY, USA, 2003. ACM.
[Blauert83] Jens Blauert. Spatial Hearing : The Psychophysics of Human Sound Localization.
vol. 508, The MIT Press ; revised edition (October 2, 1996),
Cambridge, MA, USA, 1983.
[Bosseur96] Jean-Yves Bosseur. Vocabulaire de la musique contemporaine. Editions
Minerve, 1996.
[Boulin10] Jean Luc Boulin. Réalité augmentée et M-tourisme en ville : Rotterdam et
Amsterdam en Urban Augmented Reality. mobil’it studio, November
2010.
[Bourdot06] Patrick Bourdot, Damien Touraine & Jean-Marc Vézien. Les techniques
d intégration multimodale en environnement virtuel. In Traité
de la Réalité Virtuelle, Volume 1 : L’interfaçage, l’immersion et l’interaction
en environnement virtuel, volume 2 of Collection Sciences
mathématiques et informatiques, pages 381–387. Les Presses de l’École
des Mines de Paris, 2006.
[Bouvier09] Patrice Bouvier. Thèse de doctorat : La présence en réalité virtuelle, une
approche centrée sur l utilisateur. Préparée à : L’Université Paris-Est,
France, 2009.BIBLIOGRAPHIE 173
[Brungart99] Douglas S. Brungart. Auditory localization of nearby sources. III. Stimulus
effects. Journal of the Acoustical Society of America, vol. 106,
no. 6, pages 3589–3602, Altera Corporation, 1999.
[Burr06] David Burr & David Alais. Combining visual and auditory information.
In Visual Perception Fundamentals of Awareness : Multi-Sensory
Integration and High-Order Perception, volume 155, Part B of Progress
in Brain Research, pages 243 – 258. Elsevier, 2006.
[B.V.09] Xsens Technologies B.V. MTi and MTx User Manual and Technical
Documentation. The Netherlands, 2009. http://edge.rit.
edu/content/P10010/public/PDF/XsensMtx.pdf, consulté
le : 11/09/2013.
[Carro06] Manuel Carro, José F. Morales, Henk L. Muller, G. Puebla & M. Hermenegildo.
High-level languages for small devices : a case study. In
CASES ’06 : Proc. of the 2006 int. Conf. on Compilers, architecture
and synthesis for embedded systems, pages 271–281, New York,
NY, USA, 2006. ACM.
[Carroll87] John M. Carroll & Mary Beth Rosson. The paradox of the active user.
In Interfacing thought : cognitive aspects of human-computer interaction,
pages 80–111. MIT Press, Cambridge, MA, USA, 1987.
[Caruso00] Michael J Caruso. Applications of magnetic sensors for low cost compass
systems. Position Location and Navigation Symposium, IEEE 2000,
pages 177–184, IEEE, 2000.
[Chalon04] René Chalon. Thèse de doctorat : Réalité Mixte et Travail Collaboratif
: IRVO, un modèle de l Interaction Homme- Machine. Préparée à :
L’Ecole Centrale de Lyon, France, 2004.
[Cheverst00] Keith Cheverst, Nigel Davies, Keith Mitchell, Adrian Friday &
Christos Efstratiou. Developing a context-aware electronic tourist
guide : some issues and experiences. In Proceedings of the SIGCHI
conference on Human Factors in Computing Systems, CHI ’00,
pages 17–24, New York, NY, USA, 2000. ACM.
[Cheverst02] Keith Cheverst, Keith Mitchell & Nigel Davies. The role of adaptive
hypermedia in a context-aware tourist GUIDE. Communications
of the ACM Journal, vol. 45, no. 5, pages 47–51, ACM, New York,
NY, USA, may 2002.
[Childs03] Edward Childs & Ville Pulkki. Using multi-channel spatialization in
soni cation : A case study with meteorological data. Proceedings of
the 9th International Conference on Auditory Display (ICAD2003),
vol. 2003, Boston University Publications Production Department.,
Boston, USA, July 2003.174 BIBLIOGRAPHIE
[Chueng02] Priscilla Chueng. Designing sound canvas : the role of expectation and
discrimination. In CHI ’02 Extended Abstracts on Human Factors
in Computing Systems, CHI EA ’02, pages 848–849, New York, NY,
USA, 2002. ACM.
[Coleman68] Paul D. Coleman. Dual Rôle of Frequency Spectrum in Determination
of Auditory Distance. Journal of the Acoustical Society of America,
pages 631–632, Altera Corporation, 1968.
[Crawford03] Chris Crawford. Chris crawford on game design. New Riders
Games, jun 2003.
[Damala09] Areti Damala. Thèse de doctorat : Interaction Design and Evaluation
of Mobile Guides for the Museum Visit : A Case Study in Multimedia
and Mobile Augmented Reality. Préparée au : Centre d’étude et de
recherche en Informatique du CNAM, Paris, France, 2009.
[Damala10] Areti Damala, Isabelle Astic & Aunis Coline. PLUG, Université Paris
Nuit : A Design Reiteration of a Mobile Museum Edutainment Application.
In VAST’10, Virtual Reality, Archaeology and Cultural Heritage,
The 8th EUROGRAPHICS Workshop on Graphics and Cultural
Heritage, Short and Project Papers, Paris, France, September 21-
24, 2010, pages 91–94, September 2010.
[Damala12] Areti Damala & Nenad Stojanovic. Tailoring the Adaptive Augmented
Reality (A2R) Museum Visit : Identifying Cultural Heritage Professionals
? Motivations and Needs. Atlanta, Georgia, USA, 2012.
[Damala13] Areti Damala, Tobias Schuchert, I. Rodriguez, J. Moragues, K. Gilleade
& Ljiljana Stojanovic. Exploring the Affective Museum Visiting
Experience : Adaptive Augmented Reality (A2R) and Cultural Heritage.
International Journal of Heritage in the Digital Era, vol. 2, no. 1,
pages 117–141, Multi Science Publishing, 2013.
[Davies09] Russell Davies. Blog : La réalité augmentée sonore, 2009.
http://www.la-realite-augmentee.fr/videos/
la-realite-augmentee-sonore, consulté le 03/09/2013.
[Dean94] David Dean. Museum exhibition : theory and practice. The heritage
: care, preservation, management programme. Routledge, Taylor
and Francis Group, London, 1994.
[Delerue02] Olivier Delerue & Olivier Warusfel. Authoring of virtual sound scenes
in the context of the LISTEN project. In Proceedings of the AES 22nd
International Conference on Virtual, Synthetic and Entertainment
Audio, Helsinki, 2002.
[Deshays02] Sophie Deshays. Audioguides et musées. pages 24–31, Office de Coopération
et d’Information Muséales (OCIM), 2002.BIBLIOGRAPHIE 175
[Deshays04] Sophie Deshays. L usage des supports mobiles au musée, des audioguides
classiques au multimédia nomade. In Digital Culture and Heritage.
Partimoine and Culture Numérique (ICHIM 04), Haus der Kulturen
der Welt, Berlin, Août 2004.
[Dubois01a] Emmanuel Dubois. Thèse de doctorat : Chirurgie Augmentée, un cas
de Réalité Augmentée. Conception et réalisation centrées sur l utilisateur.
ANRT, Grenoble, 2001. Préparée au Laboratoire de Communication
Langagière et Interaction Personne-Système (IMAG), Université Joseph
Fourier.
[Dubois01b] Emmanuel Dubois, Laurence Nigay & Jocelyne Troccaz. Consistency
in Augmented Reality Systems. In Proceedings of the 8th IFIP International
Conference on Engineering for Human-Computer Interaction,
EHCI ’01, pages 111–122, London, UK, 2001. Springer-Verlag.
[Dünser07a] Andreas Dünser, Raphael Grasset, Hartmut. Seichter & Mark
Billinghurst. Applying HCI principles to AR systems design. Piscataway,
NJ, USA, 2007. University of Canterbury. Human Interface
Technology Laboratory.
[Dünser07b] Andreas Dünser & Eva Hornecker. An observational study of children
interacting with an augmented story book. In Proceedings of the 2nd
international conference on Technologies for e-learning and digital
entertainment, Edutainment’07, pages 305–315, Berlin, Heidelberg,
2007. Springer-Verlag.
[Dünser08] Andreas Dünser, Raphaël Grasset & Mark Billinghurst. A survey of
evaluation techniques used in augmented reality studies. In ACM SIGGRAPH
ASIA 2008 courses, SIGGRAPH Asia ’08, pages 1–27, New
York, NY, USA, 2008. ACM.
[Durand11] Peggy Durand. Blog : La réalité augmentée, un nouvel outil au service
du patrimoine. 2011. http://www.la-realite-augmentee.
fr/videos/la-realite-augmentee-sonore, consulté le
03/09/2013.
[Eckel01a] Gerhard Eckel. Immersive Audio-Augmented Environments - The LISTEN
Project. In 5th Int. Conf. on Information Visualization (IV2001),
Los Alamitos, CA, USA, 2001.
[Eckel01b] Gerhard Eckel. The Vision of the LISTEN Project. In Proceedings of
the Seventh International Conference on Virtual Systems and Multimedia
(VSMM’01), VSMM ’01, pages 393–, Washington, DC, USA,
2001. IEEE Computer Society.
[Faller04] Christof Faller & Juha Merimaa. Source localization in complex listening
situations : Selection of binaural cues based on interaural coherence.
Journal of the Acoustical Society of America, vol. 116, no. 5, pages
3075–3089, ASA, 2004.176 BIBLIOGRAPHIE
[Farman12] Jason Farman. Mobile interface theory : Embodied space and locative
media. Media studies. Taylor & Francis Group, 2012.
[Fauche08] Anne Fauche. La médiation scienti que et culturelle de musée. Laboratoire
de Didactique et d’Epistémologie des Sciences, 2008.
[Filippini03] Fantoni Silvia Filippini. Personalization through it in museums. Does
it really work ? the case of the marble museum web site. Proceedings
of ICHIM03 on Cultural Institutions and Digital Technology, Paris,
France, 2003.
[Fink02] Josef Fink & Alfred Kobsa. User Modeling for Personalized City Tours.
Artif. Intell. Rev., vol. 18, no. 1, pages 33–74, Kluwer Academic Publishers,
Norwell, MA, USA, September 2002.
[Fodróczi08] Zoltán Fodróczi & András Radványi. Localization of directional sound
sources supported by a priori information of the acoustic environment.
EURASIP J. Adv. Signal Process, vol. 2008, Hindawi Publishing
Corp., New York, NY, United States, jan 2008.
[Gabbard08] Joseph L. Gabbard & J. Edward Swan II. Usability Engineering
for Augmented Reality : Employing User-Based Studies to Inform Design.
IEEE Transactions on Visualization and Computer Graphics,
vol. 14, no. 3, pages 513–525, IEEE Educational Activities Department,
Piscataway, NJ, USA, may 2008.
[Gaudy08] Thomas Gaudy. Thèse de doctorat : Etude et développements de jeux
vidéo sonores accessibles aux personnes aveugles. Préparée au : Centre
d’étude et de recherche en Informatique du CNAM, Paris, France,
2008.
[Gee04] James Paul Gee. What video games have to teach us about learning
and literacy. Palgrave Macmillan, New York, 2004.
[Gilkey95] Robert H. Gilkey & Janet M. Weisenberger. The Sense of Presence for
the Suddenly-Deafened Adult : Implications for Virtual Environments.
Presence, vol. 4, no. 4, pages 357–363, 1995.
[Gleue01] Tim Gleue & Patrick Dáhne. Design and implementation of a mobile
device for outdoor augmented reality in the archeoguide project. In Proceedings
of the 2001 conference on Virtual reality, archeology, and
cultural heritage, VAST ’01, pages 161–168, New York, NY, USA,
2001. ACM.
[GoBmann02] Joachim GoBmann & Marcus Specht. Location Models for Augmented
Environments. Personal Ubiquitous Computing., vol. 6, pages 334–
340, Springer-Verlag, London, UK, January 2002.
[GoBmann04] Joachim GoBmann. Connecting virtual sound and physical space in audioaugmented
environments. Proceedings of ICAD 04. Meeting of theBIBLIOGRAPHIE 177
International Conference on Auditory Display, Sydney, Australia,
2004.
[Golledge91] Reginald G. Golledge, Jack M. Loomis, Roberta L. Klatzky, Andreas
Flury & Xiao-Li Yang. Designing a personal guidance system to aid
navigation without sight : progress on the GIS component. International
Journal of Geographical Information Science, vol. 5, no. 4, pages
373–395, 1991.
[Golledge98] Reginald G. Golledge, Roberta L. Klatzky, Jack M. Loomis, Jon
Speigle & Jerome Tietz. A Geographical Information System for a GPS
Based Personal Guidance System. International Journal of Geographical
Information Science, vol. 12, no. 7, pages 727–749, 1998.
[Gonot08] Antoine Gonot. Thèse de doctorat : Conception et évaluation d interfaces
de navigation dans les environnements sonores 3D. Préparée au : Centre
d’étude et de recherche en Informatique du CNAM, Paris, France,
2008.
[Hatala04] Marek Hatala, Leila Kalantari, Ron Wakkary & Kenneth Newby.
Ontology and rule based retrieval of sound objects in augmented audio
reality system for museum visitors. In ACM symposium on applied
computing, SAC ’04, pages 1045–1050, New York, NY, USA, 2004.
ACM.
[Hatala05] Marek Hatala & Ron Wakkary. Ontology-Based User Modeling in an
Augmented Audio Reality System for Museums. User Modeling and
User-Adapted Interaction, vol. 15, no. 3-4, pages 339–380, Kluwer
Academic Publishers, Hingham, MA, USA, 2005.
[Heller09] Florian Heller, Thomas Knott, Malte Weiss & Jan Borchers. Multiuser
interaction in virtual audio spaces. pages 4489–4494, ACM, New
York, NY, USA, 2009.
[Heller11] Florian Heller & Jan Borchers. Corona : Audio Augmented Reality in
Historic Sites. MobileHCI 2011 Workshop on Mobile Augmented
Reality : Design Issues and Opportunities, pages 51–54, Stockholm,
Sweden, August 2011.
[Holland02] Simon Holland, David R. Morse & Henrik Gedenryd. AudioGPS :
Spatial Audio Navigation with a Minimal Attention Interface. Personal
Ubiquitous Comput., vol. 6, no. 4, pages 253–259, Springer-Verlag,
London, UK, 2002.
[Inc.10] InterSense Inc. INERTIACUBE BT : Dynamic wireless inertial
orientation sensor. MA 01821, USA, 2010. http:
//www.est-kl.com/fileadmin/media/pdf/InterSense/
InertiaCube_BT_Datasheet.pdf, consulté le 11/09/2013.178 BIBLIOGRAPHIE
[Jacob94] Robert J. K. Jacob, Linda E. Sibert, Daniel C. Mcfarlane & M. Preston
Mullen. Integrality and Separability of Input Devices. ACM Transactions
on Computer-Human Interaction, 1994.
[Jacomy02] Bruno Jacomy. L’âge du plip, chroniques de l’innovation technique.
Editions du Seuil, Février 2002.
[Jones08] Matt Jones, Steve Jones, Gareth Bradley, Nigel Warren & David
Bainbridge. ONTRACK : Dynamically adapting music playback to support
navigation. Personal and Ubiquitous Computing, pages 513–
525, 2008.
[Jot99] Jean-Marc Jot. Real-time spatial processing of sounds for music, multimedia
and interactive human-computer interfaces. Multimedia Syst.,
vol. 7, no. 1, pages 55–69, Springer-Verlag New York, Inc., Secaucus,
NJ, USA, January 1999.
[Kang96] Seong-Hoon Kang & Sung-Han Kim. Realistic Audio Teleconferencing
using Binaural and Auralization Techniques. Etri Journal, vol. 18, pages
41–51, 1996.
[Katz10] Brian F.G. Katz, Philippe Truillet, Simon Thorpe & Christophe Jouffrais.
NAVIG : Navigation Assisted by Arti cial Vision and GNSS.
Workshop on Multimodal Location Based Techniques for Extreme
Navigation - Pervasive 2010 conference, ACM, Helsinki, Finland,
2010.
[Kionix07] Kionix. Tilt-Sensing with Kionix MEMS Accelerometers. Application
Note AN005, 2007.
[Kobsa01] Alfred Kobsa, Jürgen Koenemann & Wolfgang Pohl. Personalised hypermedia
presentation techniques for improving online customer relationships.
Knowl. Eng. Rev., vol. 16, no. 2, pages 111–155, Cambridge
University Press, New York, NY, USA, march 2001.
[Koizumi92] Nobuo Koizumi, Michael Cohen & Shigeaki Aoki. Design of Virtual
Conferencing Environment in Audio Telecommunication. Audio Engineering
Society Convention 92, March 1992.
[Lefebvre91] Bernard Lefebvre & Hélène Lefebvre. Le visiteur, le guide et l éducation.
Revue canadienne de l’éducation, pages 331–337, 1991.
[Lemordant11] Jacques Lemordant. Indoor Outdoor AR Navigation - Autonomy Projet
(Global Competitive Cluster Minalogic). Free & Open Source Software
for GeoSpatial (FOSS4G), Osaka, Japan, 2011.
[Leprado07] Cécile Leprado. LISTEN LISBOA : scripting languages for interactive
musical installations. 4th Sound and Music Computing Conference
(SMC), Lefkada, Greece, July 2007.
[Légal07] Jean-Baptiste Légal. Cours universitaire : Métodologie Expérimentale.
Université Paris X-Nanterre, 2007. http://j.b.legal.free.BIBLIOGRAPHIE 179
fr/Blog/share/Dynamiques/Methodo.pdf, consulté le :
11/09/2013.
[Loomis98] Jack M. Loomis, Roberta L. Klatzky & Reginald G. Golledge. Auditory
distance perception in real, virtual, and mixed environments. In
Mixed reality : Merging real and virtual worlds, pages 201–214, Tokyo,
Japon, 1998.
[Lyons00] Kent Lyons, Maribeth Gandy & Thad Starner. Guided by Voices :
An Audio Augmented Reality System. In PROCEEDINGS OF INTL.
CONF. ON AUDITORY DISPLAY (ICAD) 2000, 2000.
[Mackay93] Wendy Mackay, Gilles Velay, Kathy Carter, Chaoying Ma & Daniele
Pagani. Augmenting reality : adding computational dimensions to paper.
Commun. ACM, vol. 36, pages 96–97, ACM, New York, USA, July
1993.
[Mackay96] Wendy Mackay. Réalité augmentée : le meilleur des
deux mondes. La recherche, pages 32–37, 1996.
http://www.larecherche.fr/savoirs/dossier/
realite-augmentee-meilleur-deux-mondes-01-03-\
\1996-87977, consulté le : 11/09/2013.
[Mackay98] Wendy E. Mackay. Augmented reality : linking real and virtual worlds :
a new paradigm for interacting with computers. In Proceedings of the
working conference on Advanced visual interfaces, AVI ’98, pages
13–21, New York, USA, 1998. ACM.
[Mallem08] Malik Mallem & David Roussel. Realite augmentee : Principes,
technologies et applications. Ed. Techniques Ingénieur, Référence
TE5920, 2008.
[Mariette09] Nicholas Mariette & Brian F.G. Katz. Sounddelta - Large scale, Multiuser
audio augmented reality. Proc. of the EAA Symposium on Auralization,
Espoo, Finland, 2009.
[Mariette10] Nicholas Mariette. Navigation performance effects of render method and
head-turn latency in mobile audio augmented reality. In Proceedings
of the 6th international conference on Auditory Display, CMMR/ICAD’09,
pages 239–265, Berlin, Heidelberg, 2010. Springer-Verlag.
[Middlebrooks91] John C. Middlebrooks & David M. Green. Sound Localization by Human
Listeners. Annual Review of Psychology, vol. 42, no. 1, pages
135–159, Department of Neuroscience, University of Florida, Gainesville
32610., 1991.
[Milgram94a] Paul Milgram & Fumio Kishino. A taxonomy of mixed reality visual
displays. IEICE Transactions on Information Systems, 1994.
[Milgram94b] Paul Milgram, Haruo Takemura, Akira Utsumi & Fumio Kishino.
Augmented Reality : A Class of Displays on the Reality-Virtuality Conti-180 BIBLIOGRAPHIE
nuum. pages 282–292, ATR Communication Systems Research Laboratories.
Kyoto 619-02, Japan, 1994.
[Milgram99] Paul Milgram & Herman Colquhoun Jr. A Taxonomy of Real and Virtual
World Display Integration. International Symposium on Mixed
Reality, 1999.
[Mina10] An Xiao Mina. Louvre-DNP Museum Lab : Augmented Reality
Dish. 2010. http://www.frequency.com/video/
louvre-dnp-museum-lab-augmented-reality/2260257,
consulté le 10/09/2013.
[Mladenic96] Dunja Mladenic. Personal WebWatcher : Implementation and Design.
Rapport technique IJS-DP-7472, Department for Intelligent
Systems, J. Stefan Institute, Slovenia, 1996.
[Murat08] Aytekin Murat, Moss Cynthia F. & Simon Jonathan Z. A Sensorimotor
Approach to Sound Localization. ACM Trans. Appl. Percept.,
vol. 20, no. 3, pages 603–635, MIT Press, Cambridge, MA, Etatsunis,
2008.
[Nees08] Michael A. Nees & Bruce N. Walker. Data density and trend reversals
in auditory graphs : Effects on point-estimation and trend-identi cation
tasks. ACM Trans. Appl. Percept., vol. 5, no. 3, pages 13 :1–13 :24,
ACM, New York, NY, USA, sep 2008.
[Oberlander97] Jon Oberlander, Chris Mellish, Mick O’Donnell & Alistair Knott. Exploring
a Gallery with Intelligent Labels. In International Cultural Heritage
Informatics Meetings (ICHIM), pages 80–87, 1997.
[O’Brien08] Trevor M. O’Brien, Daniel F. Keefe & David H. Laidlaw. A case study
in using gestures and bimanual interaction to extend a high-DOF input
device. In Proceedings of the 2008 symposium on Interactive 3D
graphics and games, I3D ’08, pages 9 :1–9 :1, New York, NY, USA,
2008. ACM.
[O’donnell01] Michael O’donnell, Chris Mellish, J Jon Oberlander & Alistair
Knott. ILEX : an architecture for a dynamic hypertext generation system.
Nat. Lang. Eng., vol. 7, no. 3, pages 225–250, Cambridge University
Press, New York, NY, USA, September 2001.
[Oppermann99] Reinhard Oppermann, Marcus Specht & Igor Jaceniak. Hippie : a nomadic
information system. In 1st international symposium on Handheld
and Ubiquitous Computing, HUC ’99, pages 330–333, London,
UK, 1999. Springer-Verlag.
[Owen05] Ruth Owen, Dimitrios Buhalis & Daniël Pletinckx. Visitors evaluations
of ICTs used in cultural heritage. In Proceedings of the 6th International
conference on Virtual Reality, Archaeology and Intelligent
Cultural Heritage, VAST’05, pages 129–136, Aire-la-Ville, Switzerland,
Switzerland, 2005. Eurographics Association.BIBLIOGRAPHIE 181
[Papagiannakis02] George Papagiannakis, Michal Ponder, Tom Molet, Sumedha Kshirsagar,
Frederic Cordier, Nadia Magnenat-thalmann & Daniel Thalmann.
LIFEPLUS : Revival of life in ancient Pompeii. In In Proceedings
of the 8th International Conference on Virtual Systems and Multimedia
(VSMM 02), pages 25–27, Gyeongju, Korea, 2002.
[Paterson10] Natasa Paterson, Katsiaryna Naliuka, Soren Kristian Jensen, Tara
Carrigy, Mads Haahr & Fionnuala Conway. Design, implementation
and evaluation of audio for a location aware augmented reality game. In
Fun and Games ’10 : Proceedings of the 3rd International Conference
on Fun and Games, pages 149–156, New York, NY, USA, 2010.
ACM.
[Pazzani97] Michael Pazzani & Daniel Billsus. Learning and Revising User Proles
: The Identi cation ofInteresting Web Sites. Machine Learning,
vol. 27, pages 313–331, Kluwer Academic Publishers, Hingham,
MA, USA, June 1997.
[Peters10] Nils Peters. Thèse de doctorat : Sweet reproduction : Developing sound
spatialization tools for musical applications with emphasis on sweet spot
and off-center perception. Préparée à : Music Technology Area, Department
of Music Research Schulich School of Music, McGill University
Montreal, QC, Canada, 2010.
[Petrelli99] Daniela Petrelli, Elena Not, Marcello Sarini, Oliviero Stock, Carlo
Strapparava & Massimo Zancanaro. HyperAudio : location-awareness
+ adaptivity. In extended abstracts on Human factors in computing
systems, CHI EA ’99, pages 21–22, New York, NY, USA, 1999. ACM.
[Petrelli01] Daniela Petrelli, Elena Not, Massimo Zancanaro, Carlo Strapparava
& Oliviero Stock. Modelling and Adapting to Context. Personal Ubiquitous
Comput., vol. 5, pages 20–24, Springer-Verlag, London, UK,
January 2001.
[Petrie96] Helen Petrie, Valerie Johnson, Thomas Strothotte, Andreas Raab,
Steffi Fritz & Rainer Michel. MOBIC : Designing a Travel Aid for Blind
and Elderly People. The Journal of Navigation, vol. 49, no. 01, pages
45–52, 1996.
[Pontus07] Larsson Pontus & Väljamäe Aleksander. Auditory-visual perception
of room size in virtual environments. In Proceedings of the 19th International
Congress on Acoustics, Madrid, Spain, September 2-7,
2007.
[Proctor03] Nancy. Proctor & Jane. Burton. Tate modern multimedia tour pilot. In
MLEARN 2003 conference, Learning with Mobile Devices, pages
127–130., The King’s College London & Tate Britain Colloquium,
London, May 2003.182 BIBLIOGRAPHIE
[Proctor05] Nancy Proctor. Off Base or On Target ? Pros and cons of wireless and
location-aware applications in the museum. In Digital Culture and
Heritage Patrimoine and Culture Numérique (ICHIM 05), Bibliothèque
nationale de France, Paris, Septembre 2005.
[Ran04] Lisa Ran, Sumi Helal & Steve Moore. Drishti : An Integrated Indoor/Outdoor
Blind Navigation System and Service. In Proceedings
of the Second IEEE International Conference on Pervasive Computing
and Communications (PerCom’04), PERCOM ’04, page 23,
Washington, DC, USA, 2004. IEEE Computer Society.
[Randell04] Cliff Randell, Sara Price, Yvonne Rogers, Eric Harris & Geraldine
Fitzpatrick. The Ambient Horn : designing a novel audio-based learning
experience. Personal Ubiquitous Comput., vol. 8, no. 3-4, pages 177–
183, Springer-Verlag, London, UK, 2004.
[Regenbrecht04] H Holger Regenbrecht, T. Lum, P. Kohler, Claudia Ott, Michael
Wagner, Wilhelm Wilke & E. Mueller. Using augmented virtuality
for remote collaboration. Presence : Teleoper. Virtual Environ., vol. 13,
no. 3, pages 338–354, MIT Press, Cambridge, MA, USA, 2004.
[Roads07] Curtis Roads. L’audionumérique : Musique et informatique, volume
672. Dunod édition : 2e édition révisée et actualisée (31 octobre
2007), 2007.
[Robson94] Colin Robson. Experiment, design and statistics in psychology. Penguin
Psychology Books, 1994.
[Roentgen08] Uta R Roentgen, Gert Jan Gelderblom, Mathijs Soede & Luc P
De Witte. Inventory of Electronic Mobility Aids for Persons with Visual
Impairments : A Literature Review. Journal of Visual Impairment and
Blindness, vol. 102, no. 11, pages 702–724, American Foundation for
the Blind, 2008.
[Roetenberg05] Daniel Roetenberg, Henk J. Luinge, Chris T. M. Baten & Peter H.
Veltink. Compensation of magnetic disturbances improves inertial and
magnetic sensing of human body segment orientation. IEEE Transactions
on Neural Systems and Rehabilitation Engineering, vol. 13, pages
395–405, 2005.
[Rolim12] Cledja Rolim & Veronica Teichrieb. A Viewpoint about Diminished
Reality : Is it Possible Remove Objects in Real Time from Scenes ? pages
141–146, IEEE Computer Society, Washington, DC, USA, 2012.
[Scapin97] Dominique L. Scapin & J. M. Christian Bastien. Ergonomic criteria
for evaluating the ergonomic quality of interactive systems. Behaviour
and Information Technology, pages 220–231, Taylor and Francis
Ltd, July 1997.
[Schafer10] Raymond Murray Schafer. Le paysage sonore : Le monde comme musique.
Wildproject Editions, 2010.BIBLIOGRAPHIE 183
[Serrell96] Beverly Serrell. The Question of Visitor Styles. Jacksonville, Alabama,
1996. Center for Social Design.
[Sodnik05] Jaka Sodnik, Rudolf Susnik, Mitja Stular & Saso Tomazic. Spatial
sound resolution of an interpolated HRIR library. Applied Acoustics,
Elsevier, Kidlington, UK, vol. 66, no. 4, pages 1219–1234, 2005.
[Sodnik06] Jaka Sodnik, Saso Tomazic, Raphael Grasset, Andreas Duenser &
Mark Billinghurst. Spatial sound localization in an augmented reality
environment. In OZCHI ’06 : Proc. of the 18th Australia Conf. on
Computer-Human Interaction, pages 111–118, Sydney, Australia,
2006. ACM.
[Sparacino02] Flavia Sparacino. The Museum Wearable : Real-Time Sensor-Driven
Understanding of Visitors Interests for Personalized Visually-Augmented
Museum Experiences. In Museums and the Web, Boston, Massachusetts,
U.S.A, 2002.
[Sparkfun07] Electronics. Sparkfun. IMU 6 Degrees of Freedom v4 Data Sheet. Colorado,
USA, 2007. https://www.sparkfun.com/datasheets/
Sensors/IMU/6DOF-v4-Rev1.pdf, consulté le : 10/09/2013.
[Specht99] Marcus Specht, Reinhard Oppermann & Marcus Specht. User modeling
and adaptivity in nomadic information systems. In Mimo Caenepeel,
David Benyon and Duncan Smith (eds.), Proceedings of the i3
Annual Conference : Community of the Future, pages 65–68, 1999.
[Stahl07] Christoph Stahl. The roaring navigator : a group guide for the zoo with
shared auditory landmark display. pages 383–386, ACM, New York,
NY, USA, 2007.
[Stein11] Robert Stein & Nancy Proctor. TourML : An Emerging Speci cation for
Museum Mobile Experiences. In Museums and the Web, Philadelphia,
PA, U.S.A, April 2011.
[Stock07] Oliviero Stock & Massimo Zancanaro. Peach : Intelligent interfaces
for museum visits. Springer, Berlin, 2007.
[Stojanovic12] Nenad Stojanovic, Areti Damala, Tobias Schuchert, Ljiljana Stojanovic,
Stephen Fairclough & John Moores. Tutorial 1 : Adaptive augmented
reality (A2R) : Where AR meets user s interest. pages 1–1, IEEE
Computer Society, Washington, DC, USA, 2012.
[Strachan05] Steven Strachan, Parisa Eslambolchilar, Roderick Murray-Smith,
Stephen Hughes & Sile O’Modhrain. GpsTunes : controlling navigation
via audio feedback. In MobileHCI ’05 : Proceedings of the 7th
international conference on Human computer interaction with mobile
devices & services, pages 275–278, New York, NY, USA, 2005.
ACM.184 BIBLIOGRAPHIE
[Strachan09] Steven Strachan & Roderick Murray-Smith. Bearing-based selection
in mobile spatial interaction. Personal Ubiquitous Comput., vol. 13,
no. 4, pages 265–280, Springer-Verlag, London, UK, 2009.
[Sutherland68] Ivan E. Sutherland. A head-mounted three dimensional display. In Proceedings
of the December 9-11, 1968, fall joint computer conference,
part I, pages 757–764, New York, NY, USA, 1968. ACM.
[Swan05] J. Edward II Swan & Gabbard Joseph L. Survey of User-Based Experimentation
in Augmented Reality. In Proceedings of 1st International
Conference on Virtual Reality, HCI International 2005, July 22-27
2005.
[Sylaiou05] Stella Sylaiou, Fotis Liarokapis, Lazaros Sechidis, Petros Patias &
Olga Georgoula. Virtual museums : First results of a survey on methods
and tools. In the XXth International Symposium (the ICOMOS
ISPRS Committee on Documentation of Cultural Heritage), pages
1138–1143, the CIPA International Archives for Documentation of
Cultural Heritage, 2005.
[Sylaiou08] Styliani Sylaiou, M. Economou, Athanasis Karoulis & Martin
White. The evaluation of ARCO : a lesson in curatorial competence and
intuition with new technology. Computers in Entertainment, vol. 6,
no. 2, pages 23 :1–23 :18, ACM, New York, NY, USA, July 2008.
[Taylor07] Robyn Taylor, Maryia Kazakevich, Pierre Boulanger, Manuel Garcia
& Walter F. Bischof. Multi-modal Interface for Fluid Dynamics Simulations
Using 3-D Localized Sound. In Proceedings of the 8th international
symposium on Smart Graphics, SG ’07, pages 182–187, Berlin,
Heidelberg, 2007. Springer-Verlag.
[Thian12] Cherry Thian. Augmented Reality ?What Reality Can We Learn From
It ? In Museums and the Web, San Diego, CA, USA, 2012.
[Vazquez09] Yolanda Vazquez Alvarez & Stephen Brewster. Investigating background
and foreground interactions using spatial audio cues. In Proceedings
of the 27th international conference extended abstracts on
Human factors in computing systems, CHI EA ’09, pages 3823–
3828, New York, NY, USA, 2009. ACM.
[Véron96] Eliséo Véron & Martine Levasseur. Ethnographie de l exposition, l espace
le corps et le sens. page 179, Bibliothèque publique d’information
Du Centre Georges Pompidou, Paris, Mars 1996.
[Vilatte07] Jean-Christophe Vilatte. Audioguides et musées. Formation « Evaluation
», 2007.
[Virolainen01] Jussi Virolainen. Thèse de Master : Design and Implementation of a
Stereo Audio Conferencing System. préparée à : Helsinki University
of Technology, 2001.BIBLIOGRAPHIE 185
[Wakkary07] Leprado Wakkary & Marek Hatala. Situated play in a tangible interface
and adaptive audio museum guide. Personal Ubiquitous Computing,
vol. 11, pages 171–191, Springer-Verlag, London, UK, February
2007.
[Warusfel04] Olivier Warusfel & Gerhard Eckel. LISTEN - Augmenting everyday
environments through interactive soundscapes. 2004. Virtual Reality for
Public Consumption, IEEE Virtual Reality 2004 Workshop, Chicago
IL 27.
[Wellner93] Pierre Wellner. Interacting with paper on the DigitalDesk. Commun.
ACM, vol. 36, no. 7, pages 87–96, ACM, New York, NY, USA, jul
1993.
[Wilson07] Jeff Wilson, Bruce N. Walker, Jeffrey Lindsay, Craig Cambias &
Frank Dellaert. SWAN : System for Wearable Audio Navigation. In
Proceedings of the 11th International Syposium on Wearable Computers
(ISWC), pages 91–98. IEEE, 2007.
[Woodruff01] Allison Woodruff, Paul M. Aoki, Amy Hurst & Margaret H. Szymanski.
Electronic Guidebooks and Visitor Attention. In Proceedings
of the International Conference on Cultural Heritage and Technologies
in the Third Millennium, pages 437–454, 2001.
[Wuestefeld92] A. Paige Wuestefeld. Auditory looming perception : In uences on anticipatory
judgments. Journal of The Acoustical Society of America,
vol. 92, 1992.
[Zahorik05] Pavel Zahorik, Douglas S Brungart & Adelbert W Bronkhorst. Auditory
distance perception in humans : a summary of past and present
research. Acta Acoustica united with Acustica, vol. 91, pages 409 –
420, S. Hirzel Verlag, 2005.
[Zimmermann08] Andreas Zimmermann & Andreas Lorenz. LISTEN : a user-adaptive
audio-augmented museum guide. User Modeling and User-Adapted
Interaction, vol. 18, no. 5, pages 389–416, Kluwer Academic Publishers,
Hingham, MA, USA, 2008.Fatima Zahra KAGHAT
Modèle et expériences pour la visite
de musées en réalité augmentée sonore
Résumé
Cette thèse consiste à explorer l’usage de la réalité augmenté sonore pour la visite de musées. Notre objectif est
de proposer un audioguide permettant d’immerger le visiteur dans une scène sonore constituée de sons
ambiants et de commentaires associés aux objets exposés, et de minimiser ses efforts pour découvrir ces objets
et interagir avec cet environnement sonore. La première contribution de cette thèse concerne la mise en place
d’une preuve de concept de SARIM (Sound Augmented Reality Interface for visiting Museum). Cette preuve
de concept a été développée en utilisant des capteurs de position et d’orientation filaire et non filaire. La
deuxième contribution concerne la modélisation de la visite augmentée par la dimension sonore. Après une
étude des modèles existants, l’objectif est de concevoir un modèle comprenant une représentation du visiteur,
du paysage sonore et de la navigation et offrant une grande flexibilité pour créer l’environnement sonore. Ce
modèle a comme finalité de faciliter la conception de différents types de scénarios de visite sur la base de la
notion de zone d’audibilité. La troisième contribution de cette thèse est le travail d’évaluation mené dans un
environnement réel qu’est le musée des arts et métiers de Paris, et qui a permis de confirmer l’utilisabilité,
ainsi que l’apport didactique et ludique que procure la réalité augmentée sonore en général et le système
SARIM en particulier pour prolonger et enrichir la visite de musées.
Mots clés
Réalité augmentée, visite musée, captation de mouvement,personnalisation, modélisation, spatialisation sonore,
audioguide
Abstract
The goal of this thesis is to explore the use of sound to enhance the museum visit. We aim to provide an
audioguide to immerse the visitor in a soundstage consisting of ambient sounds and comments associated with
the exhibits, and minimize its efforts to discover these objects and interact with the sound environment. The
first contribution of this thesis is the implementation of a proof of concept of SARIM (Sound Augmented
Reality Interface for visiting Museum). This proof of concept was developed using position sensors and
guidance wired and wirelessly. The second contribution concerns the modeling of the augmented visit by the
sound dimension. After a review of existing models, the objective is to design a model that includes a
representation of the visitor, the soundscape and navigation, offering the flexibility to create the sound
environment. This model has the purpose of facilitating the design of different types of scenarios based on the
concept of audibility area. The Third contribution of this thesis is the evaluation conducted in a real
environment what the Museum of Arts and Crafts in Paris, which confirmed the usability, as well as providing
educational and ludic impact of the audio augmented reality in general and the SARIM in particular to extend
and enrich the museum visits.
Keywords
Augmented reality, museum visit, motion tracking, context aware, adaptive system, user modeling, sound
spatialization, audioguide
Cryptographie sur les courbes elliptiques et tol´erance
aux pannes dans les r´eseaux de capteurs
Yanbo Shou
To cite this version:
Yanbo Shou. Cryptographie sur les courbes elliptiques et tol´erance aux pannes dans les
r´eseaux de capteurs. Performance. Universit´e de Franche-Comt´e, 2014. French. .
HAL Id: tel-01089451
https://tel.archives-ouvertes.fr/tel-01089451
Submitted on 1 Dec 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.Thèse de Doctorat
é c o l e d o c t o r a l e s c i e n c e s p o u r l ’ i n g é n i e u r e t m i c r o t e c h n i q u e s
U N I V E R S I T É D E F R A N C H E - C O M T É
n
Cryptographie sur les courbes
elliptiques et tolérance aux pannes
dans les réseaux de capteurs
YANBO SHOUThèse de Doctorat
é c o l e d o c t o r a l e s c i e n c e s p o u r l ’ i n g é n i e u r e t m i c r o t e c h n i q u e s
U N I V E R S I T É D E F R A N C H E - C O M T É
THÈSE présentée par
YANBO SHOU
pour obtenir le
Grade de Docteur de
l’Université de Franche-Comté
Spécialité : Informatique
Cryptographie sur les courbes elliptiques et
tolérance aux pannes dans les réseaux de capteurs
Soutenue publiquement le 10/09/2014 devant le Jury composé de :
HERVÉ GUYENNET Directeur de thèse Professeur à l’Université de Franche-Comté
J. -C. LAPAYRE Examinateur Professeur à l’Université de Franche-Comté
MARC BUI Rapporteur Professeur à l’EPHE - Sorbonne, Paris
ABDELHAMID MELLOUK Rapporteur Professeur à l’Université Paris-Est Créteil
N
◦ X X XREMERCIEMENTS
La réalisation d’une thèse n’est pas le résultat du travail d’un seul homme, mais de son
interaction avec tous ceux gravitant autour de lui pour l’aider théoriquement, techniquement
et humainement. Ainsi je tiens à remercier tous ceux qui m’ont de prêt ou de loin
apporter leur soutien :
– en premier lieu Hervé Guyennet, qui par son écoute et ses précieux conseils m’a permis
de mener à terme cette aventure. Il aura été au cours de ces 3 ans bien plus
qu’un simple directeur de thèse et je le remercie de m’avoir accordé sa confiance et de
m’avoir permis de développer mes idées.
– Marc Bui et Abdelhamid Mellouk pour avoir accepté de donner de leurs temps libre
pour rapporter cette thèse et apporter des critiques pertinentes et constructives.
– Jean-Christophe Lapayre pour l’intérêt qu’il a suscité de mon travail et pour avoir accepté
de participer à mon jury.
– Les membres du Femto-ST/DISC, maîtres de conférences et professeurs qui m’ont
accueilli et grâce à qui se rendre au laboratoire n’était pas un fardeau.
– Mes collègues de l’équipe CARTOON : Youssou Faye, Mathias Coqblin, Julien Bernard,
Adel Elgaber, Violetta Felea pour leur sympathie et les discussions de recherche
constructives.
– Tous les doctorants et anciens doctorants pour le temps passé ensemble et l’esprit de
corps qu’ils ont su maintenir.
– Mes parents qui ont été une autre source de soutien et d’encouragement et sans qui je
n’aurais jamais pu prétendre atteindre un si haut niveau universitaire. Ils m’ont toujours
soutenu dans mes choix et je les en remercie infiniment.
– Ma famille et mes amis qui ont toujours été présents pour moi.
– Tous ceux que j’ai oublié, qui par des mots ou des actes ont aidé à la construction de
cette thèse.
vSOMMAIRE
1 Introduction générale 1
2 Réseaux de capteurs et problèmes de sécurité 5
2.1 Les réseaux de capteurs sans fil . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Définition d’un capteur . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Architecture des capteurs . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.3 Réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.4 Domaines d’application . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.4.1 Applications militaires . . . . . . . . . . . . . . . . . . . . . 8
2.1.4.2 Applications environnementales . . . . . . . . . . . . . . . 9
2.1.4.3 Applications médicales . . . . . . . . . . . . . . . . . . . . 9
2.1.4.4 Domotique . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Spécificités des réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 Énergie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Puissance de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.3 Sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Problèmes de sécurité dans les réseaux de capteurs . . . . . . . . . . . . . 13
2.3.1 Écoute passive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.2 Analyse du trafic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.3 Brouillage radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.4 Inondation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.5 Trou noir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.6 Réplication des données . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.7 Vol d’identité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.8 Attaque physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.9 Variations des attaques . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Mécanismes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Clé d’authentification dynamique . . . . . . . . . . . . . . . . . . . . 17
viiviii SOMMAIRE
2.4.2 Réseaux de confiance . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.3 Stéganographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.4 Cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.4.1 Cryptographie symétrique . . . . . . . . . . . . . . . . . . 19
2.4.4.2 Cryptographie asymétrique . . . . . . . . . . . . . . . . . . 20
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3 Cryptographie sur les courbes elliptiques 23
3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1 Groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.2 Groupe abélien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.3 Groupe cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.4 Anneau unitaire et anneau commutatif . . . . . . . . . . . . . . . . . 25
3.1.5 Corps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.6 Corps fini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.6.1 Corps premier . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.6.2 Corps binaire . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 Présentation de la courbe elliptique . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1 Définition de courbe elliptique . . . . . . . . . . . . . . . . . . . . . . 26
3.2.2 Loi de composition sur les courbes elliptiques . . . . . . . . . . . . . 27
3.2.3 Multiplication de point . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.4 Algorithme d’Euclide étendu . . . . . . . . . . . . . . . . . . . . . . 29
3.2.5 Problème du logarithme discret sur les courbes elliptiques . . . . . . 30
3.3 Optimisation de la performance de multiplication scalaire . . . . . . . . . . 31
3.3.1 Méthode NAF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.2 Méthode de la fenêtre . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.3 Système de coordonnées projectives . . . . . . . . . . . . . . . . . 34
3.3.3.1 Doublement de point . . . . . . . . . . . . . . . . . . . . . 34
3.3.3.2 Addition de point . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.4 Réduction de scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.5 Multiplication scalaire parallèle . . . . . . . . . . . . . . . . . . . . . 37
3.4 Protocoles cryptographiques basés sur ECC . . . . . . . . . . . . . . . . . 41
3.4.1 Elgamal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.1.1 Chiffrement et déchiffrement . . . . . . . . . . . . . . . . . 41
3.4.1.2 Signature numérique . . . . . . . . . . . . . . . . . . . . . 43SOMMAIRE ix
3.4.2 Elliptic Curve Integrated Encryption Scheme (ECIES) . . . . . . . . 44
3.4.3 Elliptic Curve Digital Signature Algorithm (ECDSA) . . . . . . . . . 46
3.4.4 Elliptic Curve Menezes Qu Vanstone (ECMQV) . . . . . . . . . . . . 46
3.4.5 Elliptic Curve Massey-Omura (EC Massey-Omura) . . . . . . . . . . 48
3.5 Comparaison de performance entre ECC et RSA . . . . . . . . . . . . . . . 49
3.5.1 Génération de clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.2 Signature numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.3 Vérification de signature . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.4 Comparaison de performance . . . . . . . . . . . . . . . . . . . . . . 50
3.6 Attaques des cryptosystèmes embarqués basés sur ECC . . . . . . . . . . 51
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4 Multiplication scalaire parallèle 55
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2 Calcul parallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.1 Taxonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.2 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2.3 Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3 Calcul parallèle dans les réseaux de capteurs . . . . . . . . . . . . . . . . . 62
4.3.1 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.2 Consommation d’énergie . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.3 Connexion sans fil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.4 Parallélisation des multiplications scalaires . . . . . . . . . . . . . . . . . . 64
4.4.1 Décomposition des données . . . . . . . . . . . . . . . . . . . . . . 65
4.4.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . 66
4.4.3 Protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.5 Arithmétique multiprécision . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.5.1 Addition et soustraction . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.2 Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.3 Réduction modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.6 Evaluation de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.6.1 Parallélisation avec points précalculés . . . . . . . . . . . . . . . . . 77
4.6.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . 80x SOMMAIRE
4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5 Tolérance aux pannes dans les RCSF 83
5.1 Objectif de la tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . 84
5.1.1 Détection de fautes . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.1.2 Restauration de fonctionnalités . . . . . . . . . . . . . . . . . . . . . 85
5.2 Sources de pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.1 Nœud défectueux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.2 Perturbation de réseaux . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2.3 Dysfonctionnement de la station de base . . . . . . . . . . . . . . . 87
5.3 Techniques de détection de pannes . . . . . . . . . . . . . . . . . . . . . . 87
5.3.1 Diagnostic local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.2 Diagnostic en groupe . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.3 Diagnostic hybride . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.4 Diagnostic hiérarchique . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4 Techniques de restauration . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4.1 Réplication active . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.4.1.1 Redondance de chemin de routage . . . . . . . . . . . . . 93
5.4.1.2 Redondance de données collectées . . . . . . . . . . . . . 93
5.4.2 Réplication passive . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.4.2.1 Sélection de nœud principal . . . . . . . . . . . . . . . . . 95
5.4.2.2 Sélection en groupe . . . . . . . . . . . . . . . . . . . . . . 95
5.4.2.3 Réaffectation de membres . . . . . . . . . . . . . . . . . . 95
5.4.3 Distribution de services . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.4.3.1 Distribution de codes . . . . . . . . . . . . . . . . . . . . . 96
5.4.3.2 Distribution de tâches . . . . . . . . . . . . . . . . . . . . . 96
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6 Tolérance aux pannes pour le calcul parallèle 99
6.1 Erreurs possibles durant le calcul parallèle . . . . . . . . . . . . . . . . . . . 100
6.1.1 Perte de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.2 Données corrompues . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.1.3 Nœud maître défectueux . . . . . . . . . . . . . . . . . . . . . . . . 101
6.2 Contre-mesures contre les pannes possibles . . . . . . . . . . . . . . . . . 102
6.2.1 Sélection des nœuds de secours . . . . . . . . . . . . . . . . . . . . 102
6.2.2 Détection de perte de résultat . . . . . . . . . . . . . . . . . . . . . . 103SOMMAIRE xi
6.2.3 Vérification de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3 Simulation et évaluation de performance . . . . . . . . . . . . . . . . . . . 106
6.3.1 Simulateur et configuration . . . . . . . . . . . . . . . . . . . . . . . 106
6.3.2 Test sans assez de nœuds disponibles (n ≤ 4) . . . . . . . . . . . . 107
6.3.3 Test avec assez de nœuds disponibles (n ≤ 8) . . . . . . . . . . . . 108
6.3.4 Test en présence de pannes . . . . . . . . . . . . . . . . . . . . . . 109
6.3.4.1 Résultat erroné . . . . . . . . . . . . . . . . . . . . . . . . 109
6.3.4.2 Résultat perdu . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7 Conclusion 113
Application d’ECC dans un système de surveillance 127
.1 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
.1.1 Architecture du système . . . . . . . . . . . . . . . . . . . . . . . . . 128
.1.2 Processeur embarqué . . . . . . . . . . . . . . . . . . . . . . . . . . 129
.1.3 Réseau de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
.2 Problèmes de sécurité dans notre système . . . . . . . . . . . . . . . . . . 130
.3 Application d’un cryptosystème basé sur ECC . . . . . . . . . . . . . . . . . 131
.3.1 Configuration du cryptosystème . . . . . . . . . . . . . . . . . . . . 132
.3.2 Protocole cryptographique . . . . . . . . . . . . . . . . . . . . . . . 133
.3.3 Calcul parallèle des multiplications scalaires . . . . . . . . . . . . . 134
.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Déroulement de l’algorithme d’Euclide étendu 137TABLE DES FIGURES
2.1 Architecture d’un nœud sans fil actuel . . . . . . . . . . . . . . . . . . . . . 7
2.2 Exemple de réseaux de capteurs sans fil . . . . . . . . . . . . . . . . . . . . 8
2.3 Capteurs déployés pour la protection d’environnement . . . . . . . . . . . . 9
2.4 Mesure de la tension artérielle et le battement de cœur avec des capteurs . 10
2.5 Attaque d’inondation de message HELLO . . . . . . . . . . . . . . . . . . . 15
2.6 Attaque de trou noir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1 Exemples de courbe elliptique . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Addition de points sur les courbes elliptiques . . . . . . . . . . . . . . . . . 28
3.3 Exemples des multiplications scalaires équivalentes . . . . . . . . . . . . . 37
3.4 Architecture double-processeur pour l’algorithme de calcul parallèle proposé 40
3.5 Échange de clés Diffie-Hellman . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.6 Protocole de chiffrement d’Elgamal . . . . . . . . . . . . . . . . . . . . . . . 42
3.7 Protocole de signature numérique d’Elgamal . . . . . . . . . . . . . . . . . 44
3.8 Protocole de chiffrement ECIES . . . . . . . . . . . . . . . . . . . . . . . . 45
3.9 Protocole de signature numérique ECDSA . . . . . . . . . . . . . . . . . . . 47
3.10 Protocole d’échange de clés ECMQV . . . . . . . . . . . . . . . . . . . . . 48
3.11 Machine de chiffrement à rotor . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.12 Attaque par analyse de la consommation électrique . . . . . . . . . . . . . 52
4.1 Accès aux données avec la mémoire partagée . . . . . . . . . . . . . . . . 58
4.2 Accès aux données avec la mémoire distribuée . . . . . . . . . . . . . . . . 59
4.3 Synchronisation d’accès aux données . . . . . . . . . . . . . . . . . . . . . 60
4.4 Tolérance aux pannes avec la redondance de composants . . . . . . . . . 61
4.5 Tolérance aux pannes avec la redondance de résultats . . . . . . . . . . . . 61
4.6 Tolérance aux pannes avec la redondance de nœuds . . . . . . . . . . . . 64
4.7 Clusters dans un réseau de capteurs . . . . . . . . . . . . . . . . . . . . . . 69
4.8 Collection de données dans un réseau de capteurs . . . . . . . . . . . . . . 69
4.9 Procédure de multiplication scalaire parallèle . . . . . . . . . . . . . . . . . 70
4.10 Plate-forme Telosb de Crossbow Technology . . . . . . . . . . . . . . . . . 75
xiiixiv TABLE DES FIGURES
4.11 Déploiement des nœuds pour le test de performance . . . . . . . . . . . . . 77
4.12 Temps de calcul (ms) de notre méthode de parallélisme . . . . . . . . . . . 78
4.13 Speedup S p =
T1
Tp
de notre méthode de parallélisme . . . . . . . . . . . . . 78
4.14 Surcoût (ms) de notre méthode de parallélisme . . . . . . . . . . . . . . . . 79
4.15 Consommation d’énergie (Joule) de notre méthode de parallélisme . . . . . 80
5.1 Dispositifs utilisés dans le projet MainPreSi . . . . . . . . . . . . . . . . . . 86
5.2 Exemple de la topologie d’arbre . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.3 Déploiement d’un réseau de capteurs hétérogène . . . . . . . . . . . . . . 94
5.4 Exemple d’un réseau hétérogène 3-connecté . . . . . . . . . . . . . . . . . 94
5.5 Structures de données utilisées dans Deluge . . . . . . . . . . . . . . . . . 96
6.1 Multiplication scalaire parallèle avec la détection de perte de résultat . . . . 104
6.2 Multiplication scalaire parallèle avec la vérification de résultat . . . . . . . . 105
6.3 Parallélisation sans assez de nœuds disponibles (n ≤ 4) . . . . . . . . . . . 108
6.4 Parallélisation avec assez de nœuds disponibles (n ≤ 8) . . . . . . . . . . . 109
6.5 Parallélisation avec la détection de résultat erroné . . . . . . . . . . . . . . 110
6.6 Parallélisation avec la détection de résultat perdu . . . . . . . . . . . . . . . 111
1 Un système de purification d’eau alimenté par des panneaux solaires . . . 127
2 Architecture de notre système de purification d’eau . . . . . . . . . . . . . . 128
3 Réseau de capteurs de notre système de purification d’eau . . . . . . . . . 130
4 Attaques dans notre système de purification d’eau . . . . . . . . . . . . . . 131
5 Application de la parallélisation des multiplications scalaires . . . . . . . . . 134LISTE DES TABLES
3.1 Courbe E(Fp) : y
2 = x
3 + ax + b avec un générateur G(xG, yG) de l’ordre n . . 31
3.2 Nombre d’opérations pour calculer une addition et un doublement sur y
2 =
x
3 − 3x + b. A : Affine, P : Projective standard, J : Jacobienne, I : Inversion
modulaire, M : Multiplication, S : Carré . . . . . . . . . . . . . . . . . . . . . 36
3.3 Longueur de clé en bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4 Temps d’exécution pour la génération de clés . . . . . . . . . . . . . . . . . 50
3.5 Temps d’exécution pour la signature numérique . . . . . . . . . . . . . . . . 51
3.6 Temps d’exécution pour la vérification de signature . . . . . . . . . . . . . . 51
4.1 Taxonomie de Flynn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 Comparaison techniques des connexions sans fil . . . . . . . . . . . . . . . 63
4.3 Répartition des coefficients du polynôme c mod p192 . . . . . . . . . . . . . 74
4.4 Caractéristiques techniques de plate-forme Telosb . . . . . . . . . . . . . . 75
4.5 Paramètres recommandés du standard NIS T192 . . . . . . . . . . . . . . . 76
4.6 Temps de calcul (ms) de notre méthode de parallélisme . . . . . . . . . . . 77
4.7 Speedup de notre méthode de parallélisme . . . . . . . . . . . . . . . . . . 78
4.8 Surcoût (ms) moyen de notre méthode de parallélisme . . . . . . . . . . . . 79
4.9 Mémoire nécessaire (octet) pour stocker des points précalculés . . . . . . . 79
4.10 Consommation d’énergie (Joule) de notre méthode de parallélisme . . . . . 80
4.11 Temps de calcul (ms) pour préparer des points 2
xG . . . . . . . . . . . . . . 81
4.12 Temps de calcul (ms) avec le parallélisme sans points précalculés . . . . . 81
6.1 Paramètre de la courbe elliptique utilisée . . . . . . . . . . . . . . . . . . . 106
6.2 Consommation de mémoire pour le stockage des données . . . . . . . . . 106
6.3 Performance sans nœud de secours (n ≤ 4) . . . . . . . . . . . . . . . . . . 107
6.4 Performance avec nœuds de secours (n ≤ 4) . . . . . . . . . . . . . . . . . 108
6.5 Performance avec suffisamment de nœuds de secours (n ≤ 8) . . . . . . . 109
6.6 Performance avec la détection de résultat erroné . . . . . . . . . . . . . . . 110
6.7 Performance avec la détection de résultat perdu . . . . . . . . . . . . . . . 110
1 Comparaison des caractéristiques techniques entre MSC-51 et MSP430 . . 129
xvxvi LISTE DES TABLES
2 Exemple de l’algorithme d’Euclide . . . . . . . . . . . . . . . . . . . . . . . 137
3 Exemple de l’algorithme d’Euclide étendu . . . . . . . . . . . . . . . . . . . 1371
INTRODUCTION GÉNÉRALE
Grâce au développement très rapide du domaine de la micro-électronique, ces dernières
années ont été marquées par un grand progrès des techniques des réseaux de capteurs
sans fil. Ces petits dispositifs compacts, appelés aussi des nœuds intelligents, peuvent
être programmés et déployés dans une zone d’intérêt pour mesurer des grandeurs physiques.
Ils sont équipés des technologies de communication sans fil qui leur permettent
de communiquer entre eux pour former automatiquement des réseaux et envoyer des
données collectées.
Le nœud intelligent, qui fait partie du domaine de l’électronique, est en effet un nouveau
venu du monde informatique. La nécessité d’une couche logicielle a fait intervenir des
informaticiens qui essaient de mettre en œuvre tous les moyens possibles pour perfectionner
son fonctionnement et diversifier ses fonctionnalités.
Aujourd’hui, suite à l’essor des systèmes embarqués et l’arrivée de l’Internet des objets,
ce genre de dispositifs sont de plus en plus présents partout dans notre vie quotidienne.
Cependant, le déploiement et l’interconnexion massifs des nœuds ont aussi relevés de
grands défis technologiques qui ont intéressé de nombreux chercheurs. Ainsi, de nouvelles
thématiques de recherche ont été créées par la communauté scientifique pour
répondre aux exigences de plusieurs domaines d’application, comme la surveillance des
catastrophes naturelles, la protection de l’environnement et le suivi des traitements des
patients [2, 112].
Comme les réseaux traditionnels, les réseaux de capteurs subissent aussi de nombreuses
attaques, qui consistent à espionner et perturber les communications entre les
nœuds. Depuis des siècles, la sécurité d’informations est toujours un des sujets les plus
discutés, et l’évolution de la société humaine a aussi renforcé son importance, notamment
dans les domaines militaires et industriels. C’est aussi la raison pour laquelle d’importants
moyens financiers sont mis en place par les états ou les grandes entreprises pour
s’assurer de la confidentialité de leurs informations ou pour contourner ces sécurités et
récupérer des informations cruciales.
Dans le monde informatique, l’augmentation impressionnante de la puissance de calcul
des processeurs permet de déchiffrer un message dans un temps de plus en plus
court. De ce fait, afin d’augmenter la sécurité d’un système, la solution la plus adaptée
est d’augmenter la taille des clés de chiffrement pour augmenter le temps nécessaire à
déchiffrer un message [65].
Dans les réseaux numériques, la cryptographie est toujours considérée comme une des
solutions dominantes pour assurer la confidentialité des informations. La nature de cette
12 CHAPITRE 1. INTRODUCTION GÉNÉRALE
solution permet de rendre un message illisible en utilisant un ensemble de méthodes mathématiques,
qui sont conçues pour réaliser une telle transformation en leur fournissant
une clé de chiffrement. Hormis le chiffrement, elle utilise des méthodes complémentaires,
qui nous offrent une protection plus sûre en assurant l’authenticité et l’intégrité.
L’utilisation de la cryptographie implique souvent des calculs compliqués et intensifs, qui
ne posent pas de problèmes sérieux pour les systèmes sans contrainte de ressources.
La plupart de cryptosystèmes peuvent montrer une performance satisfaisante sur les
processeurs modernes, qui possèdent une puissance de calcul suffisamment élevée pour
gérer ce genre de calculs. Cependant l’application de la cryptographie dans les réseaux
de capteurs reste encore un challenge à relever.
La plupart des nœuds intelligents utilisent des micro-contrôleurs comme unité de traitement,
qui est aussi considérée comme le composant le plus important. Un microcontrôleur
est chargé de la coordination de toutes les opérations qu’un nœud peut effectuer,
c’est un circuit intégré programmable qui rassemble tous les éléments essentiels
d’un ordinateur, comme le processeur, la mémoire et les interfaces entrée/sortie. Il possède
souvent une puissance de calcul et une mémoire très limitée, son processeur est
censé exécuter de petits programmes qui effectuent des opérations simple. Sans optimisation
extrême et technique spéciale, un micro-contrôleur n’est pas capable de gérer des
calculs mathématiques très compliqués.
Il existe 2 types de cryptographie principales, symétrique et asymétrique. La cryptographie
symétrique offre une performance de calcul plus intéressante sans utiliser une clé
extrêmement longue. Cependant, comme on partage la même clé pour le chiffrement et
le déchiffrement, au sein d’un réseau de capteurs contenant un grand nombre de nœuds,
la mise en place d’une distribution sûre des clés devient donc un problème urgent et sé-
rieux.
Contrairement à la cryptographie symétrique, la cryptographie asymétrique offre des protocoles
sophistiqués pour la génération de clés, et elle nous permet aussi de signer des
messages. Cependant, l’application de cette solution nécessite l’utilisation des clés beaucoup
plus longues et des calculs plus complexes. Aujourd’hui, RSA (Ron - Shamir - Adleman)
est toujours le cryptosystème asymétrique le plus utilisé, mais pour pouvoir avoir
une sécurité assez robuste, il faut utiliser une clé dont la longueur est comprise entre
1024 et 2048. Par rapport à RSA, ECC (Cryptographie sur les Courbes Elliptiques) est
un autre cryptosystème asymétrique qui a récemment attiré l’attention des chercheurs,
car elle peut offrir la même robustesse que RSA avec une clé beaucoup plus courte, et
il existe aussi des méthodes mathématiques qui nous permettent d’améliorer sa performance.
Certains chercheurs pensent que ECC deviendra le remplaçant de RSA, notamment
dans le domaine des systèmes embarqués.
C’est pourquoi pendant nos travaux de cherche, nous avons étudié la possibilité d’appliquer
l’ECC dans les réseaux de capteurs d’une manière efficace, car les opérations sur
les courbes elliptiques sont encore très compliquées pour les micro-contrôleurs, notamment
la multiplication de point, appelée aussi la multiplication scalaire, qui est considérée
comme l’opération la plus coûteuse sur les courbes.
Dans cette thèse, nous cherchons à accélérer le calcul des multiplications scalaires en
utilisant la technique de parallélisation qui consiste à découper le calcul en plusieurs
tâches indépendantes qui peuvent être traitées simultanément par des nœuds différents.
L’intérêt principal d’un déploiement massif des nœuds est d’avoir beaucoup de nœuds3
disponibles qui peuvent coopérer étroitement pour réaliser un objectif commun. De plus,
comme les nœuds sont des dispositifs fragiles qui risquent de tomber en panne pendant
le traitement des tâches, dans cette thèse, nous proposons également une technique de
tolérance aux pannes pour rendre la procédure du calcul parallèle plus stable.
PLAN DE LA THÈSE
Cette thèse est composées de 5 chapitres :
Le premier chapitre introduit le terme de réseaux de capteurs sans fil en présentant l’architecture
des nœuds et les domaines d’application. Ensuite nous présentons les spéci-
ficités inhérentes aux réseaux de capteurs, comme la consommation d’énergie, la puissance
de calcul etc. La partie la plus importante dans ce chapitre est une taxonomie des
attaques qui peuvent sérieusement menacer la sécurité d’informations dans ce genre de
réseau. Pour terminer, nous donnons une liste de solutions qui sont fréquemment utilisées
dans la littérature pour protéger les réseaux.
Dans le chapitre 3, nous présentons un état de l’art de la cryptographie sur les courbes
elliptiques. Nous commençons par des concepts mathématiques qui sont indispensables
pour comprendre le fonctionnement d’ECC. Ensuite nous donnons la définition de courbe
elliptique, les opérations élémentaires, ainsi que le problème du logarithme discret sur
lequel se base le cryptosystème. Dans les sections suivantes, nous présentons un ensemble
de méthodes mathématiques qui nous permettent d’accélérer les calculs sur les
courbes elliptiques, et les protocoles cryptographiques principaux qui sont basés sur
ECC. La dernière partie du chapitre est une comparaison entre ECC et RSA, l’autre
cryptosystème asymétrique qui est largement utilisé en pratique.
Afin d’accélérer le calcul des multiplications scalaires sur les courbes elliptiques, dans le
chapitre 4, nous proposons d’appliquer le parallélisme au sein des réseaux de capteurs.
Avant de donner notre solution, nous présentons d’abord les facteurs qu’il faut prendre en
considération lors du déploiement d’un système de calcul parallèle, ensuite les spécificités
des réseaux de capteurs dont il faut tenir compte quand on essaie d’implanter cette
architecture dans ce genre de réseau. Puis nous présentons notre technique de parallélisation
avec l’ensemble d’algorithmes et de protocoles que nous avons utilisé pour
l’implémentation. Enfin, nous validons notre solution avec un test de performance qui
montre que la parallélisation peut donner une accélération de calcul importante malgré
une augmentation de consommation d’énergie.
Le calcul parallèle est une procédure complexe qui risque d’être interrompu par des
pannes éventuelles. En outre, les nœuds sont très fragiles face aux environnements dif-
ficiles dans lesquels ils sont déployés. C’est pourquoi nous nous intéressons dans le
chapitre 5 au problème de tolérance aux pannes. Nous commençons par l’identification
des objectifs principaux des mécanismes de tolérance aux pannes, ensuite nous pré-
sentons les méthodes de diagnostic qui existent dans la littérature, et puis nous nous
rendons compte que la solution la plus efficace et facile à mettre en place est la redondance.
Nous étudions donc les différentes techniques qui sont basées sur la redondance
que nous pouvons mettre en place pour restaurer les fonctionnalités des réseaux en cas
de pannes.
Nous avons identifié 3 types de panne qui peuvent éventuellement survenir pendant le4 CHAPITRE 1. INTRODUCTION GÉNÉRALE
calcul parallèle des multiplications scalaires : résultat perdu, résultat erroné et nœud
maître défectueux. Pour que le réseau puisse détecter les pannes et restaurer le calcul
parallèle, nous présentons dans le chapitre 6 la solution de tolérance aux pannes
que nous avons proposée. Afin de tester ses performances, nous avons développé un
simulateur qui peut exécuter la procédure de calcul parallèle en prenant en compte les
mécanismes de tolérance aux pannes proposés. Les résultats ont montré que notre solution
peut restaurer le calcul parallèle en cas des pannes sans avoir un impact négatif
important.
Nous concluons cette thèse dans le dernier chapitre en rappelant les avantages et les
inconvénients des solutions proposées, ensuite nous donnons également des perspectives
des travaux de recherche en vue d’améliorer leurs performances dans les réseaux
de capteurs.2
RÉSEAUX DE CAPTEURS ET
PROBLÈMES DE SÉCURITÉ
Sommaire
2.1 Les réseaux de capteurs sans fil . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Définition d’un capteur . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Architecture des capteurs . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.3 Réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.4 Domaines d’application . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Spécificités des réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 Énergie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Puissance de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.3 Sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Problèmes de sécurité dans les réseaux de capteurs . . . . . . . . . . . . . . 13
2.3.1 Écoute passive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.2 Analyse du trafic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.3 Brouillage radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.4 Inondation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.5 Trou noir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.6 Réplication des données . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.7 Vol d’identité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.8 Attaque physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.9 Variations des attaques . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Mécanismes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Clé d’authentification dynamique . . . . . . . . . . . . . . . . . . . . 17
2.4.2 Réseaux de confiance . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.3 Stéganographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.4 Cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
56 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
2.1/ LES RÉSEAUX DE CAPTEURS SANS FIL
2.1.1/ DÉFINITION D’UN CAPTEUR
Un capteur est un petit dispositif électronique qui peut transformer une mesure physique
en une mesure électronique, qui sera ensuite traduite en données binaires compréhensibles
pour des systèmes informatiques. Aujourd’hui il existe différents capteurs qui sont
conçus pour mesurer des valeurs diverses, par exemple la température, l’humidité, la
luminosité, les mouvements, la pression etc.
Généralement, les premiers capteurs ne pouvaient lire qu’un seul type de mesure, alors
que maintenant plusieurs capteurs sont installés sur un seul nœud pour lire des valeurs
diverses.
Grâce aux progrès récents du domaine des systèmes micro-électroniques, les nouvelles
technologies de la communication sans fil et de l’électronique numérique ont été intégrées
dans les nœuds modernes. Hormis la fonctionnalité de base, c’est-à-dire l’acquisition
des données ambiantes, les nouveaux nœuds détiennent encore des modules
de transmission, d’alimentation, de stockage et de traitement de données, qui leur permettent
d’envoyer, stocker et traiter les données collectées.
Un autre terme qui est largement utilisé dans la littérature est nœud intelligent, qui dé-
signe particulièrement les nœuds programmables. Le développement des technologies
des systèmes embarqués a donné la possibilité d’utiliser le même modèle de nœud pour
des applications différentes. Les nœuds du même modèle peuvent être déployés pour
assurer des missions complètement différentes, et il suffit de changer le programme installé.
Par ailleurs, l’apparition des systèmes d’exploitation pour les nœuds a encore facilité
la création des applications en divisant la procédure en 2 parties indépendantes : le dé-
veloppement des programmes et la conception de la plate-forme matérielle.
2.1.2/ ARCHITECTURE DES CAPTEURS
L’architecture des capteurs a beaucoup évolué depuis les années 90. Les capteurs de
la première génération ont une architecture très simple, qui ne possède qu’une unité de
capture et une unité d’alimentation. Comme les détecteurs de fumée qui sont encore
beaucoup utilisés dans les immeubles. Ils sont souvent alimentés par des piles, et la
seule fonctionnalité est de déclencher un alarme sonore en présence de fumée.
Sur les capteurs un peu plus évolués, on a commencé à intégrer de nouvelles technologies,
comme la communication sans fil. Par exemple ; les bouchons de valve de pneu,
qui sont utilisés pour mesurer les pressions des pneus et sont aussi alimentés par des
piles. De plus, ils peuvent envoyer les valeurs au récepteur qui est installé à l’intérieur de
la voiture.
L’architecture des nœuds actuels est devenue beaucoup plus complexe après l’ajout des
fonctionnalités complémentaires, comme le traitement et le stockage de données. La
figure 2.1 illustre une architecture générale des nœuds intelligents actuels. Nous pouvons
constater qu’elle est constituée de 4 unités principales.2.1. LES RÉSEAUX DE CAPTEURS SANS FIL 7
FIGURE 2.1 – Architecture d’un nœud sans fil actuel
– Unité de traitement : C’est l’unité la plus importante d’un nœud intelligent, comme
les autres systèmes embarqués, on utilise généralement un micro-contrôleur qui rassemble
tous les éléments essentiels d’un ordinateur, le processeur, la mémoire et les
interfaces entrées-sorties.
– Unité de capture : C’est l’ensemble de composants matériels qui sont utilisés pour
mesurer des grandeurs physiques et générer des signaux analogiques, ils sont couplés
d’un ADC 1 qui transforme les signaux analogiques en données numériques pour l’unité
de traitement.
– Unité de communication : Elle désigne généralement l’antenne radio du nœud, qui est
chargée de l’émission et de la réception des signaux radiofréquence. Dans la littérature
elle s’appelle aussi transceiver, qui est en effet une contraction des mots anglophones
transmitter et receiver. À l’aide de cette unité, on peut construire des réseaux de capteurs
en reliant les nœuds qui sont déployés dans la même zone.
– Unité d’alimentation : Une unité cruciale pour toute l’architecture, car c’est elle qui fournit
l’énergie à toutes les autres unités. elle correspond souvent à une pile et une batterie
qui s’épuise graduellement au fil du temps. À cause de la limitation des ressources
des nœuds, la consommation d’énergie est devenu un facteur critique dans quasiment
toutes les applications de capteurs. La réalisation récente d’unité d’alimentation tend à
résoudre le problème en utilisant des panneaux solaires [61, 106].
Sur les nœuds d’usages particuliers, on peut encore ajouter d’autres unités, telle qu’une
unité de localisation, comme le GPS, ou une unité de mobilité pour des nœuds qui ont
besoin de se déplacer.
2.1.3/ RÉSEAUX DE CAPTEURS
Un réseau de capteurs est constitué généralement d’un grand nombre de nœuds pré-
sentés dans la section précédente. Ils sont déployés aléatoirement dans une zone pour
surveiller et étudier des phénomènes divers. Les nœuds communiquent entre eux via des
connexions sans fil pour le partage et le traitement coopératif des données collectées.
Après le déploiement, les nœuds lancent une procédure d’auto-configuration qui leur
permet de construire des chemins de routage, sans lesquels on ne peut pas envoyer
des données à un nœud spécifique. À cause d’un manque d’infrastructure de réseau et
d’une limitation des ressources des nœuds, la transmission de données est souvent réalisée
avec un mode de communication particulier qui s’appelle multi-saut. Les données
1. Analog-to-Digital Converter8 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
passent d’un nœud à un autre, pas à pas, jusqu’à la destination.
FIGURE 2.2 – Exemple de réseaux de capteurs sans fil
Dans la figure 2.2 nous avons un exemple de réseaux de capteurs. Les nœuds sont
déployés aléatoirement dans une zone d’intérêt et la station de base se situe à distance.
En faisant des multi-sauts, les données remontent progressivement jusqu’à la station de
base, qui les met à disposition aux utilisateurs finaux.
Il existe principalement 2 types de réseaux de capteurs :
– Les réseaux actifs, dans lesquels les nœuds envoient périodiquement des données
collectées à la station de base. Ce genre de fonctionnement est préférable pour les
applications de surveillance à long terme, car il nous permet d’avoir un accès à toutes
les historiques des données collectées et de mieux étudier les phénomènes surveillés.
– Les réseaux passifs, qui n’envoient aucune donnée tant qu’aucun événement important
n’est détecté. On peut trouver ce genre d’application dans des systèmes de pré-
alarme qui doivent signaler immédiatement l’arrivée éventuelle d’incidents importants,
comme la détection des catastrophes naturelles.
2.1.4/ DOMAINES D’APPLICATION
Idéalement les réseaux de capteurs sont censés être construits en utilisant des nœuds
à faible coût qui sont déployés en masse. Aujourd’hui ils ne sont pas encore largement
utilisés dans notre vie quotidienne, le coût de fabrication des nœuds est toujours très
élevé, certaines techniques sont aussi loin d’être matures et fiables. Cependant on peut
déjà trouver beaucoup d’applications, dont certaines sont encore expérimentales, dans
des domaines divers.
2.1.4.1/ APPLICATIONS MILITAIRES
Les caractéristiques attendues des réseaux de capteurs, comme le faible coût, l’autoorganisation,
la sécurité et la tolérance aux pannes, ont donné naissance à son utilisation
dans les domaines militaires, c’est aussi le domaine dans lequel on trouve souvent les
technologies les plus avancées.2.1. LES RÉSEAUX DE CAPTEURS SANS FIL 9
Comme le projet DSN (Distributed Sensor Network) du DARPA (Defense Advanced Research
Project Agency) [16], qui était un des premiers projets dans les année 80 à avoir
utilisé les réseaux de capteurs. Les nœuds peuvent être déployés rapidement dans un
champ de bataille pour assurer, d’une manière discrète, des missions confidentielles,
comme la collecte de renseignements, la surveillance des forces ennemies et la détection
des attaques biochimiques.
2.1.4.2/ APPLICATIONS ENVIRONNEMENTALES
L’industrialisation et l’expansion humaine ont causé des problèmes environnementaux
sévères, comme la pollution d’air et d’eau, la disparition des forêts etc. Notamment dans
les pays en développement dont les gouvernements font rarement attention aux soucis
écologiques. L’utilisation des réseaux de capteurs pour la protection de l’environnement
a été beaucoup encouragée par la communauté scientifique. Un déploiement approprié
des nœuds nous permet non seulement de collecter précisément des paramètres environnementaux,
mais aussi de faciliter la surveillance de la zone d’intérêt et d’économiser
l’investissement à long terme. Les nœuds peuvent aussi être déployés dans des zones
difficilement accessibles et hostiles, une fois mis en place, ils peuvent fonctionner d’une
manière autonome.
FIGURE 2.3 – Capteurs déployés pour la protection d’environnement
Dans la figure 2.3, nous avons des nœuds qui sont déployés pour surveiller des forêts et
l’air. En pratique, les nœuds qui sont utilisés dans ce genre d’applications sont souvent
équipés d’une protection physique solide, et afin d’avoir une durée de vie plus longue
et rentable, ils sont généralement bien alimentés avec soit un accès aux réseaux électriques,
soit des panneaux solaires. A cause d’une augmentation du coût d’installation,
on ne peut pas effectuer un véritable déploiement à grande échelle.
2.1.4.3/ APPLICATIONS MÉDICALES
Dans le domaine de la médecine, les nœuds sont souvent utilisés pour assurer une surveillance
permanente d’un patient ou d’une personne âgée. Ils peuvent être soit attachés
au bras du patient, soit implantés directement sous la peau pour mesurer des paramètres
physiologiques, comme la tension artérielle et le battement de cœur (voir figure 2.4).
Les nœuds peuvent communiquer avec les autres nœuds fixes installés dans l’immeuble
pour récupérer les données collectées, qui sont ensuite stockées dans une base de don-10 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
FIGURE 2.4 – Mesure de la tension artérielle et le battement de cœur avec des capteurs
nées, avec laquelle on peut avoir un suivi du patient [41]. En outre, dans certaines applications,
le patient porte une unité de transmission de données (DTU 2
) ou un téléphone
mobile qui récupère les données mesurées et les renvoie au serveur à distance via les
réseaux mobiles.
2.1.4.4/ DOMOTIQUE
L’idée est d’intégrer des capteurs dans les appareils électroménagers, tels que le climatiseur,
la chauffage, les volets électriques, les thermomètres numériques etc. Ces systèmes
embarqués peuvent communiquer entre eux via des connexions sans fil, exactement
comme les réseaux de capteurs. Une centrale de contrôle est mise en place pour
envoyer des requêtes aux appareils et recevoir des informations. La centrale dispose encore
d’un accès internet qui permet aux utilisateurs de contrôler des appareils à distance
et de consulter les informations concernant son domicile [78].
Maintenant on utilise le terme Smart Home pour désigner l’ensemble de technologies
qui permettent d’automatiser et de faciliter la gestion des immeubles avec les systèmes
embarqués [99, 33, 88]. L’objectif est d’apporter aux utilisateurs un confort plus élevé en
assurant une vie plus simple et écologique [59, 88]. Par exemple pendant la journée, si les
capteurs détectent une forte luminosité, ils vont démarrer le moteur pour ouvrir le volet.
Si les capteurs de lumière et de température trouvent que le soleil est suffisamment fort
pour chauffer la chambre, ils vont couper la chauffage pour économiser la consommation
d’énergie. Suite à l’essor des smartphones, les utilisateurs peuvent envoyer des requêtes
depuis leurs téléphones pour contrôler des appareils chez eux.
2.2/ SPÉCIFICITÉS DES RÉSEAUX DE CAPTEURS
Un réseau de capteurs est une sorte de réseau ad-hoc, les nœuds déployés communiquent
entre elles via des communications sans fil pour former un réseau et créer des
chemins de routage. Le réseau ne détient aucune infrastructure, chaque nœud communique
directement avec ses voisins, et les données sont envoyées en utilisant la mode de
2. Data Transfer Unit2.2. SPÉCIFICITÉS DES RÉSEAUX DE CAPTEURS 11
communication multi-sauts, elles sont transmises d’un nœud à l’autre jusqu’à ce qu’elles
arrivent à destination.
Hormis les caractéristiques basiques des réseaux ad-hoc, les réseaux de capteurs possèdent
encore d’autres spécificités qu’il faut prendre en compte lors de la conception des
applications.
2.2.1/ ÉNERGIE
Nous commençons par la consommation d’énergie dans les réseaux de capteurs, car
elle est considérée comme un des facteurs les plus cruciaux. Idéalement les réseaux
de capteurs sont censés être constitués des nœuds à faible coût, qui peuvent être dé-
ployés facilement en masse sans se soucier de l’organisation et de la configuration. Une
fois réveillés, les nœuds peuvent fonctionner d’une manière autonome sans intervention
humaine. Comme il y a des chances que les réseaux soient déployés dans des zones
hostiles, il faut qu’ils permettent un minimum de tolérance aux pannes pour endurer les
environnements difficiles.
Pour l’instant, la seule source d’énergie des nœuds est la pile dont la durée de vie peut
varier entre des heures et des jours en fonction de l’intensité des opérations à effectuer.
C’est aussi le seul mode d’alimentation qui donne la possibilité d’effectuer un déploiement
aléatoire. Cependant un tel déploiement rend la maintenance manuelle des nœuds très
difficile. Il est très coûteux et quasiment impossible de localiser un nœud dont la pile est
épuisée.
Pour une raison de coût de fabrication et de maintenance, au lieu de chercher à remplacer
des piles épuisées ou installer des piles de grande capacité, on préfère plutôt
minimiser la consommation d’énergie pendant le fonctionnement des réseaux. Sachant
que la plupart de l’énergie est consommée pendant des communications sans fil et que
la consommation des autres composants est presque négligeable par rapport à celle de
l’antenne radio, quand on conçoit une application, on essaie toujours de limiter le nombre
de communications et d’éteindre la radio quand ce n’est pas nécessaire.
2.2.2/ PUISSANCE DE CALCUL
Toujours pour une raison de coût, on choisit souvent des micro-contrôleurs comme unité
de traitement pour les capteurs [18, 19], comme la plate-forme Telosb de Crossbow qui
est équipée d’un micro-contrôleur MSP 430 à 8 MHz. Ils sont petits, moins chers, et programmables.
Grâce à ces caractéristiques techniques, les micro-contrôleurs deviennent
un choix idéal pour les systèmes embarqués.
Un défaut important des micro-contrôleurs est le manque de puissance de calcul. Malgré
les progrès récents dans le domaine de l’électronique et de l’informatique industrielle, il
y a toujours très peu de micro-contrôleurs puissants qui sont développés et commercialisés.
Généralement cela est considéré comme un choix du marché, car aujourd’hui dans
la plupart de projets, les micro-contrôleurs n’ont pas besoin d’être puissants. Ils sont initialement
inventés et mis en place pour effectuer des tâches simples, comme la coupure
et la remise de courant dans les circuits intégrés.
Cependant dans les réseaux de capteurs, les fonctionnalités à assurer sont plus com-12 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
pliquées. Dans un vrai réseau, les nœuds doivent mesurer des valeurs environnementales,
agréger et compresser les données collectées, même appliquer des mécanismes
de sécurité contenant des calculs cryptographiques très complexes. Afin de réaliser une
fabrication et un déploiement en grand nombre, il faut que l’unité de traitement soit petite
et ait un coût et une consommation d’énergie faibles, mais en même temps, il faut qu’elle
puisse gérer beaucoup de tâches différentes dans le réseau.
Pour contourner le problème, maintenant dans les applications existantes, on demande
aux nœuds de coopérer entre eux pour atteindre un objectif collectif. Le nœud du même
modèle peuvent jouer des rôles différents, ou le même nœud peut assurer plusieurs
fonctionnalités pendant des périodes différentes.
2.2.3/ SÉCURITÉ
Comme tous les réseaux informatiques, les réseaux de capteurs font aussi l’objet de diffé-
rentes attaques. La seule solution est de mettre en place des mécanismes de sécurité qui
nous permettent de protéger des informations circulant dans le réseau sans consommer
trop de ressources. Les techniques appliquées doivent répondre aux exigences principales
suivantes :
– Confidentialité : les informations ne doivent jamais circuler entre les nœuds en claire,
notamment dans les applications militaires et de surveillance. Il faut s’assurer que
les informations ne sont pas directement interprétables et compréhensibles aux attaquants.
– Intégrité : les données ne doivent pas être altérées pendant la transmission, et il faut
que le récepteur puisse vérifier si les données ont subi des altérations.
– Fraîcheur : il s’agit d’un test qui vérifie si les informations reçues sont récentes. Parfois,
l’attaquant peut tromper les nœuds en renvoyant des commandes qu’il a intercepté
auparavant. Par la fraîcheur de données, le récepteur peut tester si la commande reçue
a été réutilisée.
– Authentification : elle nous permet de protégé le réseau contre des attaques de vol
d’identité en vérifiant si l’identité déclarée par un nœud est bien celle du nœud déclaré.
Il existe déjà des techniques matures qui peuvent atteindre les objectifs listés ci-dessus,
mais la plupart entre elles sont initialement conçues et testées pour les systèmes sans
contrainte de ressources. Comme nous avons vu précédemment, les nœuds ne sont
pas assez puissants pour gérer des algorithmes et des protocoles très lourds. Il faut les
optimiser et modifier pour s’adapter aux réseaux de capteurs.
2.2.4/ TOLÉRANCE AUX PANNES
Les nœuds sont des dispositifs électroniques, qui peuvent tomber en panne pendant leur
fonctionnement. Le manque de protection solide et de puissance de calcul rendent les
nœuds très fragiles et sensibles face aux dysfonctionnements causés principalement par
des attaques physiques, des phénomènes climatiques et géologiques.
Par exemple un glissement de terre peut détruire, enterrer et déplacer des nœuds dé-
ployés, et changer complètement la topologie du réseau. Si les nœuds assurant des
fonctionnalités particulières sont endommagés, comme les nœuds de passerelle, une2.3. PROBLÈMES DE SÉCURITÉ DANS LES RÉSEAUX DE CAPTEURS 13
partie du réseau deviendra isolé et inaccessible. L’objectif des techniques de tolérance
aux pannes est donc de détecter des anomalies et de restaurer, même partiellement, les
fonctionnalités pour que le réseau puisse continuer à fonctionner.
Une solution qui est largement utilisée est la redondance. L’idée est d’avoir plusieurs
composants prêts pour assurer la même fonctionnalité. Quant aux réseaux de capteurs,
le principe reste le même, on peut attribuer la même tâche à plusieurs nœuds. Lorsqu’un
nœud tombe en panne, un nœud de secours va prendre le relais et continuer à travailler
sur la tâche. Par exemple, lorsque la pile d’un nœud est épuisée, au lieu de se rendre
sur place pour le localiser et le changer, il est plus efficace et moins coûteux de laisser
le nœud épuisé et en choisir un autre qui peut reprendre son travail. Les techniques de
tolérance aux pannes dans les réseaux de capteurs sont présentées en détail dans le
chapitre 5.
2.3/ PROBLÈMES DE SÉCURITÉ DANS LES RÉSEAUX DE CAPTEURS
Les spécificités des réseaux de capteurs sans fil citées précédemment exposent les
nœuds à de nombreuses menaces. Il existe principalement 2 types d’attaques, qui sont
l’attaque passive et active. Dans le premier cas, si le réseau ne chiffre pas ses données,
l’attaquant pourra récupérer les informations qui circulent entre les nœuds en se mettant
discrètement dans le réseau et écoutant les communications radio. Dans le cas d’attaque
active, l’attaquant est beaucoup plus offensif, au lieu d’espionner discrètement les données,
il cherche à perturber le réseau en modifiant les informations ou en endommageant
directement les nœuds.
Dans cette section, nous allons voir d’abord une taxonomie des attaques principales
au sein des réseaux de capteurs [65], ensuite des mécanismes de sécurité que nous
pouvons mettre en place pour les protéger.
2.3.1/ ÉCOUTE PASSIVE
Il s’agit de l’interception et de la collection des données qui circulent dans les réseaux.
L’attaquant peut obtenir l’accès à l’ensemble d’informations échangées entre les nœuds,
si elles ne sont pas correctement chiffrées. L’objectif de l’écoute passive est l’espionnage
des données sensibles sans interférer le fonctionnement du réseau. Par sa nature passif,
ce genre d’attaque est très difficile à détecter.
2.3.2/ ANALYSE DU TRAFIC
L’analyse du trafic est une attaque qui est basée sur l’écoute passive, mais au lieu d’espionner
directement des données, elle s’intéresse plutôt aux destinations des paquets
envoyés. En analysant les chemins empruntés par les paquets, l’attaquant peut étudier
la topologie du réseau et identifier les nœuds les plus importants. Ces informations permettent
à l’attaquant de préparer des attaques plus précises qui peuvent gravement menacer
les communications dans le réseau.
Comme dans le jeu du chasseur de panda [76], les nœuds sont déployés pour tracer la
position du panda, et les paquets contenant les informations de localisation sont chiffrées.14 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
Sans accès direct aux données communiquées, l’attaquant peut toujours localiser la zone
où se trouve le panda en analysant les chemins de routage des paquets.
Généralement dans un réseau de capteurs, les communications intensives se trouvent
souvent soit vers la destinations des paquets, soit près de la source d’événement important.
Une analyse du trafic permet à l’attaquant de localiser des point d’intérêt au sein
d’un réseau, comme la station de base, les nœuds de passerelles etc.
2.3.3/ BROUILLAGE RADIO
On utilise souvent le terme anglophone radio jamming pour désigner ce genre d’attaque.
L’attaquant peut saturer le réseau en diffusant des ondes ayant exactement la même
fréquence que celle utilisée par le réseau de capteurs [109]. Les nœuds utilisent l’air
comme médium de communication, qui est en effet accessible à tout le monde, l’attaquant
peut brouiller le réseau en plaçant simplement quelques nœuds malicieux dans la zone.
2.3.4/ INONDATION
L’idée est de saturer ou de perturber le réseau en diffusant massivement des messages
inutiles. Les protocoles de routage permettent souvent au réseau d’ajouter de nouveaux
nœuds après le déploiement. Quand un nouveau nœud est déployé et réveillé, il envoie
périodiquement des message HELLO pour que les autres nœuds qui se situent dans sa
portée radio puissent le détecter.
L’attaquant peut déployer des nœuds particuliers ayant une puissance d’émission très
forte, qui diffusent constamment des messages HELLO dans le réseau. Lorsqu’un nœud
reçoit un HELLO d’un nouvel arrivant, il est obligé de lui renvoyer un message d’accueil
qui leur permet de lancer la procédure d’intégration. Si le nœud malicieux répète
sans arrêt le message HELLO avec une puissance d’émission assez forte, les autres
nœuds dans sa portée radio vont continuer à lui retourner des messages d’accueil (voir
figure 2.5).
Par conséquent, ces nœuds deviennent indisponibles, car ils sont occupés pour accueillir
le nœud malicieux. En plus, la communication radio consomme beaucoup d’énergie, l’attaquant
peut vider les piles des nœuds trompés en leur demandant des messages d’accueil.
2.3.5/ TROU NOIR
Les nœuds malicieux s’intègrent dans le réseau, et essaient de tromper les autre nœuds
en leur faisant croire qu’ils ont découvert un chemin plus fiable. Dans les protocoles
de routage, les nœuds évaluent souvent les connexions sans fil avec la puissance des
signaux, les nœuds sans protection d’authentification vont abandonner leurs chemins
de routage actuels et envoyer les données aux nœuds malicieux qui disposent d’une
puissance d’émission plus élevée [42]. De ce fait, les données n’arriveront jamais à la
destination prévue (voir figure 2.6).2.3. PROBLÈMES DE SÉCURITÉ DANS LES RÉSEAUX DE CAPTEURS 15
FIGURE 2.5 – Attaque d’inondation de message HELLO
FIGURE 2.6 – Attaque de trou noir
2.3.6/ RÉPLICATION DES DONNÉES
L’attaquant peut réutiliser ultérieurement des paquets qu’il a capturé et enregistré pour
tromper le réseau. Même les paquets sont chiffrés et protégés par des mécanismes
d’authentification, et l’attaquant n’a aucun accès aux données qu’ils contiennent, on peut
toujours deviner l’usage des paquets en observant le comportement des récepteurs.
Par exemple, si l’attaquant s’aperçoit que les nœuds coupent les communications sans
fil après la réception d’un paquet, même il ne peut pas lire son contenu, il pourra tout de
même déduire que c’est le paquet contenant la commande pour éteindre l’antenne radio.
Ensuite l’attaquant peut répliquer et rediffuser le paquet à tous les nœuds autour de lui
pour les passer au silence radio [96].
Cette attaque est réalisable si le réseau ne dispose d’aucun mécanisme assurant la fraî-
cheur des données, ou l’attaquant peut déchiffrer et modifier les contenus des paquets.16 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
2.3.7/ VOL D’IDENTITÉ
Dans les réseaux de capteurs, le vol d’identité s’appelle aussi une attaque sybile [73]. Les
nœuds malicieux se déguisent en nœuds légitimes du réseau en utilisant leurs identités.
Quand le nœud malicieux est considéré comme un membre du réseau, il est autorisé à
participer à toutes les opérations, pendant lesquelles il peut ensuite soit espionner les
données, soit éventuellement perturber le réseau.
Un nœud malicieux déguisé peut sévèrement menacer la sécurité du réseau, notamment
quand on lui attribue un rôle important, comme le nœud de passerelle qui s’occupe de la
communication entre des sous réseaux, ou le cluster-head qui est chargé de la communication
inter-cluster. Si le nœud obtient une telle priorité, il pourra prendre des actions qui
peuvent gravement interférer le fonctionnement du réseau, comme le refus de routage et
la modification de données.
2.3.8/ ATTAQUE PHYSIQUE
L’attaquant se rend physiquement dans la zone où les nœuds sont déployés pour les
détruire ou les capturer. Dans les réseaux de capteurs, les nœuds sont déployés aléatoirement
pour découvrir uniformément une zone d’intérêt, et il est très difficile de surveiller
simultanément chacun des nœuds. La plupart des mécanismes de sécurité sont conçus
et appliqués pour protéger les données et leur circulation contre des intrusions et des
espionnages, comme le chiffrement de données, l’authentification, le test d’intégrité etc.
Cependant les nœuds eux-même restent toujours très fragiles face aux attaques physiques.
Si l’attaquant effectue une analyse du trafic avant de lancer l’attaque, il va pouvoir viser les
nœuds les plus importants dans le réseau. Par exemple si l’attaquant réussit à identifier
et détruire les nœuds passerelle, le réseau deviendra complètement inaccessible ou sera
coupé en plusieurs sous réseaux qui ne peuvent pas communiquer entre eux.
L’attaquant peut aussi capturer et compromettre des nœuds. Un nœud compromis représente
une menace très grave pour la sécurité du réseau. L’attaquant peut retrouver
des informations sensibles dans la mémoire du nœud capturé, comme les clés cryptographiques,
ou modifier carrément le programme installé. Une fois le nœud compromis,
l’attaquant le remet dans le réseau pour espionner les données ou interférer les communications
[108].
2.3.9/ VARIATIONS DES ATTAQUES
Il existe encore d’autres attaques qui sont en effet des variantes des attaques mentionnées
précédemment. On peut faire évoluer leurs fonctionnements ou les combiner ensemble
pour en créer une nouvelle. Le but d’une telle variation est de rendre les attaques
plus puissantes et précises.
Par exemple l’attaque de trou gris, est basée sur l’attaque de trou noir, qui consiste à
tromper les autres nœuds du réseau avec une puissance d’émission élevée. Les données
attirées et récupérées par le nœud malicieux sont simplement supprimées et n’arriveront
jamais à la destination.2.4. MÉCANISMES DE SÉCURITÉ 17
Contrairement au trou noir, un trou gris cherche plutôt à censurer les informations. Les
données sont sélectionnées et modifiées avant être renvoyées, ou le nœud malicieux ne
laisse passer que des informations moins importantes. Le trou gris peut rendre le réseau
beaucoup moins efficace, car les informations importantes sont perdues. Par ailleurs,
un trou gris est plus difficile à détecter, car il se comporte comme un nœud normal du
réseau.
Parfois l’attaquant peut utiliser en même temps plusieurs techniques d’attaquant diffé-
rentes. Par exemple, il lance d’abord une analyse du trafic qui lui permet d’identifier les
chemins de routage, ainsi que les nœuds de routage qui sont chargés de la transmission
de données. Ensuite, il effectue une attaque sybile en déployant des nœuds qui se
déguisent en nœud de routage. Au lieu d’envoyer les données vers la station de base,
les nœuds malicieux créent une boucle infinie en renvoyant les données vers le début du
chemin de routage. Cette attaque peut non seulement perturber le routage des données,
mais aussi augmenter considérablement la consommation d’énergie des nœuds qui se
situent sur le chemin de routage.
2.4/ MÉCANISMES DE SÉCURITÉ
L’ensemble d’attaques présentées dans la section précédente nous a montré la nécessité
de mettre en place des mécanismes de sécurité pour protéger les données et les communications
sans fil au sein d’un réseau de capteurs. Néanmoins, à cause de la diversité
des attaques et le manque de ressources des nœuds, il est très difficile de proposer
une solution qui résolve tous les problèmes. La partie suivante présente des solutions
de sécurité répandues en prenant en compte les spécificités des réseaux de capteurs,
notamment la consommation d’énergie et la puissance de calcul.
2.4.1/ CLÉ D’AUTHENTIFICATION DYNAMIQUE
Le principe de cette solution est de demander à la station de base de générer et distribuer
périodiquement de nouvelles clés d’authentification [6]. A chaque période, la station de
base génère une clé qui est ensuite envoyée à l’ensemble du réseau. Les nœuds utilisent
cette clé pour prouver leur appartenance au réseau, et un nœud qui ne possède pas la
bonne clé n’est pas autorisé à communiquer avec les autres nœuds.
Cette solution offre une protection efficace contre les nœuds malicieux qui essaient de se
déguiser en nœuds légitimes, car elle ne demande ni calcul coûteux, ni échange fréquent
de données. Même si l’attaquant réussit à capturer et compromettre des nœuds, les
nœuds compromis ne pourront toujours pas rentrer dans le réseau, car la nouvelle clé
utilisée ne sera plus la même.
Cependant cette solution nécessite une distribution de clés sécurisée et fiable, il ne faut
pas qu’un attaquant puisse intercepter et interpréter la nouvelle clé utilisée. D’ailleurs, le
réseau est indisponible lors de la distribution de nouvelles clés, car les nœuds ne peuvent
pas communiquer entre eux tant que la distribution de clés n’est pas terminée. Un autre
inconvénient est qu’elle n’autorise pas l’ajout de nouveaux nœuds, car on ne peut pas
connaître à priori la prochaine clé d’authentification à utiliser.18 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
2.4.2/ RÉSEAUX DE CONFIANCE
Cette solution est principalement basée sur l’évaluation de la réputation de chaque nœud.
Les nœuds donnent à chacun de leurs voisins une indice de réputation qui peut varier
en fonction de son comportement [6, 111, 75, 86, 17, 113]. Pendant les communications
sans fil, chaque nœud du réseau surveille les réactions de ses voisins, si un voisin réagit
comme il faut, le nœud va incrémenter son indice de réputation. Cependant, s’il détecte
des comportements suspects du voisin, comme l’absence ou le retard de réponse, alors
le nœud va diminuer l’indice du voisin. Les comportements suspects peuvent être dus à
plusieurs causes possibles, par exemple pile épuisée, connexion instable, ou éventuellement
nœud malicieux.
Les nœuds du réseau stockent en mémoire un tableau contenant les indices de réputation
de tous les voisins, ils choisissent toujours les voisins ayant de meilleures réputations
lors du routage de données. Car ils sont considérés comme les voisins les plus sûrs qui
peuvent construire un chemin de routage assez fiable.
Cependant, l’utilisation toute seule de cette solution n’est pas suffisante pour protéger
le réseau, car elle ne peut pas détecter des attaques passives, comme l’espionnage de
données, le nœud réagit correctement comme un nœud légitime, mais toutes les données
qui sont passées par lui sont enregistrées localement et accessibles à l’attaquant.
2.4.3/ STÉGANOGRAPHIE
La stéganographie est une solution très simple qui peut être mise en place aisément. Au
lieu de rendre le message illisible comme la cryptographie, la stéganographie cherche
plutôt à cacher les informations sensibles dans les paquets de contrôle ou les données.
Généralement, dans les paquets, notamment la partie d’entête, il existe toujours quelques
octets qui ne sont pas utilisés, on peut donc les utiliser pour stocker les données [66].
L’attaquant ne peut pas détecter leur existence tant qu’il ne sait pas la technique exacte
utilisée.
La fiabilité de la stéganographie est en effet un pari sur le fait que l’attaquant ne sait
pas où se sont cachées les données. Cependant, une fois la technique utilisée dévoilée,
l’attaquant pourra accéder à toutes les données cachées. D’ailleurs, le nombre d’octets
non utilisés dans des paquets est très limité, on ne peut pas y stocker des informations
très volumineuses.
2.4.4/ CRYPTOGRAPHIE
La cryptographie est une solution de sécurité qui est relativement beaucoup plus sûre.
L’idée de base est d’utiliser des méthodes mathématiques pour transformer le message
original à une suite de données qui ne peuvent pas être directement interprétées par une
tierce partie. Elle comprend un ensemble de techniques qui sont fréquemment utilisées
dans le monde informatique pour assurer la confidentialité, l’intégrité et l’authenticité des
données.
L’application de la cryptographie implique souvent des calculs intensifs et la gestion des
données volumineuses, qui ne posent aucun problème pour des plate-formes possédant
une puissance de calcul suffisante et un accès de mémoire rapide. Quant à la plupart des2.4. MÉCANISMES DE SÉCURITÉ 19
réseaux de capteurs, aucune des conditions n’est satisfaite. La limitation des ressources
des nœuds est considérée comme un obstacle principal qui empêche l’utilisation des
cryptosystèmes robustes dans les réseaux de capteurs.
La communauté scientifique est toujours à la recherche de solutions qui nous permettent
d’optimiser et d’adapter des algorithmes et des protocoles cryptographiques pour les
réseaux de capteurs. Le temps de calcul, la consommation de mémoire et d’énergie sont
donc devenus des facteurs critiques pour évaluer des solutions proposées.
Il existe principalement 2 catégories de cryptographie, qui sont respectivement la cryptographie
symétrique et la cryptographie asymétrique. Cette section est consacrée à la
présentation et la comparaison des 2 types de cryptographie, ainsi que leurs avantages
et inconvénients.
2.4.4.1/ CRYPTOGRAPHIE SYMÉTRIQUE
La cryptographie symétrique utilise une seule clé pour le chiffrement et le déchiffrement
des données, elle est considérée comme une solution moins coûteuse et plus facile à
implémenter. Par exemple, la longueur de clé recommandée pour l’algorithme DES est
56 bits, et celle de l’algorithme AES est 128 bits. On suppose que M est le message
à chiffrer et k est la clé secrète partagée par l’envoyeur et le récepteur du message.
L’envoyeur utilise la fonction de cryptage E() et la clé k pour générer un message chiffré
E(M, k) = M′
. Après la réception du message chiffré, le récepteur utilise une fonction de
décryptage D() et la même clé k pour déchiffrer le message D(M′
, k) = M. On a montré
dans [52] que l’application des algorithmes de cryptographie symétrique est faisable dans
les réseaux de capteurs.
Cependant cette solution possède aussi des inconvénients inhérents. Pour que 2 nœuds
puissent communiquer entre eux, il faut qu’ils utilisent exactement la même clé, et la
distribution de clés est devenue un défi inévitable. Il existe dans la littérature 4 types de
distribution :
– Clé globale : Une seule clé est partagée par tous les nœuds du réseau. C’est la solution
la plus facile à mettre en place, et elle offre un minimum de protection contre l’espionnage
de données. Cependant, si l’attaque réussit à compromettre un seul nœud, tout
le mécanisme de sécurité va échouer.
– Clé partagée par paire de nœuds : Chaque nœud possède une clé unique pour chacun
de ses voisins. Une telle gestion de clés peut augmenter considérablement le niveau de
sécurité du réseau, car chaque pair de nœuds utilise une clé distincte pour sécuriser la
communication entre eux. Si un nœud possède n voisins, il faudra qu’il stocke en mé-
moire n clés. Premièrement, cette distribution de clés peut engendrer éventuellement
des communications radio très fréquentes qui peuvent vider rapidement les piles des
nœuds. Deuxièmement, le stockage des clés cause une consommation de mémoire
importante.
– Clé individuelle : Chaque nœud détient une clé qui est partagée par lui-même et la
station de base, mais cette distribution sécurise seulement la communication entre les
nœuds et la station de base. Les nœuds ne peuvent pas communiquer entre eux, car
ils ne possèdent pas de clé partagée.
– Clé partagée par groupes de nœuds. Une clé est partagée entre un groupe de nœuds,
par exemple, dans un cluster, le cluster-head est chargé de la génération et de la
distribution de clé, et la communication intérieure du cluster est sécurisée avec ces20 CHAPITRE 2. RÉSEAUX DE CAPTEURS ET PROBLÈMES DE SÉCURITÉ
clés partagées. C’est une solution qui a atteint un compromis entre la consommation
des ressources et la sécurité.
D’ailleurs, la cryptographie symétrique n’offre pas la signature numérique, sans laquelle
les nœuds ne peuvent pas authentifier les messages reçus, et sont vulnérables aux attaques
de vol d’identité.
2.4.4.2/ CRYPTOGRAPHIE ASYMÉTRIQUE
La cryptographie asymétrique, appelée aussi cryptographie à clé publique, utilise 2 clés
différentes respectivement pour le chiffrement et le déchiffrement. Avant l’envoi du message
M, on le chiffre avec la clé publique du destinataire kp, qui est diffusée librement
dans l’ensemble du réseau, E(M, kp) = M′ où E() est la fonction de cryptage et M′ est
le message chiffré. Après la réception du M′
, le destinataire utilise sa clé privée ks
, qui
est gardée secrète, pour déchiffrer le message, D(M′
, ks) = M où D() est la fonction de
décryptage.
La cryptographie asymétrique donne aussi la possibilité de signer des messages chiffrés.
On suppose que A veut envoyer un message M chiffré et signé à B. A calcule d’abord
le condensat du M avec une fonction de hachage H(M), ensuite A génère la signature
S M en chiffrant le condensat avec sa clé privée S M = E(ksA
, H(M)). Enfin, A chiffre la
signature S M et le message original M avec la clé publique de B, M′ = E(kpB
, (S M, M)).
Quand B reçoit le message chiffré et signé, il déchiffre d’abord M′ avec sa clé privée
D(ksB
, M′
) = (S M, M), ensuite pour vérifier la signature, il déchiffre S M avec la clé publique
de A, DS M = D(kpA
, S M) et calcule le condensat de M avec la même fonction de hachage
H(M). Enfin, il teste si DS M = H(M). Si l’authentification échoue, c’est-à-dire DS M , H(H),
le message M′ sera rejeté.
La signature donne une protection complémentaire au réseau, mais les algorithmes de
cryptographie asymétrique sont généralement beaucoup plus coûteux que ceux de cryptographie
symétrique, et les clés à manipuler sont plus longues aussi. En pratique, on
utilise souvent les 2 solutions en même temps. Par exemple, on utilise la cryptographie
asymétrique pour la signature et la génération de clé partagée (voir section 3.4.1 du
chapitre 3), ensuite pour le chiffrement et le déchiffrement de données, on utilise la cryptographie
symétrique qui offre une rapidité de calcul intéressante.
Concernant l’application de la cryptographie asymétrique dans les réseaux de capteurs,
il est évident que les nœuds ne sont pas assez puissants pour gérer directement les algorithmes
de cryptographie asymétrique. Les travaux de recherche récents ont montré
qu’en faisant des optimisations, il est possible d’implémenter des algorithmes de cryptographie
asymétrique pour les réseaux de capteurs [107, 62].
2.5/ CONCLUSION
La cryptographie est la solution la plus utilisée pour sécuriser les communications dans
les réseaux. Idéalement, il est préférable d’utiliser la cryptographie asymétrique pour protéger
les réseaux de capteurs. Hormis son usage basique, le chiffrement de données,
la cryptographie asymétrique offre encore la signature numérique et la génération de clé
partagée, qui constituent une protection plus complète.2.5. CONCLUSION 21
Néanmoins, par rapport à la cryptographie symétrique, la sécurité basée sur la cryptographie
asymétrique implique des calculs beaucoup plus complexes, qui sont dans la
plupart des cas très coûteux pour les nœuds. Il existe 2 cryptosystèmes asymétriques
principaux, RSA et ECC, dont le premier est le cryptosystème asymétrique le plus utilisé,
tandis que le deuxième fait partie des cryptosystèmes asymétriques les plus attractifs.
ECC est un cryptosystème asymétrique basé sur le problème de logarithme discret sur
les courbes elliptiques. Il peut offrir le même niveau de sécurité que RSA en utilisant des
clés beaucoup plus courtes, et ses spécificités ont encouragé les chercheurs à essayer
de l’appliquer dans les réseaux de capteur. Une présentation détaillée de ECC se trouve
dans le chapitre 3.3
CRYPTOGRAPHIE SUR LES COURBES
ELLIPTIQUES
Sommaire
3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1 Groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.2 Groupe abélien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.3 Groupe cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.4 Anneau unitaire et anneau commutatif . . . . . . . . . . . . . . . . . . 25
3.1.5 Corps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.6 Corps fini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Présentation de la courbe elliptique . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1 Définition de courbe elliptique . . . . . . . . . . . . . . . . . . . . . . 26
3.2.2 Loi de composition sur les courbes elliptiques . . . . . . . . . . . . . . 27
3.2.3 Multiplication de point . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.4 Algorithme d’Euclide étendu . . . . . . . . . . . . . . . . . . . . . . 29
3.2.5 Problème du logarithme discret sur les courbes elliptiques . . . . . . . 30
3.3 Optimisation de la performance de multiplication scalaire . . . . . . . . . 31
3.3.1 Méthode NAF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.2 Méthode de la fenêtre . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.3 Système de coordonnées projectives . . . . . . . . . . . . . . . . . . . 34
3.3.4 Réduction de scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.5 Multiplication scalaire parallèle . . . . . . . . . . . . . . . . . . . . . 37
3.4 Protocoles cryptographiques basés sur ECC . . . . . . . . . . . . . . . . . 41
3.4.1 Elgamal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.2 Elliptic Curve Integrated Encryption Scheme (ECIES) . . . . . . . . . 44
3.4.3 Elliptic Curve Digital Signature Algorithm (ECDSA) . . . . . . . . . 46
3.4.4 Elliptic Curve Menezes Qu Vanstone (ECMQV) . . . . . . . . . . . . 46
3.4.5 Elliptic Curve Massey-Omura (EC Massey-Omura) . . . . . . . . . . . 48
3.5 Comparaison de performance entre ECC et RSA . . . . . . . . . . . . . . . 49
3.5.1 Génération de clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.2 Signature numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.3 Vérification de signature . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.4 Comparaison de performance . . . . . . . . . . . . . . . . . . . . . . 50
3.6 Attaques des cryptosystèmes embarqués basés sur ECC . . . . . . . . . . . 51
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2324 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
La cryptographie sur les courbes elliptiques, elliptic curve cryptography (ECC) en Anglais,
est proposée indépendamment par Koblitz [44] et Miller [69] dans les années 80. Elle
comprend un ensemble de techniques qui nous permettent de sécuriser des données en
consommant moins de ressources. Elle attire récemment de plus en plus d’attention des
chercheurs du monde entier, notamment pour le domaine de systèmes embarqués dans
lequel les dispositifs électroniques ne possèdent qu’une puissance de calcul très limitée.
L’avantage le plus important d’ECC par rapport aux autres algorithmes de cryptographie
asymétrique, par exemple RSA [89], est que l’on peut avoir un bon niveau de sécurité en
utilisant une clé beaucoup plus courte. Les tests de performance de Gura et al. [32] ont
montré que pour avoir le même niveau de sécurité qu’une clé RSA de 1024 bits, avec
ECC, il suffit d’utiliser une clé de 160 bits. D’ailleurs, l’utilisation d’une clé plus courte
implique aussi une consommation de mémoire et d’énergie moins importante et un calcul
plus rapide.
Pour expliquer le fonctionnement d’ECC, dans ce chapitre nous étudions d’abord les
concepts mathématiques fondamentaux de la courbe elliptique, ainsi que l’opération la
plus importante sur les courbes, la multiplication scalaire. Ensuite nous présentons l’ensemble
d’algorithmes et de techniques proposés dans la littérature qui visent à améliorer
la performance de calculs sur les courbes. Enfin nous présentons l’ensemble des protocoles
cryptographiques qui sont basés sur les courbes elliptiques.
3.1/ GÉNÉRALITÉS
Avant de présenter les courbes elliptiques, nous étudions d’abord les notions mathématiques
dont nous avons besoin pour comprendre son fonctionnement.
3.1.1/ GROUPE
En mathématique, un groupe est un couple (E, ·) où E est un ensemble et · est une loi
de composition interne qui combine deux éléments a et b de E pour obtenir un troisième
élément a · b. Il faut que la loi satisfasse les quatre axiomes ci-dessous.
– Fermeture : ∀(a, b) ∈ E | a · b ∈ E
– Associativité : ∀(a, b) ∈ E | (a · b) · c = a · (b · c)
– Élément neutre : ∃e ∈ E | a · e = e · a = a
– Symétrique : ∀a ∈ E, ∃b ∈ E | a · b = b · a = e
3.1.2/ GROUPE ABÉLIEN
Un groupe abélien, ou un groupe commutatif, est un groupe dont la loi de composition
interne est commutative. Un ensemble E est un groupe commutatif lorsque
∀(a, b) ∈ E | a · b = b · a3.1. GÉNÉRALITÉS 25
3.1.3/ GROUPE CYCLIQUE
Un groupe fini G est cyclique si tout élément du groupe peut s’exprime sous forme d’une
puissance ou d’un multiple d’un élément particulier g, appelé le générateur du groupe,
c’est-à-dire G = hgi = {g
n
| n ∈ Z
∗
}. Par exemple si G = {g
0
, g
1
, g
2
, g
3
, g
4
, g
5
} et g
6 = g
0
, alors
G est un groupe cyclique. Tout groupe cyclique est abélien car g
ng
m = g
n+m = g
m+n = g
mg
n
.
L’ordre d’un élément e d’un groupe cyclique est le nombre entier n positif le plus petit
tel que ne = 0 (en notation additive) ou e
n = 1 (en notation multiplicative). Reprenons le
même groupe G du paragraphe précédent, par exemple l’ordre de l’élément g
2 est 3 car
l’élément neutre du groupe est g
0 = 1 et (g
2
)
3 = g
6 = 1.
3.1.4/ ANNEAU UNITAIRE ET ANNEAU COMMUTATIF
Un anneau unitaire, ou simplement anneau, est un ensemble E muni de deux lois de
composition, notées + (addition) et · (multiplication). E est un anneau, si
– (E, +) est un groupe commutatif
– La loi · est associative et distributive par rapport à la loi +.
– La loi · possède un élément neutre.
Il existe un élément neutre de la loi de composition +, noté 0 tel que ∀a ∈ E | a+0 = 0+a = a
et ∀a ∈ E, ∃b ∈ E | a + b = 0. Il existe un autre élément neutre pour la loi de composition ·,
noté 1 tel que ∀a ∈ E | a · 1 = 1 · a = a.
Un anneau commutatif est un anneau dont la loi de composition · est commutative, c’est-
à-dire ∀(a, b) ∈ E | a · b = b · a.
3.1.5/ CORPS
Un corps est un ensemble E muni de deux lois de composition, notée respectivement +
et ·. Il faut que les deux lois satisfassent les conditions suivantes :
– Le couple (E, +) forme un groupe abélien, il existe un élément neutre, noté 0, tel que
∀a ∈ E | a + 0 = 0 + a = a.
– Le couple (E\{0}, ·) forme aussi un groupe abélien dont l’élément neutre est 1, ∀a ∈ E |
a · 1 = 1 · a = a.
– La multiplication · est distributif pour l’addition, c’est-à-dire ∀(a, b, c) ∈ E | a · (b + c) =
a · b + a · c et (b + c) · a = b · a + c · a.
Autrement dit, un corps est un anneau dont les éléments non nuls forment un groupe
abélien pour la multiplication.
3.1.6/ CORPS FINI
Un corps fini F est un corps dont le nombre d’éléments est fini. Le nombre d’éléments est
l’ordre du corps, noté q, qui peut être représenté par la puissance d’un nombre premier
q = p
n
, où p est un nombre premier, appelé la caractéristique du corps, et n ∈ Z
+
. Pour26 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
étudier la cryptographie sur les courbes elliptiques, il faut que nous comprenions les deux
types de corps ci-dessous.
3.1.6.1/ CORPS PREMIER
Un corps est un corps premier, noté Fp lorsque l’ordre du corps q = p
n et p est un nombre
premier. Le corps est constitué des nombres entiers {0, 1, 2, ..., p − 1}, et ∀a ∈ Z, a mod p
donne le reste unique r qui est compris entre [0, p − 1].
3.1.6.2/ CORPS BINAIRE
Un corps fini de l’ordre 2
n est un corps binaire, noté F2
n , qui peut être construit en utilisant
une représentation polynomiale. Les éléments du corps sont des polynômes binaires dont
les coefficients ai ∈ {0, 1} et les degrés sont inférieurs à n. C’est-à-dire F2
n = {an−1z
n−1 +
an−2z
n−2 + ... + a1z + a0 : ai ∈ {0, 1}}.
3.2/ PRÉSENTATION DE LA COURBE ELLIPTIQUE
Après la présentation des notions mathématiques nécessaires, nous allons passer, dans
cette section, à la définition des courbes elliptiques avec l’ensemble d’opérations que
nous pouvons effectuer sur elles.
3.2.1/ DÉFINITION DE COURBE ELLIPTIQUE
La courbe elliptique E est une courbe algébrique qui peut être représentée par l’équation
Weierstrass (formule 3.1).
E : y
2 + a1 xy + a3y = x
3 + a2 x
2 + a4 x + a6 (3.1)
On suppose que la courbe est définie dans un corps K et les paramètres a1, a2, a3, a4, a6 ∈
K. Pour que la courbe soit lisse et ne contienne aucun point de rebroussement, il faut
que le discriminant de la courbe ∆ , 0. La définition complète de ∆ se trouve dans la
formule 3.2.
∆ = −d
2
2
d8 − 8d
3
4
− 27d
2
6
+ 9d2d4d6
d2 = a
2
1
+ 4a2
d4 = 2a4 + a1a3
d6 = a
2
3
+ 4a6
d8 = a
2
1
a6 + 4a2a6 − a1a3a4 + a2a
2
3
− a
2
4
(3.2)
La forme de la courbe peut varier en fonction des paramètres choisis, dans la figure 3.1
nous avons 2 exemples de courbe elliptique.
Dans le domaine cryptographique, nous utilisons les courbes elliptiques qui sont définies
dans un corps fini dont l’ordre q = p
n
. Ce corps peut être soit premier, soit binaire, et le3.2. PRÉSENTATION DE LA COURBE ELLIPTIQUE 27
y
2 = x
3 − x y2 = x
3 − x + 2
FIGURE 3.1 – Exemples de courbe elliptique
choix de corps n’a pas une influence importante sur la performance du cryptosystème.
Dans la littérature, il existe différents algorithmes et techniques qui nous permettent d’optimiser
les performances de calcul sur les courbes qui sont définies sur les 2 types de
corps [87]. Cependant pour une raison de simplicité d’implémentation et de présentation,
durant les travaux de recherche de cette thèse, nous n’avons utilisé que des courbes qui
sont définies sur un corps premier.
L’équation Weierstrass d’une courbe elliptique peut être simplifiée, si la courbe est définie
sur un corps premier Fp dont la caractéristique est différente de 2 et de 3. Nous pouvons
transformer la formule 3.1 à l’équation de Weierstrass simplifiée (formule 3.3).
y
2 = x
3 + ax + b (3.3)
où a, b ∈ Fp. Le discriminant de la courbe ∆ = −16(4a
3 + 27b
2
), et ∆ , 0. C’est aussi la
forme de courbe que nous utilisons dans la suite de cette thèse.
3.2.2/ LOI DE COMPOSITION SUR LES COURBES ELLIPTIQUES
Nous supposons qu’une courbe elliptique E est définie dans un corps premier Fp, l’ensemble
de points sur la courbe avec le point à l’infini, noté ∞, forment un groupe abélien
G dont la loi de composition est l’addition de point satisfaisant les conditions suivantes :
– Fermeture : ∀(P1, P2) ∈ G | P1 + P2 ∈ G.
– Commutativité : ∀(P1, P2) ∈ G | P1 + P2 = P2 + P1.
– Associativité : ∀(P1, P2, P3) ∈ G | (P1 + P2) + P3 = P1 + (P2 + P3).
– Élément neutre ∞ : ∀P ∈ G | P + ∞ = ∞ + P = ∞.
– Élément symétrique : ∀P ∈ G, ∃Q ∈ G | P + Q = Q + P = ∞.
Pour obtenir le point symétrique de P, il suffit de changer le signe de sa coordonnée y, si
P = (x, y), alors −P = (x, −y) et P + (−P) = ∞.28 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
Le calcul de l’addition de point est montré dans les formules 3.4 et 3.5. Supposons que
P = (x1, y1) ∈ E, Q = (x2, y2) ∈ E et P , ±Q, alors P + Q = (x3, y3) où
x3 = (
y2 − y1
x2 − x1
)
2 − x1 − x2 et y3 = (
y2 − y1
x2 − x1
)(x1 − x3) − y1 (3.4)
Si P = (x1, y1) ∈ E et P , −P, alors 2P = (x3, y3) où
x3 = (
3x
2
1
+ a
2y1
)
2 − 2x1 et y3 = (
3x
2
1
+ a
2y1
)(x1 − x3) − y1 (3.5)
Une représentation géométrique est donnée dans la figure 3.2. Pour additionner les
points P et Q, nous traçons une droite qui passe par ces 2 points, le résultat de l’addition
est le point symétrique par rapport à l’axe abscisse du 3e point d’intersection avec
la courbe. Pour doubler le point P, c’est-à-dire 2P, il suffit de trouver la tangente à la
courbe au point P, et le résultat du doublement est le point symétrique par rapport à l’axe
abscisse du 2e point d’intersection avec la courbe.
Addition : P + Q = R Doublement : P + P = R
FIGURE 3.2 – Addition de points sur les courbes elliptiques
3.2.3/ MULTIPLICATION DE POINT
En se basant sur l’addition de point, nous pouvons encore effectuer la multiplication de
point, notée Q = kP sur une courbe elliptique E où k ∈ Z
+ et (P, Q) ∈ E. Cette opération est
appelée aussi la multiplication scalaire, qui est considérée comme l’opération la plus coû-
teuse et importante sur les courbes elliptiques. Nous allons voir dans la section 3.4 que
c’est une opération cruciale dans les protocoles cryptographiques basés sur les courbes
elliptiques.
Une multiplication de point peut être considérée comme une suite d’additions de point
consécutives :
Q = kP = P + P + · · · + P | {z }
k fois P
(3.6)3.2. PRÉSENTATION DE LA COURBE ELLIPTIQUE 29
Nous pouvons voir dans les formules 3.4 et 3.5 que le calcul de l’addition de point est
compliqué, notamment quand la courbe est définie dans un corps premier, le temps de
calcul de l’inverse modulaire (voir section 3.2.4) n’est pas négligeable non plus. Il est
donc inefficace de répéter successivement l’addition de point.
La méthode de base pour accélérer la multiplication scalaire est d’utiliser l’algorithme
doublement-et-addition (voir algorithme 1). Supposons que P est un point sur une courbe
elliptique qui est définie sur un corps premier, notée E(Fp), pour calculer kP où k est un
nombre entier positif de longueur l bits, nous représentons k en binaire k =
Pl−1
i=0
ki2
i
, et
ensuite nous parcourons k du bit de poids faible au bit de poids fort.
Algorithme 1 : Algorithme doublement-et-addition pour calculer Q = kP
Données : k =
Pl−1
i=0
ki2
i et P ∈ E(Fp)
Résultat : Q = kP
1 Q ← ∞;
2 pour i de 0 à l − 1 faire
3 si ki = 1 alors
4 Q ← Q + P
5 fin
6 P ← 2P
7 fin
8 retourner Q
3.2.4/ ALGORITHME D’EUCLIDE ÉTENDU
Nous travaillons avec des courbes qui sont définies dans un corps premier Fp, les calculs
modulaires sont donc indispensables pour limiter les coordonnées des points dans
l’intervalle [0, p − 1]. Les formules de l’addition de point peuvent être transformées sous
forme de congruence. Nous avons maintenant
x3 ≡ (
y2 − y1
x2 − x1
)
2 − x1 − x2 (mod p) y3 ≡ (
y2 − y1
x2 − x1
)(x1 − x3) − y1 (mod p) (3.7)
pour l’addition et
x3 ≡ (
3x
2
1
+ a
2y1
)
2 − 2x1 (mod p) y3 ≡ (
3x
2
1
+ a
2y1
)(x1 − x3) − y1 (mod p) (3.8)
pour le doublement.
Nous constatons que dans les formules 3.7 et 3.8 nous avons besoin d’effectuer des calculs
de l’inverse modulaire m ≡ x
−1
(mod p) dans un corps premier, noté Z/pZ. L’inverse
modulaire existe si et seulement si le Plus Grand Commun Diviseur PGCD(x, p) = 1. Nous
pouvons aussi représenter cette condition en utilisant le théorème de Bézout
ux + vp = PGCD(x, p) = 1 (3.9)
où u est l’inverse multiplicatif de x modulo p, et u, v sont les coefficients de Bézout.30 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
Afin de calculer l’inverse modulaire, nous pouvons utiliser l’algorithme d’Euclide étendu
(voir l’algorithme 2) qui est en effet une variante de l’algorithme d’Euclide, et qui permet
non seulement de calculer le PGCD de x et p, mais aussi de déterminer les coefficients de
Bézout u et v. Un exemple est donné dans l’annexe .4 pour vous montrer le déroulement
de l’algorithme.
Le calcul de l’inverse modulaire est l’opération la plus coûteuse durant des multiplications
scalaires. Dans un véritable cryptosystème d’ECC, la longueur des nombres entiers manipulés
peut atteindre facilement quelques centaines de bits, et nous pouvons constater
dans l’algorithme 1 que durant une multiplication scalaire, nous avons besoin de calculer
au moins 2 inverses modulaires par itération. Nous allons voir dans la section 3.3 des
solutions qui nous permettent d’éviter de répéter le calcul de l’inverse modulaire pendant
les multiplications scalaires.
Algorithme 2 : Algorithme d’Euclide étendu
Données : (x, p) ∈ Z
Résultat : x
−1
(mod p)
1 (r1,r2, u1, u2, q,rs, us) ∈ Z;
2 r1 ← x;
3 r2 ← p;
4 u1 ← 1;
5 u2 ← 0;
6 tant que r2 , 0 faire
7 q ← r1
r2
;
8 rs ← r1;
9 us ← u1;
10 r1 ← r2;
11 u1 ← u2;
12 r2 ← rs − q × r1;
13 u2 ← us − q × u1;
14 fin
15 si r1 , 1 alors
16 retourner Erreur;
17 sinon
18 retourner u1;
19 fin
3.2.5/ PROBLÈME DU LOGARITHME DISCRET SUR LES COURBES ELLIPTIQUES
Nous avons vu les différentes opérations que nous pouvons effectuer sur les courbes
elliptiques, notamment la multiplication scalaire qui est utilisée fréquemment pendant les
calculs cryptographiques. Dans cette section, nous expliquons la raison pour laquelle la
multiplication scalaire est la clé pour assurer la sécurité d’un cryptosystème d’ECC.
Le niveau de sécurité d’ECC dépend fortement de la difficulté pour résoudre le problème
de logarithme discret sur les courbes elliptiques. Nous supposons que g est le générateur
d’un groupe cyclique G de l’ordre n, si la loi de composition du groupe est multiplicative,
tout élément e peut être écrit sous forme e = g
k où k ∈ Z. En outre deux entiers3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 31
quelconques e et k satisfaisant cette équation sont nécessairement congrus modulo n,
c’est-à-dire e ≡ k (mod n). Le problème du logarithme discret est en effet une application
réciproque de g
k
(voir la formule 3.10), qui a pour objectif de trouver le plus petit nombre
entier naturel k vérifiant cette propriété.
logg
: G → Zn (3.10)
Nous choisissons, sur une courbe elliptique définie dans un corps premier fini E(Fp), un
point P de l’ordre n comme le générateur du groupe cyclique hPi, un autre point Q ∈ hPi.
Le problème du logarithme discret sur les courbes elliptiques (ECDLP en Anglais) est de
trouver l ∈ [0, n − 1] satisfaisant Q = kP.
La solution la plus naïve pour résoudre ce problème est de calculer exhaustivement
1P, 2P, 3P . . . jusqu’à ce que nous trouvions Q, mais le calcul peut devenir extrêmement
long si la valeur de k est suffisamment grande (voir tableau 3.1). Il est donc énormément
difficile de retrouver la valeur de k à partir de Q et P. Il n’y a pas de preuve mathématique
qui peut démontrer que le ECDLP est insoluble, mais la résolution d’un tel problème est
toujours considéré comme infaisable en prenant compte de l’état actuel des technologies
informatiques [34].
Paramètre de courbe Valeur recommandée
a = −3
b = 0x 64210519 E59C80E7 0FA7E9AB 72243049 FEB8DEEC C146B9B1
p = 2
192 − 2
64 − 1
xG = 0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012
yG = 0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811
n = 0x FFFFFFFF FFFFFFFF FFFFFFFF 99DEF836 146BC9B1 B4D22831
TABLE 3.1 – Courbe E(Fp) : y
2 = x
3 + ax + b avec un générateur G(xG, yG) de l’ordre n
3.3/ OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION
SCALAIRE
Un des avantages d’ECC est la rapidité de calcul car nous utilisons des clés plus courtes.
ECC est souvent un choix adapté pour les matériels qui ne disposent que d’une mémoire
et d’une puissance de calcul limitées (carte à puce, micro-contrôleur etc.). Comme nous
avons vu dans les sections précédentes que l’opération la plus complexe sur les courbes
elliptiques est la multiplication scalaire, elle est aussi fréquemment utilisée dans les protocoles
cryptographiques (voir section 3.4). La performance de la multiplication scalaire
a une forte influence sur la performance de l’ensemble de cryptosystème.
Dans cette section nous allons voir de différentes techniques mathématiques et algorithmiques
qui nous permettent d’accélérer le calcul de multiplication scalaire.
3.3.1/ MÉTHODE NAF
Comme nous avons déjà précisé, dans cette thèse, nous travaillons avec des courbes elliptiques
E(Fp) qui sont définies dans un corps premier fini dont le caractère est supérieur32 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
à 3. Si P = (x, y) est un point sur E(Fp), alors −P = (x, −y). Ainsi, la soustraction de point
est autant efficace que l’addition.
Nous pouvons voir dans l’algorithme 1 que le temps de calcul dépend principalement du
nombre de bits non-nuls dans k. Si nous pouvons réduire le nombre de bits non-nuls,
nous pourrons accélérer le calcul.
La première méthode est d’utiliser la forme non adjacente (NAF) qui consiste à représenter
un nombre entier positif k de longueur l avec des chiffres binaires signés. C’est-à-dire
k =
Pl
i=0
ki2
i où ki ∈ {0, ±1} et kl−1 , 0. En outre, nous ne pouvons pas trouver deux ki
non-nuls consécutifs.
La représentation NAF d’un nombre k dispose des propriétés suivantes :
– k a une représentation unique de NAF, notée NAF(k).
– NAF(k) a moins de bits non-nuls par rapport à toute autre représentation utilisant des
chiffres binaires signés.
– La longueur maximale de NAF(k) est l + 1 bits.
– Si la longueur de NAF(k) = l, alors 2
l
3
< k <
2
l+1
3
.
– Par rapport à la représentation binaire de k, le nombre de bits non-nuls est réduit de l
2
à
l
3
.
NAF(k) peut être calculé efficacement avec l’algorithme 3.
Algorithme 3 : Calcul de la forme NAF d’un nombre entier positif
Données : k =
Pl−1
i=0
ki2
i et k ∈ Z
+
Résultat : NAF(k)
1 i ← 0;
2 tant que k ≥ 1 faire
3 si k est impair alors
4 ki ← 2 − (k mod 4);
5 k ← k − ki
;
6 sinon
7 ki ← 0;
8 fin
9 k ← k
2
;
10 i ← i + 1;
11 fin
12 retourner (ki−1, ki−2, . . . , k1, k0)
L’algorithme 1 doit aussi être modifié (voir algorithme 4) pour pouvoir prendre en charge
des nombres entiers représentés en forme NAF.
3.3.2/ MÉTHODE DE LA FENÊTRE
Si nous disposons de mémoire suffisante, nous pouvons encore optimiser la performance
de l’algorithme 4 en utilisant la méthode de la fenêtre.
Une représentation NAF de taille w d’un nombre entier positif k, notée NAFw(k), est une
expression k =
Pl−1
i=0
ki2
i où chaque chiffre ki non-nul est impair, |ki
| < 2
w−1 et kl−1 , 0. Il y
a au plus un chiffre sur w chiffres est non-nul.3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 33
Algorithme 4 : Méthode NAF pour le calcul de multiplication scalaire
Données : NAF(k) où k ∈ Z
+
, et P ∈ E(Fp)
Résultat : k.P
1 Q ← ∞;
2 pour i de l − 1 à 0 faire
3 Q ← 2.Q;
4 si ki = 1 alors
5 Q ← Q + P;
6 fin
7 si ki = −1 alors
8 Q ← Q − P;
9 fin
10 fin
11 retourner Q
La forme NAFw(k) doit satisfaire des conditions suivantes :
– Un nombre entier k a une représentation unique de NAFw(k).
– NAF2(k) = NAF(k).
– La longueur maximale de NAFw(k) est l + 1.
– Le nombre moyen de bits non-nuls est l
w+1
.
Le calcul de la forme NAFw(k) est montré dans l’algorithme 5.
Algorithme 5 : Calcul de la forme NAFw(k) d’un nombre entier positif
Données : k,w
Résultat : NAFw(k)
1 i ← 0;
2 tant que k ≥ 1 faire
3 si k est impair alors
4 ki ← k mod 2w;
5 k ← k − ki
;
6 sinon
7 ki ← 0;
8 fin
9 k ← k
2
;
10 i ← i + 1;
11 fin
12 retourner (ki−1, ki−2, . . . , k1, k0)
Le calcul de multiplication scalaire en utilisant la méthode de la fenêtre est donné dans
l’algorithme 6.
Nous pouvons constater qu’avant de lancer la boucle pour parcourir les ki
, il faut d’abord
calculer et stocker en mémoire Pi = i.P où i ∈ {1, 3, 5, . . . 2
w−1 − 1}. Donc cette méthode
est applicable si et seulement si le système possède assez de mémoire pour stocker
temporairement l’ensemble de Pi précalculés.34 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
Algorithme 6 : Méthode NAFw(k) pour le calcul de multiplication scalaire
Données : NAFw(k), P ∈ E(Fp)
Résultat : k.P
1 Calculer Pi = i.P où i ∈ {1, 3, 5, . . . 2
w−1 − 1};
2 Q ← ∞;
3 pour i de l − 1 à 0 faire
4 Q ← 2Q;
5 si ki , 0 alors
6 si ki > 0 alors
7 Q ← Q + Pki
;
8 sinon
9 Q ← Q − P−ki
;
10 fin
11 fin
12 fin
13 retourner Q
3.3.3/ SYSTÈME DE COORDONNÉES PROJECTIVES
Le calcul dont nous avons besoin pour additionner 2 points en coordonnées affines est
détaillé dans les formules 3.4 et 3.5. Nous pouvons remarquer que dans les 2 formules,
nous avons besoin d’effectuer des calculs de l’inverse modulaire, qui demande beaucoup
plus de calculs supplémentaires (voir algorithme 2). Afin d’éviter la répétition du calcul de
l’inverse modulaire, il est plus avantageux d’utiliser des coordonnées projectives.
Avec le système de coordonnées projectives, un point est représenté par 3 coordonnées
(X, Y, Z) qui correspondent à un point affine (
X
Z
c
,
Y
Z
d
), et il est équivalent à un point projectif
(
X
Z
c
,
Y
Z
d
, 1).
Dans un système de coordonnées projectives standards, c = 1 et d = 1, mais nous
travaillons souvent avec un cas particulier, le système de coordonnées jacobiennes dans
lequel c = 2 et d = 3, et l’équation Weierstrass simplifiée (voir formule 3.3) d’une courbe
elliptique peut être transformée en
Y
2 = X
3 + aXZ4 + bZ6
(3.11)
Le point à l’infini est (1, 1, 0), et la négation d’un point (X, Y, Z) est (X, −Y, Z).
3.3.3.1/ DOUBLEMENT DE POINT
Nous supposons que P = (X1, Y1, Z1) ∈ E et P , −P. Il nous suffit de réutiliser la formule
3.5 pour calculer 2P = (X
′
3
, Y
′
3
, 1), car le point P = (X1, Y1, Z1) est équivalent à (
X1
Z
2
1
,
Y1
Z
3
1
)
en coordonnée affine. Nous substituons donc, dans la formule 3.5, la variable x par X1
Z
2
1
et
y par Y1
Z
3
1
, et nous obtenons :3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 35
X
′
3 = (
3
X
2
1
Z
4
1
+ a
2
Y1
Z
3
1
) − 2
X1
Z
2
1
=
(3X
2
1
+ aZ4
1
)
2 − 8X1Y
2
1
4Y
2
1
Z
2
1
(3.12)
et
Y
′
3 = (
3
X
2
1
Z
4
1
+ a
2
Y1
Z
3
1
)(
X1
Z
2
1
− X
′
3
) −
Y1
Z
3
1
=
3X
2
1
+ aZ4
1
2Y1Z1
(
X1
Z
2
1
− X
′
3
) −
Y1
Z
3
1
(3.13)
Enfin pour éliminer les dénominateurs, nous calculons le point (X3, Y3, Z3) dont X3 = X
′
3
.Z
2
3
,
Y3 = Y
′
3
.Z
3
3
et Z3 = 2Y1Z1. Le point (X3, Y3, Z3) est équivalent à (X
′
3
, Y
′
3
, 1), car dans un
système de coordonnées projectives, (X1, Y1, Z1) est équivalent à (X2, Y2, Z2), si X1 = λ
cX2,
X1 = λ
dY2 et Z1 = λZ2. Les nouvelles coordonnées sont données dans la formule 3.14 :
X3 = (3X
2
1
+ aZ4
1
)
2 − 8X1Y
2
1
Y3 = (3X
2
1
+ aZ4
1
)(4X1Y
2
1
− X3) − 8Y
4
1
Z3 = 2Y1Z1
(3.14)
Nous pouvons remarquer que si le paramètre de la courbe a = −3, (3X
2
1
− 3Z
4
1
) peut être
factorisée sous la forme suivante :
3X
2
1 − 3Z
4
1 = 3(X1 − Z
2
1
)(X1 + Z
2
1
) (3.15)
qui peut être calculée beaucoup plus efficacement. C’est aussi la raison pour laquelle
dans les configurations recommandées de courbes elliptiques, on choisit toujours la valeur
−3 pour le paramètre a.
3.3.3.2/ ADDITION DE POINT
Nous avons deux points P = (X1, Y1, Z1) ∈ E où Z1 , 0, et Q = (X2, Y2, 1). Afin de simplifier
l’implémentation de l’algorithme, la coordonnée Z du point Q est toujours égale à
1. Nous supposons que P , ±Q, et nous appliquons la même technique pour le doublement.
Comme le point P est équivalent à (
X1
Z
2
1
,
Y1
Z
3
1
) en coordonnée affine, il nous suffit de
substituer, dans la formule 3.4, la variable x1 par X1
Z
2
1
et y1 par Y1
Z
3
1
, et nous obtenons donc
les nouvelles formules de calcul (voir les formules 3.16 et 3.17).
X
′
3 = (
Y2 −
Y1
Z
3
1
X2 −
X1
Z
2
1
)
2 −
X1
Z
2
1
− X2 = (
Y2Z
3
1
− Y1
(X2Z
2
1
− X1)Z1
)
2 −
X1
Z
2
1
− X2 (3.16)
et
Y
′
3 = (
Y2 −
Y1
Z
3
1
X2 −
X1
Z
2
1
)(
X1
Z
2
1
− X
′
3
) −
Y1
Z
3
1
= (
Y2Z
3
1
− Y1
(X2Z
2
1
− X1)Z1
)(
X1
Z
2
1
− X
′
3
) −
Y1
Z
3
1
(3.17)36 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
Comme dans le calcul de l’addition, pour éliminer les dénominateurs, nous devons calculer
le point équivalent du (X
′
3
, Y
′
3
, 1). C’est-à-dire (X3, Y3, Z3) où X3 = X
′
3
.Z
2
3
, Y3 = Y
′
3
.Z
3
3
et
Z3 = (X2Z
2
1
− X1)Z1, nous obtenons ensuite les formules des nouvelles coordonnées :
X3 = (Y2Z
3
1
− Y1)
2 − (X2Z
2
1
− X1)
2
(X1 + X2Z
2
1
)
Y3 = (Y2Z
3
1
− Y1)(X1(X2Z
2
1
− X1)
2 − X3) − Y1(X2Z
2
1
− X1)
3
Z3 = (X2Z
2
1
− X1)Z1
(3.18)
Dans le tableau 3.2, nous avons une liste de nombres d’opérations nécessaires pour calculer
une addition et un doublement sur les courbes elliptiques. Nous pouvons voir que
le système de coordonnées jacobiennes offre une meilleure performance pour le doublement
de point, et une addition utilisant des systèmes de coordonnées mixtes (Jacobienne
+ Affine) demande moins d’opérations.
Nous considérons que le calcul de l’inversion modulaire est une opération beaucoup
plus coûteuse que les autres. Cependant, si nous utilisons les systèmes de coordonnées
projectives, nous pourrons éviter de répéter le calcul de l’inverse modulaire durant la multiplication
scalaire. Il nous suffit de l’appliquer une seule fois à la fin de de la multiplication
pour convertir le résultat final en coordonnées affines.
Doublement Addition Addition mixte
2A → A 1I, 2M, 2S A + A → A 1I, 2M, 1S J + A → J 8M, 3S
2P → P 7M, 3S P + P → P 12M, 2S
2J → J 4M, 4S J + J → J 12M, 4S
TABLE 3.2 – Nombre d’opérations pour calculer une addition et un doublement sur y
2 =
x
3 − 3x + b. A : Affine, P : Projective standard, J : Jacobienne, I : Inversion modulaire, M :
Multiplication, S : Carré
3.3.4/ RÉDUCTION DE SCALAIRE
Selon l’algorithme 1, lorsque l’on effectue la multiplication scalaire kP, on doit parcourir
les bits du scalaire k. Le nombre d’itération dépend du nombre de digits dans la repré-
sentation binaire du scalaire. Autrement dit, si on peut trouver un scalaire équivalent plus
petit, il sera possible d’accélérer le calcul de multiplication scalaire en substituant la valeur
du scalaire par la nouvelle.
Dans [26], Faye et al. ont proposé une méthode qui permet de remplacer la multiplication
kP par une représentation équivalente dP, où P est le point de générateur dont ord(P) = n,
k > d et k, d ∈ [⌊n/2⌋ + 1, n − 1]. On peut obtenir la valeur de d en suivant les règles cidessous
:
∀k > n, ∃d = (k − ⌊k/2⌋n), kP = dP
∀k ∈]⌊n/2⌋, n − 1], ∃d = k − n, kP = dP
∀k ∈]0,⌊n/2⌋], ∃d = k, kP = dP
∀k ∈ {−n, 0, n}, kP = ∞
∀k ∈ [−(n − 1), −⌊n/2⌋[, ∃d = (n + k), kP = dP
∀k ∈ [−⌊n/2⌋, 0[, ∃d = k, kP = dP
∀k < −n, ∃d = k + n⌊|k|/2⌋, kP = dP
(3.19)3.3. OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 37
En cryptographie, la valeur de k est souvent choisie dans l’intevalle ]0, n − 1], donc la
formule 3.19 peut être simplifiée de la manière suivante :
(
∀k ∈]⌊n/2⌋, n − 1], ∃d = k − n, kP = dP
∀k ∈]0,⌊n/2⌋], ∃d = k, kP = dP (3.20)
Prenons un exemple, E : y
2 = x
3 + x + 1 est une courbe elliptique définie dans un corps
premier fini dont le caractéristique p = 23, notée E(F23). P(0, 1) est le point générateur,
et les représentations équivalentes des multiplications scalaires sont illustrées dans la
figure 3.3.
FIGURE 3.3 – Exemples des multiplications scalaires équivalentes
Nous pouvons constater que −34P, −6P, 22P et 50P sont équivalentes, si nous voulons
calculer le point 50P, il suffira de calculer 6P et changer le signe de sa coordonnée en
ordonnée. Les tests de performance ont montré que cette technique peut réduire le temps
de calcul, notamment quand la valeur de k est proche de la borne n − 1.
3.3.5/ MULTIPLICATION SCALAIRE PARALLÈLE
Une autre technique qui nous permet d’accélérer le calcul des multiplications scalaires
est le calcul parallèle. Le principe est découper le calcul en plusieurs sous tâches indé-
pendantes qui peut être effectuée séparément par des processeurs différents. Le calcul
parallèle des multiplications scalaires est un sujet de recherche très actif dans le domaine
de cryptographie, différentes solutions ont été proposées, mais beaucoup entre
elles sont conçues pour des implémentations matérielles basées sur les architectures
multi-processeurs ou FPGA [80, 77].
Il existe principalement 2 types d’implémentation logicielle, le premier est basé sur la
décomposition de scalaire. Nous voulons calculer Q = kP, et nous décomposons d’abord38 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
le scalaire k en plusieurs parties, chacune représente une sous tâche de calcul. Elles
sont ensuite distribués aux processeurs différents, qui les traitent simultanément.
Dans [8], Brickell et al. ont proposé une méthode d’exponentiation rapide basée sur le
tableau précalculé. Par exemple, nous voulons calculer g
n où g est un élément de Z/pZ
et n est un nombre entier positif de longueur l. Nous pouvons représenter l’exposant n en
base h de la manière suivante :
n =
X
l−1
i=0
aixi où 0 ≤ ai ≤ h − 1 et 0 ≤ i < l (3.21)
Nous calculons et stockons g
x0
, g
x1
, . . . , g
xi−1 dans un tableau, ainsi g
n peut être calculé en
utilisant
g
n =
Y
h−1
d=1
c
d
d
cd =
Y
i:ai=d
g
xi
(3.22)
Le calcul de g
n est constitué de trois étapes principales :
1. Déterminer la représentation de n =
Pl−1
i=0
aixi en base h.
2. Calculer cd =
Q
i:ai=d g
xi
.
3. Calculer g
n =
Qh−1
d=1
c
d
d
.
Cette méthode peut être appliquée aux multiplications scalaires sur les courbes elliptiques
en calculant des points 2
1P, 2
2P, . . . , 2
l−1P.
Les étapes 2 et 3 peuvent être parallélisée. Par exemple, si nous possédons h − 1 processeurs,
alors nous pouvons paralléliser la 2e étape, et chaque processeur calcule sa
propre valeur de cd. Idem pour l’étape 3, si nous avons d processeurs disponibles, chacun
peut calculer c
d
d
pour une valeur de d particulière.
Lim and Lee ont proposé dans [60] une autre méthode d’exponentiation rapide. Afin de
calculer g
R
, où R est un nombre entier positif de longueur n, on divise R en h parties Ri
de longueur ⌊n/h⌋. Ensuite chaque Ri est encore divisé en v segments Ri, j de longueur
⌊b = a/v⌋ (voir la formule 3.23).
R = Rh−1Rh−2 . . . R1R0 =
Ph−1
i=0
Ri2
ia
où Ri = Ri,v−1Ri,v−2 . . . Ri,1Ri,0 =
Pv−1
j=0
Ri, j2
jb (3.23)
Nous supposons que g0 = g, ainsi gi = g
2
a
i−1
= g
2
ia où 0 < i < h. En utilisant la formule 3.23,
g
R peut être réécrite de la manière suivante
g
R =
Y
h−1
i=0
g
Ri
i
=
Yv−1
j=0
Y
h−1
i=0
(g
2
jb
i
)
Ri, j
(3.24)
Si la représentation binaire de Ri est Ri = ei,a−1ei,a−2 . . . ei,0 et celle de Ri, j est Ri, j =
ei, jb+b−1ei, jb+b−2 . . . ei, jb+1ei, jb, alors la formule 3.24 peut être transformée à la forme suivante3.3.
OPTIMISATION DE LA PERFORMANCE DE MULTIPLICATION SCALAIRE 39
g
R =
Y
b−1
k=0
(
Yv−1
j=0
Y
h−1
i=0
g
2
jbei, jb+k
i
)
2
k
(3.25)
Si nous calculons et stockons les valeurs suivantes pour tout i ∈ [1, 2
h
[ et j ∈ [0, v[,
G[0][i] = g
eh−1
h−1
g
eh−2
h−2
. . . g
e0
0
G[j][i] = (G[j − 1][i])2
b
= (G[0][i])2
jb (3.26)
la formule 3.25 peut encore être réécrite comme ci-dessous :
g
R =
Y
b−1
k=0
(
Yv−1
j=0
G[j][Ij,k])2
k
(3.27)
où Ij,k = eh−1,b j+keh−2,b j+k . . . e1,b j+ke0,b j+k et j ∈ [0, b[. Ainsi, le calcul de g
R peut être parallélisé
un utilisant les valeurs précalculées.
Une autre méthode basée sur des valeurs précalculés est proposée dans [71]. Nous
supposons que nous voulons calculer Q = kP où Q et P sont 2 points représentés en
coordonnées jacobiennes sur une courbe elliptique, et k est un nombre entier positif de
longueur 160.
Nous préparons un tableau contenant 62 points précalculés (voir la formule 3.28).
A[s] =
P4
j=0
as, j2
32 jG
B[s] =
P4
j=0
as, j2
16+32 jG
(3.28)
où 1 ≤ s ≤ 31 et as,0, . . . , as,4 est la représentation binaire de s =
P4
j=0
as, j2
j
. Le calcul
parallèle de kP en utilisant des points précalculés est montré dans l’algorithme 7.
Algorithme 7 : Multiplication scalaire parallèle basée sur des points précalculés
Données : k =
Pl−1
i=0
ki2
i
, P
Résultat : kP
1 pour 0 ≤ j ≤ 15 faire
2 uj =
P4
i=0
k32i+j2
i
;
3 vj =
P4
i=0
k32i+16+j2
i
;
4 fin
5 A[0] = ∞;
6 B[0] = ∞;
7 T = ∞;
8 pour i de 15 à 0 faire
9 T ← 2T;
10 T ← T + A[ui] + B[vi];
11 fin
12 return T;
Comme cette méthode est basée sur des points précalculés aussi, une fois les points
prêts, le calcul qui se situe à l’intérieur de la boucle peut être effectué par des processeurs
différents.40 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
Le deuxième type d’implémentation logicielle de multiplication scalaire parallèle est basé
sur la décomposition d’opération. C’est-à-dire que chaque processeur s’occupe d’un type
d’opération spécifique. Cependant, ce genre d’implémentation nécessite souvent une
mémoire partagée entre les processeurs.
Dans [4], une architecture de double-processeur est proposée (voir la figure 3.4) pour
paralléliser le calcul des multiplications scalaires Q = kP, où Q et P sont 2 points sur une
courbe elliptique, et k est un nombre entier positif de longueur n, qui peut être représenté
en binaire k =
Pn−1
i=0
ki2
i
.
FIGURE 3.4 – Architecture double-processeur pour l’algorithme de calcul parallèle proposé
Le calcul est basé sur l’algorithme 1. Les 2 processeurs partagent une mémoire et un
compteur, le premier processeur, noté ECDBL, charge le point P et lit les ki
. Après la
lecture de chaque bit, le processeur met à jour le compteur et effectue un double de point
2P. S’il s’agit d’un bit non nul, il stocke le point 2
iP dans la mémoire (voir l’algorithme 8).
Algorithme 8 : Partie ECADD de la multiplication scalaire parallèle
Données : P, k =
Pn−1
i=0
ki2
i
Résultat : 2
iP, stocké dans la mémoire
1 i ← 0;
2 Q ← P;
3 tant que i < n faire
4 si ki = 1 alors
5 si Mémoire est pleine alors
6 Attendre;
7 sinon
8 Stocker Q dans la mémoire;
9 fin
10 fin
11 Q ← 2Q;
12 i ← i + 1;
13 Compteur ← i;
14 fin
Le deuxième processeur, noté ECADD, récupère le point 2
iP depuis la mémoire et effectue
l’addition Q = Q + 2
iP. Le calcul est terminé quand tous les bits ki sont scannés et il3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 41
n’y a plus de points en mémoire partagée (voir l’algorithme 9).
Algorithme 9 : Partie ECDBL de la multiplication scalaire parallèle
Données : 2
iP, lu depuis la mémoire
Résultat : Q = kP
1 Q ← ∞;
2 i ← Compteur;
3 tant que i < n faire
4 si Mémoire n’est pas pleine alors
5 Lire 2
iP depuis la mémoire;
6 Q ← Q + 2
iP;
7 Effacer 2
iP dans la mémoire;
8 fin
9 i ← Compteur;
10 fin
11 retourner Q
3.4/ PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC
Grâce au problème de logarithme discret, plusieurs protocoles cryptographiques ont été
proposés. Dans cette section, nous présentons les protocoles principaux (échange de
clés, chiffrement et signature numérique) qui existent dans la littérature [55].
3.4.1/ ELGAMAL
Dans [24], ElGamal propose un protocole de chiffrement et de signature numérique basé
sur le protocole d’échange de clé Diffie-Hellman [22]. Dans le protocole Diffie-Hellman,
A et B veulent partager un secret entre eux, et chacun détient une clé privée appelé
respectivement xA et xB, p est un grand nombre premier, et α est la racine primitive
modulo p (le générateur). A calcule yA ≡ α
xA
(mod p) et l’envoie à B, et dans l’autre sens,
B calcule yB ≡ α
xB
(mod p) et l’envoie à A (voir figure 3.5). Le secret partagé KAB est donc
KAB ≡ α
xAxB
(mod p)
≡ y
xB
A
(mod p)
≡ y
xA
B
(mod p)
(3.29)
Grâce à la difficulté pour résoudre le problème du logarithme discret, A et B peuvent
s’envoyer yA et yB sans risque, car il est extrêmement difficile de calculer les valeurs xA et
xB. Une fois le secret partagé établi entre A et B, ils peuvent sécuriser la communication
entre eux avec un algorithme de cryptographie symétrique qui est moins lourd à gérer.
3.4.1.1/ CHIFFREMENT ET DÉCHIFFREMENT
Un algorithme de chiffrement et déchiffrement à clé public est aussi proposé dans [24].
Si A veut envoyer un message m à B où m ∈ [0, p − 1]. A choisit d’abord un nombre entier42 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
A B
yA ≡ α
xA
(mod p)
yB ≡ α
xB
(mod p)
KAB ≡ α
xAxB
(mod p)
FIGURE 3.5 – Échange de clés Diffie-Hellman
k ∈ [0, p − 1] et on calcule
K ≡ y
k
B
(mod p) (3.30)
où yB ≡ α
xB
(mod p) est en effet la clé publique de B. Pour chiffrer le message, A calcule
c1 ≡ α
k
(mod p) c2 ≡ Km (mod p) (3.31)
et envoie c1 et c2 à B. Pour déchiffrer le message, B calcule dans un premier temps la
valeur de K ≡ (α
k
)
xB ≡ c
xB
1
(mod p), car xB est la clé privée de B, ensuite B divise c2 par
K pour récupérer le message m. Le déroulement du protocole est illustré graphiquement
dans la figure 3.6.
A B
c1 ≡ α
k
(mod p)
c2 ≡ K · m (mod p)
m ≡ c2/c
xB
1
(mod p)
yB ≡ α
xB
(mod p)
(c1, c2)
FIGURE 3.6 – Protocole de chiffrement d’Elgamal
Cet algorithme peut aussi être appliquer sur les courbes elliptiques. Supposons que G
soit le point générateur sur une courbe définie dans un corps premier fini, notée E(Fp). A
et B disposent chacun d’une clé privée, xA et xB avec lesquelles ils peuvent calculer leurs
clés publiques PA et PB.
PA = xA.G et PB = xB.G (3.32)
Lorsque A veut envoyer un message m à B, il convertit d’abord m en un point, noté M, sur
la courbe E(Fp, et prendre un nombre entier aléatoire k ∈ [0, p − 1], ensuite il commence
à chiffrer le message en calculant3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 43
M1 = k.G M2 = M + k.PB (3.33)
Enfin le couple (M1, M2) est envoyé à B qui peut déchiffrer le message de la manière
suivante.
M = M2 − xB.M1 = M + k.PB − xB.k.G = M + (k.PB − k.PB) (3.34)
3.4.1.2/ SIGNATURE NUMÉRIQUE
L’objectif de la signature numérique est de garantir l’intégrité d’un document et d’authenti-
fier l’auteur. En vérifiant la signature, le récepteur du document peut identifier le signataire
du document et détecter si le document a été modifié pendant la transmission.
Pour signer un document, le signataire doit trouver une solution qui lui permette de signer
le document un utilisant sa clé privée, et les autres personnes peuvent vérifier la signature
avec la clé publique du signataire.
Dans la proposition de ElGamal, la signature d’un document m ∈ [0, p − 1] est un couple
(r, s) tel que
α
m ≡ y
r
r
s
(mod p) (3.35)
où y ≡ α
x
(mod p) est la clé publique du signataire, et x est sa clé privée.
Avant de lancer la procédure de signature, le signataire trouve un nombre entier k ∈
[0, p − 1] tel que PGCD(k, p − 1) = 1. Ensuite il calcule
r ≡ α
k
(mod p) (3.36)
et la formule 3.35 peut être transformée à
α
m ≡ α
xrα
ks (mod p) (3.37)
à partir de laquelle nous pouvons calculer s en utilisant l’équation
m ≡ xr + ks (mod p − 1) (3.38)
Une fois que le document est arrivé chez destinataire, il suffit que le récepteur calcule les
deux côtés de l’équation 3.35 pour voir s’ils sont égaux.
Cet algorithme doit être légèrement modifié avant de pouvoir être utilisé avec les courbes
elliptiques [81]. Afin de sécuriser la communication entre eux, utilisateurs A et B choisissent
la même courbe E(Fp) dont le point de générateur est G. Avant d’envoyer le
message M à B, il faut qu’il soit signé par A. Supposons que la clé privée de A soit xA,
et avec laquelle on peut calculer facilement sa clé publique PA = xAG. La procédure de
signature est constituée de 5 étapes.
1. Choisir d’abord un nombre entier aléatoire k ∈ [0, p − 1].44 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
2. Calculer R = kG = (xR, yR) et r ≡ xR (mod p). Si r = 0, répéter l’étape précédente.
3. Calculer e = h(M) où h est une fonction de hachage.
4. Calculer s ≡ k
−1
(e + rxA) (mod p). Si s = 0, recommencer depuis l’étape 1.
5. Envoyer (R, s) à utilisateur B.
Après la réception de (R, s), afin de vérifier la signature du document, B calcule V1 = sR
et V2 = h(M)G + rPA. La signature est valide si V1 = V2 (voir figure 3.7).
V1 = k
−1
(e + rxA)kG = G(h(M) + rxA)
V2 = h(M)G + rxAG = G(h(M) + rxA)
)
(3.39)
A B
k ∈ [0, p − 1]
R = k · G = (xR, yR)
r ≡ xR (mod p)
e = h(M)
s ≡ k
−1
(e + r · xA) (mod p)
V1 = s · R
V2 = h(M) · G + r · PA
PA = xA · G
(R, s)
FIGURE 3.7 – Protocole de signature numérique d’Elgamal
3.4.2/ ELLIPTIC CURVE INTEGRATED ENCRYPTION SCHEME (ECIES)
Le protocole d’Elgamal est rarement utilisé directement avec les courbes elliptiques.
Avant de chiffrer un message, il faut d’abord le convertir à un point sur la courbe elliptique
utilisée. Il y a différentes techniques qui existent, mais la conversion nécessite
plus de calcul.
Généralement on utilise les courbes elliptiques pour établir une clé partagée entre les 2
parties d’une conversation [22], ensuite nous pouvons utiliser un algorithme de cryptographie
symétrique pour sécuriser la communication entre elles.
Le protocole ECIES est en effet une variante d’Elgamal standardisée. Supposons qu’Alice
désire envoyer un message M à Bob d’une manière sécurisée, ils doivent d’abord disposer
de toutes les informations suivantes :
– KDF (Key Derivation Function) : Une fonction de dérivation de clé qui permet de géné-
rer plusieurs clés à partir d’une valeur secrète de référence.
– MAC (Message Authentication Code) : Code transmis avec les données dans le but
d’assurer l’intégrité de ces dernières.
– S Y M : Algorithme de chiffrement symétrique.
– E(Fp) : La courbe elliptique utilisée avec le point de générateur G dont ordp(G) = n.3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 45
– KB : La clé publique de Bob KB = kB.G où kB ∈ [1, n − 1] est sa clé privée.
Pour chiffrer le message M, Alice doit effectuer des opérations suivantes :
1. Choisir un nombre entier k ∈ [1, n − 1] et calculer R = k.G.
2. Calculer Z = k.KB.
3. Générer les clés (k1, k2) = KDF(abscisse(Z), R).
4. Chiffrer le message C = S Y M(k1, M).
5. Générer le code MAC t = MAC(k2,C).
6. Envoyer (R,C, t) à Bob.
Pour déchiffrer le message (R,C, t), Bob doit effectuer des calculs ci-dessous :
1. Rejeter le message si R < E(Fp).
2. Calculer Z = kB.R = kB.k.G = k.KB.
3. Générer les clés (k1, k2) = KDF(abscisse(Z), R).
4. Générer le code MAC t
′ = MAC(k2,C).
5. Rejeter le message si t
′ , t.
6. Déchiffrer le message M = S Y M−1
(k1,C).
Dans ce protocole, la valeur critique est k avec laquelle Bob peut calculer Z = k.KB, et
générer le couple (k1, k2) qui est utilisé pour déchiffrer et authentifier le message. Grâce
à la difficulté pour résoudre le problème de logarithme discret, Alice peut envoyer R = k.G
sans problème. Une représentation graphique du protocole est illustrée dans la figure 3.8,
et une description plus détaillée est donnée dans [9] avec les paramètres recommandés
dans [87].
A B
k ∈ [0, p − 1]
R = k · G
Z = k · KB = (xZ, yZ)
(k1, k2) = KDF(xZ, R)
C = S Y M(k1, M)
t = MAC(k2,C)
Z = kB · R = (xZ, yZ)
(k1, k2) = KDF(xZ, R)
M = S Y M−1
(k1,C)
KB = kB · G
(R,C, t)
FIGURE 3.8 – Protocole de chiffrement ECIES46 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
3.4.3/ ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA)
Le protocole ECDSA est proposé par Johnson et al. dans [40], il est une variante de
DSA qui utilise les techniques de cryptographie sur les courbes elliptiques. Le protocole
DSA signifie Digital Signature Algorithm en Anglais, c’est un algorithme de signature
numérique standardisé par le NIST aux États-Unis [20].
Le protocole est basé sur l’idée du protocole de signature d’Elgamal. Nous supposons
qu’Alice et Bob utilisent la même courbe elliptique E(Fp) pour sécuriser la communication
entre eux. Nous supposons que la clé publique d’Alice est KA = kA.G où kA est sa clé
privée et G est le point de générateur de l’ordre n.
Pour signer un message M, Alice doit suivre les opérations suivantes :
1. Choisir un nombre aléatoire k ∈ [1, n − 1].
2. Calculer R = k.G.
3. Calculer r ≡ abscisse(R) (mod n). Si r = 0, retourner à l’étape 1.
4. Calculer s ≡ k
−1
(H(M) + kAr) (mod n) où H est une fonction de hachage. Si s = 0,
retourner à l’étape 1.
5. Envoyer (r, s) à Bob.
Après avoir reçu le message signé, Bob vérifie la signature du message :
1. Vérifier si KA , ∞ (point à l’infini) et KA ∈ E(Fp).
2. Vérifier si n.KA = ∞ car n.KA = n.kA.G et ordp(G) = n.
3. Vérifier si (r, s) ∈ [1, n − 1].
4. Calculer R = (H(M)s
−1 mod n)G + (rs−1 mod n)KA (voir la formule 3.40).
5. Vérifier si r ≡ abscisse(R) (mod n).
R = (H(M)s
−1
)G + (rs−1
)KA (mod n)
= (H(M)s
−1
)G + (rs−1
)kAG (mod n)
= s
−1G(H(M) + rkA) (mod n)
= k(H(M) + kAr)
−1G(H(M) + rkA) (mod n)
= kG
(3.40)
Le déroulement du protocole est montré dans la figure 3.9.
3.4.4/ ELLIPTIC CURVE MENEZES QU VANSTONE (ECMQV)
ECMQV est un protocole d’échange de clés authentifié proposé dans [51], car en utilisant
Diffie-Hellman, nous ne pouvons pas assurer l’authentification des participants
Nous supposons que R(xR, yR) est un point sur une courbe elliptique, et P est le point de
générateur dont ord(P) = n. Nous calculons R¯ = (xR mod 2L
) + 2
L où L = ⌈
⌊log2
n⌋+1
2
⌉, alors
R¯ est en effet les premier L bits de la coordonnée abscisse de R. En outre, (qA, QA) et
(qB, QB) sont respectivement la clé privée et la clé publique de Alice et Bob.
La procédure d’échange de clés commence par une génération de clés temporaire chez
Alice :3.4. PROTOCOLES CRYPTOGRAPHIQUES BASÉS SUR ECC 47
A B
k ∈ [1, n − 1]
R = k · G = (xR, yR)
r ≡ xR (mod n)
s ≡ k
−1
(H(M) + kAr)
R = (H(M)s
−1 mod n) · G + (r · s
−1 mod n) · KA
(r, s)
FIGURE 3.9 – Protocole de signature numérique ECDSA
– Choisir en nombre entier kA ∈ [1, n − 1] et calculer RA = kA.P.
– Envoyer RA à Bob.
Après la réception de RA, Bob effectue des opérations suivantes :
– Choisir un nombre entier aléatoire kB ∈ [1, n − 1] et calculer RB = kB.P.
– Calculer sB ≡ (kB + R¯
BqB) (mod n) (Bob signe sa clé temporaire).
– Calculer Z = sB(RA + R¯
AQA).
– Génération de clés (k1, k2) = KDF(abscisse(Z)) où KDF est une fonction de dérivation
de clés.
– Génération de MAC tB = MAC(k1, 2, B, A, RB, RA) où 2 est un nonce cryptographique.
– Envoyer (RB, tB) à Alice.
Alice reçoit (RB, tB) et vérifie l’identité de Bob en faisant :
– Calculer sA ≡ (kA + R¯
AqA) (mod n) (Alice signe sa clé temporaire).
– Calculer Z
′ = sA(RB + R¯
BQB) (voir la formule 3.41).
– Génération de clés (k1, k2) = KDF(abscisse(Z
′
)).
– Vérifier si tB = MAC(k1, 2, B, A, RB, RA).
– Génération de MAC tA = MAC(k1, 3, A, B, RA, RB).
– Envoyer tA à Bob.
Bob vérifie l’identité d’Alice :
– Vérifier si tA = MAC(k1, 3, A, B, RA, RB).
Z = sB(RA + R¯
AQA)
= (kB + R¯
BqB)(RA + R¯
AQA)
= (kB + R¯
BqB)(kA + R¯
AqA)P
Z
′ = sA(RB + R¯
BQB)
= (kA + R¯
AqA)(RB + R¯
BQB)
= (kA + R¯
AqA)(kB + R¯
BqB)P
(3.41)
Le secret partagé k2 entre les 2 participants de la communication, et contrairement au
protocole de Diffie-Hellman, la clé de session n’est jamais la même. Seulement Alice et
Bob peuvent calculer Z, et ils utilisent leurs clés temporaires kA et kB pour prouver leurs
identités. Le schéma qui représente l’établissement de la clé de session est donné dans48 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
la figure 3.10.
A B
kA ∈ [1, n − 1]
RA = kA · P
sA ≡ (kA + R¯
AqA) (mod n)
Z
′ = sA · (RB + R¯
BQB) = (xZ
′, yZ
′)
(k1, k2) = KDF(xZ
′)
tA = MAC(k1, 3, A, B, RA, RB)
kB ∈ [1, n − 1]
RB = kB · P
sB ≡ (kB + R¯
BqB) (mod n)
Z = sB · (RA + R¯
A · QA) = (xZ, yZ)
(k1, k2) = KDF(xZ)
tB = MAC(k1, 2, B, A, RB, RA)
Tester tA = MAC(k1, 3, A, B, RA, RB)
RA
(RB, tB)
tA
FIGURE 3.10 – Protocole d’échange de clés ECMQV
3.4.5/ ELLIPTIC CURVE MASSEY-OMURA (EC MASSEY-OMURA)
En cryptographie, le protocole à trois passes, permet à Alice d’envoyer un message chiffré
à Bob sans avoir besoin d’échanger ou de distribuer des clés. Le premier protocole à
trois passes était celui développé par Shamir en 1980. Il est aussi appelé Shamir No-Key
Protocol, car l’émetteur et le récepteur n’ont pas besoin d’échanger des clés. Le protocole
nécessite néanmoins deux clés privées pour crypter et décrypter les messages.
James Masey et Jim K. Omura ont proposé une amélioration du protocole de Shamir en
1982 [67]. La méthode de Massey-Omura utilise l’exponentiation dans le corps de Galois
GF(2n
). Le message chiffré est Me et le message déchiffré est Md
. Les calculs sont
effectués dans le corps de Galois. Quelque soit le nombre entier e utilisé pour chiffrer
le message avec 0 < e < 2
n − 1 et PGCD(e, 2
b − 1) = 1, le nombre entier d permettant
de déchiffrer le message est tel que de ≡ 1 (mod 2n − 1). Comme le groupe multiplicatif
associé au corps de Galois GF(2n
) est de l’ordre 2
n−1, le théorème de Lagrange implique
que m
de = m pour tout m dans GF(2n
)
∗
.
La Théorème de Lagrange montre que pour un groupe G fini et pour tout sous-groupe H
de G, l’ordre de H divise l’ordre de G. Dans notre cas, le groupe considéré est le groupe
abélien associé à notre courbe elliptique E. Soit N le nombre de points sur la courbe
E(Fp), ce nombre est public. Alice et Bob choisissent leur clé secrète : deux nombres
entiers aléatoires eA et eB tel que PGCD(eA, n) = 1 et PGCD(eB, n) = 1. Ils calculent dA ≡ e
−1
A
(mod N) et dB ≡ e
−1
B
(mod N) en utilisant l’algorithme d’Euclide. Si Alice veut envoyer le
message M à Bob, elle envoie d’abord eAM. Toutefois, Bob ne peut pas le déchiffrer, il
renvoie eBeAM ) Alice. Alice renvoie alors dAeBeAM à Bob, et comme dAeA ≡ 1 (mod N),3.5. COMPARAISON DE PERFORMANCE ENTRE ECC ET RSA 49
nous avons daeBeAM = eBM et donc Bob peut déchiffrer le message.
3.5/ COMPARAISON DE PERFORMANCE ENTRE ECC ET RSA
RSA fait partie des premiers cryptosystèmes asymétriques qui sont largement appliqués,
et aujourd’hui, il est toujours considéré comme le cryptosystème asymétrique le plus
utilisé, notamment pour échanger des données confidentielles sur internet. Il est proposé
en 1977 par Ron Rivest, Adi Shamir et Leonard Adleman [89]. L’algorithme est basé sur
l’hypothèse qu’il est extrêmement difficile d’effectuer la factorisation d’un nombre entier
en facteurs premiers. Certes, la factorisation n’est pas la seule méthode pour casser
RSA, mais pour l’instant, il n’existe pas d’autre attaque qui soit suffisamment efficace.
RSA est proposé avec 3 algorithmes qui sont conçus respectivement pour la génération
de clés, la signature numérique et la vérification de signature.
3.5.1/ GÉNÉRATION DE CLÉS
Avec RSA, la clé publique et la clé privée du système peuvent être générées de la manière
suivante :
– Choisir 2 nombres premiers aléatoires p et q ayant approximativement la même longueur
en nombre de bits.
– Calculer n = p · q.
– Calculer φ(n) = (p − 1) · (q − 1).
– Choisir un nombre entier e ∈]1, φ(n)[ tel que gcd(e, φ(n)) = 1.
– Calculer d tel que e · d ≡ 1 (mod n).
– (n, e) est la clé publique et d est la clé privée.
3.5.2/ SIGNATURE NUMÉRIQUE
La signature numérique permet au destinataire d’assurer l’intégrité du message et d’authentifier
son auteur. Afin de signer le message m avec RSA, il suffit de chiffrer le message
avec la clé privée.
s ≡ hash(m)
d
(mod n) (3.42)
hash est une fonction de hachage, et généralement nous utilisons la fonction SHA-1.
Une fois le message est signé, le signataire envoie le message m avec sa signature au
destinataire.
3.5.3/ VÉRIFICATION DE SIGNATURE
Pour vérifier la signature reçue, le destinataire doit déchiffrer le message avec la clé
publique du signataire.50 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
h ≡ s
e ≡ (hash(m)
d
)
e ≡ hash(m) (mod n) (3.43)
Pour authentifier l’auteur du message, le destinataire applique la même fonction de hachage
au m et tester si le résultat est égal à h.
3.5.4/ COMPARAISON DE PERFORMANCE
Afin d’évaluer et de comparer la performance de RSA et ECC, 2 implémentations utilisant
respectivement ces 2 cryptosystèmes sont testés dans [39]. Comme nous avons présenté
au début du chapitre, ECC peut avoir le même niveau de sécurité que RSA avec une clé
beaucoup plus courte. Les longueurs de clé utilisées sont suggérées dans [54] (voir le
tableau 3.3), et les longueurs qui se situent dans la même colonne sont censées pouvoir
fournir le même niveau de robustesse. D’ailleurs, l’algorithme de signature utilisé pour
ECC est ECDSA, une variante de DSA conçue pour les courbes elliptiques, et un texte
de longueur 100 Ko est utilisé pour tester la signature.
Algorithme Longueur de clé (bit)
ECC 163 233 283 409 571
RSA 1024 2240 3072 7680 15360
TABLE 3.3 – Longueur de clé en bit
Les résultats de test sont donnés dans les tableaux 3.4, 3.5 et 3.6. Nous pouvons constater
que pour atteindre le même niveau de sécurité, premièrement, la consommation de
mémoire est beaucoup moins importante avec ECC, car nous utilisons des clés plus
courtes. Deuxièmement, les calculs de la génération de clé et de la signature de message
sont plus rapide avec ECC. La vérification de signature est plus rapide avec RSA,
car il suffit d’effectuer une exponentiation modulaire.
Longueur de clé Temps de calcul (s)
ECC RSA ECC RSA
163 1024 0.08 0.16
233 2240 0.18 7.47
283 3072 0.27 9.80
409 7680 0.64 133.90
571 15360 1.44 679.06
TABLE 3.4 – Temps d’exécution pour la génération de clés
Le même type de test a été effectué dans [32, 43], les résultats de test ont aussi prouvé
que ECC était plus avantageux en terme de consommation de mémoire et vitesse de
calcul. C’est la raison principale pour laquelle ECC devient de plus en plus le choix préféré
pour les systèmes embarqués qui disposent d’une mémoire et d’une puissance de calcul
très limitée.
Actuellement RSA demeure toujours le cryptosystème asymétrique le plus largement
utilisé, car il est sorti beaucoup plus tôt par rapport à ECC. RSA est publié en 1978 [89]
et standardisé en 1993 [49], tandis que ECC est proposé dans les années 80 [44, 69] et
standardisé vers la fin des années 90. Les 2 cryptosystèmes sont initialement protégés3.6. ATTAQUES DES CRYPTOSYSTÈMES EMBARQUÉS BASÉS SUR ECC 51
Longueur de clé Temps de calcul (s)
ECC RSA ECC RSA
163 1024 0.15 0.01
233 2240 0.34 0.15
283 3072 0.59 0.21
409 7680 1.18 1.53
571 15360 3.07 9.20
TABLE 3.5 – Temps d’exécution pour la signature numérique
Longueur de clé Temps de calcul (s)
ECC RSA ECC RSA
163 1024 0.23 0.01
233 2240 0.51 0.01
283 3072 0.86 0.01
409 7680 1.80 0.01
571 15360 4.53 0.03
TABLE 3.6 – Temps d’exécution pour la vérification de signature
par des brevets. Du fait que le brevet de RSA a expiré depuis 2000, il peut être utilisé
librement par tout le monde, mais celui de ECC est toujours valable [14].
Une autre raison qui limite l’utilisation de ECC est que mathématiquement RSA est relativement
plus simple. De nombreuse spécifications de ECC existent [74], mais les implémentations
sont souvent incomplètes, c’est-à-dire que seulement quelques courbes
décrites dans les spécifications sont implémentées.
3.6/ ATTAQUES DES CRYPTOSYSTÈMES EMBARQUÉS BASÉS SUR
ECC
Du point de vue mathématique, les cryptosystèmes embarqués basés sur les courbes
elliptiques sont censés être suffisamment sûrs. Cependant, ils peuvent toujours faire l’objet
d’attaques matérielles. Il existe 3 types d’attaques selon leur nature : non-invasives,
semi-invasive et invasive [28].
Une attaque non-invasive peut être, soit une observation de certains caractéristiques d’un
cryptosystème durant la manipulation de sa clé secrète, soit une injection de fautes pour
perturber les calculs. Le premier cas s’appelle aussi l’attaque par canaux cachés.
Le premier document officiel relatant une utilisation d’un canal caché date de 1956 [110],
le service de renseignement britannique a cassé une machine de chiffrement de l’ambassade
égyptienne en observant les « clic » produits par des rotors (voir la figure 3.11).
Pour les systèmes embarqués modernes, les différences de tension engendrées par les
transistors durant un cycle d’horloge dépendent des instructions exécutées et des valeurs
utilisées. L’examen de la consommation d’énergie permet de trouver des informations sur
la clé secrète [45] (voir la figure 3.12). Une autre possibilité est d’analyser les signaux
engendrés par le rayonnement électromagnétique pendant la circulation d’un courant.52 CHAPITRE 3. CRYPTOGRAPHIE SUR LES COURBES ELLIPTIQUES
FIGURE 3.11 – Machine de chiffrement à rotor
Les résultats permettent aussi de récupérer les informations sur les opérations effectuées
par le cryptosystème, ainsi que les variables manipulées [104].
FIGURE 3.12 – Attaque par analyse de la consommation électrique
Le deuxième type d’attaque non-invasive est d’alterer le fonctionnement du cryptosystème
en modifiant l’environnement, e.g. modification de température, injection des pics
de tension etc. Ce genre d’attaque est censé être paramétrable pour ne pas endommager
le circuit, et lorsque l’attaque cesse, le circuit peut retrouver son état initial.
Les attaques semi-invasives sont similaires aux attaques non-invasives. Nous observons
les caractéristiques d’un cryptosystème, sauf qu’avec l’attaque semi-invasive, nous devons
décapsuler le package pour être plus près possible du circuit. Ainsi, l’attaquant peut
altérer le fonctionnement du cryptosystème en créant des circuits additifs ou émettant
des ondes électromagnétiques pour perturber temporairement le circuit [94].
Contrairement à l’attaque non-invasive et l’attaque semi-invasive, avec l’attaque invasive,
la modification et la perturbation du cryptosystème sont permanentes.3.7. CONCLUSION 53
3.7/ CONCLUSION
Dans ce chapitre, nous avons présenté la cryptographie sur les courbes elliptiques, ainsi
que l’ensemble de termes mathématiques indispensables pour comprendre son fonctionnement.
En faisant des comparaisons de performance avec l’autre cryptosystème largement
utilisé, RSA, nous pouvons remarquer que ECC est un cryptosystème plus attractif,
notamment pour les systèmes embarqués, comme les capteurs sans fil.
Afin d’atteindre un niveau de sécurité suffisant avec RSA, il faut utiliser des clés de longueurs
1024 minimum, et la mémoire du système risque d’être saturée facilement durant
les calculs. Cependant avec ECC, une clé de longueur 160 est déjà capable de fournir
le même niveau de sécurité. Une autre raison pour laquelle ECC est préférable pour les
systèmes embarqués est qu’il existe beaucoup de méthodes mathématiques qui nous
permettent d’accélérer les calculs sur les courbes.
Les capteurs sans fil ne détiennent qu’une mémoire et une puissance de calcul limitée, et
les calculs cryptographiques avec ECC restent toujours très lourds, malgré ses avantages
par rapport à RSA. Dans une application de réseaux de capteurs sans fil, les capteurs
fonctionnent rarement individuellement, car ils sont censés être déployés en masse et
coopérer entre eux. Dans le chapitre suivant, nous présentons notre méthode qui nous
permet d’accélérer les calculs sur les courbes elliptiques en parallélisant les tâches de
calcul.4
MULTIPLICATION SCALAIRE PARALLÈLE
DANS LES RÉSEAUX DE CAPTEURS
Sommaire
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2 Calcul parallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.1 Taxonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.2 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2.3 Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3 Calcul parallèle dans les réseaux de capteurs . . . . . . . . . . . . . . . . . 62
4.3.1 Accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.2 Consommation d’énergie . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.3 Connexion sans fil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3.4 Tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.4 Parallélisation des multiplications scalaires . . . . . . . . . . . . . . . . . . 64
4.4.1 Décomposition des données . . . . . . . . . . . . . . . . . . . . . . . 65
4.4.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . . 66
4.4.3 Protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.5 Arithmétique multiprécision . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.5.1 Addition et soustraction . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.2 Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.3 Réduction modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.6 Evaluation de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.6.1 Parallélisation avec points précalculés . . . . . . . . . . . . . . . . . . 77
4.6.2 Parallélisation sans points précalculés . . . . . . . . . . . . . . . . . . 80
4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.1/ INTRODUCTION
Dans le chapitre 3, nous avons présenté la cryptographie sur les courbes elliptiques,
ainsi que l’ensemble de techniques qui nous permettent d’accélérer le calcul des multiplications
scalaires, qui est considérée comme l’opération la plus importante et coûteuse
sur les courbes elliptiques. Après une étude des protocoles cryptographiques qui sont
5556 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
basés sur ECC, nous pouvons constater que la sécurité de ECC dépend principalement
de la difficulté pour résoudre le problème du logarithme discret.
Un des avantages de ECC par rapport à RSA est la rapidité de calcul, et beaucoup de
méthodes mathématiques sont proposées dans la littérature pour améliorer sa performance
au niveau de la vitesse de calcul. D’ailleurs, une autre caractéristique de ECC
très importante, notamment pour les plate-formes embarqués disposant d’une mémoire
très limitée, est qu’afin d’atteindre le même niveau de robustesse que RSA, il nous suffit
d’utiliser une clé beaucoup plus courte.
Un réseau de capteurs sans fil est constitué d’un grand nombre de capteurs sans fil,
appelés aussi des nœuds, qui sont très limités en termes de puissance de calcul et
de mémoire disponible. Ces dispositifs ne sont pas censés être capables de gérer des
calculs très complexes, dans les réseaux de capteurs sans fil, les nœuds sont déployés
en masse, car il faut qu’ils coopèrent étroitement entre eux pour accomplir un objectif
collectif.
Revenons sur le sujet du calcul cryptographique. Donc ECC est un choix optimal pour
les réseaux de capteurs. C’est un cryptosystème asymétrique qui donne la possibilité
de gérer plus facilement les clés, car les clés publiques peuvent être distribuées librement
entre les nœuds sans compromettre la sécurité du réseau. En outre, idéalement
les nœuds sont censés être déployés aléatoirement dans une zone, si nous utilisons simplement
un cryptosystème symétrique, la solution la plus naïve pour gérer des clés sera
de générer et de stocker une clé secrète pour chaque paire de nœuds, car nous ne pouvons
pas savoir à priori les nœuds voisins qui vont se trouver à la proximité d’un nœud
spécifique.
Un inconvénient principal des cryptosystèmes asymétriques est qu’ils sont souvent plus
coûteux en calcul. Généralement les processeurs modernes sont capables de gérer aisément
ce genre de calculs, mais la plupart des capteurs sans fil sont équipés des microcontrôleurs
qui tournent à une fréquence très faible [72, 19, 18]. Du fait de leur faiblesse
en puissance, il est déconseillé d’appliquer la cryptographie sur les courbes elliptiques,
telle quelle, dans les réseaux de capteurs malgré de nombreuses méthodes mathématiques
existantes qui sont conçues pour l’optimisation de sa performance. Les nœuds
risquent d’être figés durant des calculs à cause d’un épuisement de mémoire ou d’une
surcharge de processeur.
Afin d’équilibrer la charge entre des nœuds et d’accélérer les calculs sur les courbes elliptiques,
dans ce chapitre, nous proposons de paralléliser le calcul des multiplications
scalaires entre plusieurs nœuds d’un cluster [36, 35]. En prenant en compte le fonctionnement
des réseaux de capteurs, nous avons décidé de décomposer le calcul des
multiplications scalaires, l’opération la plus importante sur les courbes elliptiques, en plusieurs
tâches complètement indépendantes qui peuvent être traitées simultanément par
les membres de cluster. Une fois terminés, les résultats seront renvoyés au cluster-head
qui les combinera ensemble pour obtenir le résultat final. Ce dernier peut être ensuite
réutilisé dans de différentes phases de calcul des protocoles cryptographiques. Nos travaux
de recherche se focalisent principalement sur la parallélisation de la multiplication
scalaire.
Dans les sections suivantes, nous allons présenter les bases théoriques de la multiplication
scalaire parallèle dans les réseaux de capteurs, ainsi que le protocole utilisé. Pour
tester la performance de notre méthode, nous l’avons implémentée sur PC et sur les
nœuds Telosb [29, 79, 18], les résultats d’expérimentation ont montré que le calcul paral-4.2. CALCUL PARALLÈLE 57
lèle peut permettre une accélération de calcul très importante.
4.2/ CALCUL PARALLÈLE
En informatique, le calcul parallèle consiste à utiliser des architectures permettant de traiter
des informations simultanément. Cette technique est initialement mise en place pour
gérer des tâches complexes et volumineuses qui doivent être réalisées dans un délai le
plus court possible. D’un point de vue de la conception de processeurs, pour accélérer le
traitement d’informations, la solution la plus simple est d’augmenter sa fréquence d’horloge,
c’est-à-dire le nombre d’opérations qu’il peut effectuer en une seconde. Cependant
ce dernier est devenu le goulot d’étranglement à cause des limites physiques, notamment
dans les domaines du Calcul Haute Performance[1]. Récemment avec l’arrivée des processeurs
multi-cœurs qui sont capables de traiter plusieurs instructions en même temps,
le calcul parallèle est devenu un paradigme dominant pour tous les ordinateurs.
4.2.1/ TAXONOMIE
Selon la taxonomie de Michael J. Flynn [27], les programmes et ordinateurs peuvent être
classés 4 catégories suivantes (voir le tableau 4.1) :
Un seule instruction Plusieurs instructions
Donnée unique SISD MISD
Plusieurs données SIMD MIMD
TABLE 4.1 – Taxonomie de Flynn
– SISD (Single Instruction, Single Data) : C’est l’architecture la plus simple, chaque fois
le système ne traite qu’une seule donnée, les instructions sont exécutées l’une après
l’autre, d’une manière séquentielle.
– SIMD (Single Instruction, Multiple Data) : C’est le cas où les différentes données sont
envoyées aux processeurs qui les traitent en répétant les mêmes opérations.
– MISD (Multiple Instruction, Single Data) : Plusieurs opérations sont effectuées sur la
même donnée, cette architecture est parfois utilisée pour la tolérance aux pannes.
– MIMD (Multiple Instruction, Multiple Data) : Plusieurs données sont traitées par des
processeurs différents, les systèmes distribués sont généralement considérés comme
des architectures MIMD.
2 types de calcul parallèle sont montrés dans cette classification, la parallélisation d’instructions,
où plusieurs instructions différentes sont exécutées simultanément par de diffé-
rents processeurs (MIMD). Le deuxième est la parallélisation de données, où les mêmes
opérations sont effectuées sur de différentes données (SIMD).
En fonction de ce que nous devons paralléliser durant les calculs, il est aussi possible de
classifier les calculs parallèles en 3 catégories :
– Parallélisation de mots : C’est un type de calcul parallèle basé sur l’augmentation de la
longueur du mot des processeurs. Par exemple, un processeur de 8-bit n’est pas capable
de gérer des données de 16-bit, pour additionner 2 nombres entiers de 16 bits, le
processeur doit additionner d’abord les 8 bits de poids faibles, ensuite additionner les 858 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
bits de poids forts avec la retenue. Il faut donc 2 opérations pour effectuer une addition,
mais un processeur de 16-bit peut terminer le calcul en une seule opération. Une autre
solution est d’avoir 2 processeurs de 8-bit reliés, et additionnent simultanément les bits
de poids faibles et de poids forts.
– Parallélisation de données : Une grande quantité de données est découpée et distribuée
à plusieurs processeurs exécutant les mêmes instructions. Il s’agit d’un calcul parallèle
du type SIMD. Par exemple nous disposons d’une base de données contenant d
lignes (enregistrements), et de 2 processeurs qui exécutent exactement le même programme.
Nous supposons que chaque ligne peut être traitée indépendamment, nous
pouvons donc envoyer les d
2
premières lignes au premier processeur, et les d
2
lignes
restantes au deuxième.
– Parallélisation de tâches : Contrairement à la parallélisation des données, au lieu de
distribuer des portions de données, la parallélisation des tâches distribue carrément
des procédures ou des threads aux différents processeurs qui les exécutent parallèlement.
4.2.2/ ACCÈS AUX DONNÉES
Dans le cadre de calcul parallèle, la mémoire contenant les données qui circulent entre
les processeurs peut être soit partagée, soit distribuée.
Dans le premier cas, les processeurs sont censés pouvoir accéder aux données avec la
même latence et bande passante. Tous les processeurs participant aux calculs parallèles
peuvent y déposer et lire des données, et c’est une configuration idéale qui permet au
système d’améliorer considérablement ses performances (voir figure 4.1). Car généralement
la mémoire partagée peut offrir un accès aux données plus rapide et fiable, la
synchronisation entre les processeurs est relativement plus facile à réaliser.
FIGURE 4.1 – Accès aux données avec la mémoire partagée
En revanche, dans le cas de mémoire distribuée, chaque processeur possède sa propre
mémoire locale, et durant des calculs, seulement des données locales sont accessibles.
Si un processeur a besoin des données qui se situent chez un autre processeur, il faudra
qu’il communique avec ce dernier pour les récupérer (voir figure 4.2).
Dans une architecture utilisant la mémoire distribuée, les processeurs doivent souvent
communiquer entre eux pour échanger des informations, et un tel accès aux données
peut engendrer une baisse de performance importante. D’ailleurs, avant de pouvoir demander
des données aux autres, il faut que le processeur connaître la localisation des4.2. CALCUL PARALLÈLE 59
données dont il a besoin, car parfois il est possible que les données en question soient
hébergées sur des processeurs différents, et la diffusion des requêtes peut aussi ralentir
le calcul.
FIGURE 4.2 – Accès aux données avec la mémoire distribuée
4.2.3/ SYNCHRONISATION
Des processus peuvent s’exécuter sur des processeurs différents, lorsqu’il existe des
interdépendances sur les données partagées entre des processus, des problèmes de
synchronisation peuvent donc être relevés. Lorsqu’un processus effectue une mise à jour
des données en mémoire, l’objectif de la synchronisation est de la rendre visible aux
autres processus.
Par exemple, le processus p1 a besoin de la valeur v fournie par le processus p2 pour
continuer son calcul, et en même temps, p2 veut effectuer une mis à jour la valeur v en
mémoire. Pour que les 2 opérations soient synchronisées, il faut que l’accès à la valeur
soit atomique, c’est-à-dire que la lecture de v et la mise à jour de v ne doivent pas se
chevaucher. Soit p1 lit v après sa mise à jour, soit p2 met v à jour après la lecture, mais
jamais les 2 en même temps (voir figure 4.3).
Chaque opération peut correspondre à plusieurs instructions du processeur, si les instructions
des 2 opérations sont exécutées simultanément sur la même donnée, les processus
risquent de rencontrer des erreurs imprévisibles. Ainsi, lorsque p1 détecte que le
bloc mémoire contenant v est momentanément occupées par p2, il est impératif que p1
attend jusqu’à ce que p2 finisse son opération courante.
Le mécanisme de gestion de synchronisation à mettre en place peut être différent en
fonction du type de mémoire utilisée. Pour une architecture utilisant une mémoire partagée,
l’accès à la mémoire est plus facile à surveiller et contrôler, et nous pouvons
avoir plus aisément un accès aux données bien synchronisé et cohérent. Cependant,
si l’architecture utilise la mémoire distribuée, les processeurs devront donc échanger des
messages entre eux pour demander des données.
En faisant la comparaison ci-dessus, il est évident que le calcul parallèle utilisant la mé-
moire partagée est plus avantageux en termes de performance, car il permet au système60 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
p2 p1
Ecriture de v
Lecture de v
Mise à jour de v
FIGURE 4.3 – Synchronisation d’accès aux données
d’avoir un accès aux données plus efficace et cohérent.
4.2.4/ TOLÉRANCE AUX PANNES
La tolérance aux pannes est en effet un ensemble de techniques qui permettent à un
système de continuer à fonctionner en cas de panne. Au lieu de tomber complètement
en panne, le composant peut continuer à délivrer, éventuellement de manière réduite, les
services initialement prévus [84].
Cette technique n’est pas utilisée uniquement en informatique, mais aussi dans beaucoup
d’autres domaines industriels. Prenons un exemple de l’industrie automobile, les
fabricants installent souvent 2 capteurs de pédale, dans le cas où la pédale d’accélérateur
soit bloqué (enfoncée), le conducteur peut toujours arrêter la voiture en appuyant sur
la pédale de frein. Cependant certains fabricants, pour une raison du coût de fabrication,
n’installent qu’un seul capteur, lorsque le capteur est tombé en panne, le conducteur est
obligé de trouver d’autres moyens pour arrêter la voiture, car la pédale de frein ne peut
plus fonctionner non plus.
Idem pour le calcul parallèle, lorsque nous distribuons les tâches aux processeurs, nous
n’avons aucune garantie que les processeurs peuvent forcément mener les calculs jusqu’au
bout, et que les résultats renvoyés sont toujours corrects. Différents types de
pannes pourraient survenir durant le traitement des tâches, coupure de courant, panne
matérielle, bogue de programme etc. Particulièrement les architectures distribuées dans
lesquelles les processeurs doivent échanger des données pour effectuer les calculs, si
des mécanismes de tolérance aux pannes ne sont pas présents, il suffit d’avoir une simple
défaillance de réseaux pour interrompre le calcul. D’ailleurs, il faut que le système puisse
non seulement détecter des problèmes, mais aussi se restaurer en cas de pannes sé-
vères.
Pour les plate-formes mobiles et embarquées, les techniques de tolérance aux pannes
sont dispensables, car pour minimiser la consommation d’énergie et étendre la durée de
vie des réseaux, les nœuds utilisent souvent des antennes radio de faible puissance, qui
utilisent les ondes comme le médium de transmission. Ce genre de connexion souffre
souvent de l’interférence radio et de conflit d’accès au médium qui rendent la communication
moins fiable, et les expérimentations ont montré que lorsque le niveau de batterie4.2. CALCUL PARALLÈLE 61
d’un nœud est très faible, son antenne risque d’envoyer des données erronées [12].
Généralement il existe 2 approches pour implémenter les mécanismes de tolérance aux
pannes. La première est d’utiliser des composants qui sont tolérants aux pannes. En
cas d’anomalie, le composant peut continuer à fonctionner en ignorant les dysfonctionnements.
le système reste toujours opérationnel car l’opération courante n’est pas interrompue
malgré la présence des pannes. Cette méthode est déconseillée pour des composants
importants, car nous mettons en place des techniques de tolérance aux pannes
pour assurer le bon fonctionnement du système, mais pas simplement la continuité des
processus.
La deuxième méthode est la redondance, plusieurs composants sont utilisés pour une
seule tâche, lorsque le premier composant tombe en panne, un deuxième composant
prend automatiquement le relais et continue à traiter la tâche (voir figure 4.4).
FIGURE 4.4 – Tolérance aux pannes avec la redondance de composants
La redondance peut aussi être utilisée pour la détection de fautes et la correction des
données erronées. Prenons l’exemple des réseaux de capteurs sans fil, les données
risquent d’être perdues ou corrompues pendant la transmission, lorsqu’un nœud renvoie
un résultat de calcul, nous ne pouvons pas tester son intégrité, car généralement le calcul
de hachage est très coûteux pour les nœuds. Néanmoins, et nous ne pouvons pas tester
si le résultat de calcul est correct non plus, car nous n’en avons qu’une seule copie.
Cependant si plusieurs nœuds sont mis en place pour le même calcul, nous pouvons
effectuer une vérification en faisant une simple comparaison. Si les résultats ne sont pas
identiques, seul la valeur la plus présente est retenue (voir figure 4.5).
FIGURE 4.5 – Tolérance aux pannes avec la redondance de résultats
Un inconvénient de la redondance est l’augmentation de coût. Pour que le système soit62 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
résistant aux différentes pannes, beaucoup de composants redondants doivent être mis
en place. C’est la raison principale pour laquelle la redondance est appliquée seulement
aux composants ayant une importance cruciale.
4.3/ CALCUL PARALLÈLE DANS LES RÉSEAUX DE CAPTEURS
Généralement, un réseau de capteurs est constitué d’un grand nombre de nœuds ayant
des ressources (puissance de calcul, mémoire, énergie) très limitées, et reliés entre eux
via une connexion sans fil de faible puissance. Certaines caractéristiques d’un tel réseau
doivent être soulignées avant d’étudier la faisabilité du calcul parallèle.
4.3.1/ ACCÈS AUX DONNÉES
Comme nous avons déjà présenté, les réseaux de capteurs sont constitués des nœuds
qui sont physiquement séparés, c’est-à-dire qu’il n’existe pas de mémoires partagés entre
les nœuds. Si nous voulons appliquer le calcul parallèle dans les réseaux de capteurs, il
faudra que chaque nœud ait en sa mémoire locale toutes les données nécessaires pour
la tâche qui lui est assignée. En outre, il faut que ces données soient distribuées aux
nœuds participant au calcul parallèle au moment du lancement du calcul, toute échange
ultérieure ou distribution séquentielle de données sont très coûteuses en termes d’énergie.
Donc les types de parallélisation possibles dans les réseaux de capteurs sont SISD
et MISD.
4.3.2/ CONSOMMATION D’ÉNERGIE
Les nœuds sont conçus pour être déployés en masse dans des zones hostiles où l’intervention
humaine n’est pas toujours possible. Ils sont souvent alimentés par des piles, et
une fois déployés, nous ne sommes pas censés retrouver et maintenir les nœuds dont
les piles sont épuisées.
Selon les résultats expérimentaux [112, 2], la plupart d’énergie d’un nœud est consommée
pendant la communication de radio, la consommation du processeur est presque
négligeable par rapport à celle de l’antenne. Ainsi, tout protocole doit être soigneusement
élaboré pour minimiser la communication sans fil.
Idem pour le calcul parallèle, qui fait face au problème de consommation d’énergie depuis
son invention. Afin d’alimenter une architecture effectuant des calculs parallèles sur plusieurs
processeurs, qui doivent éventuellement communiquer entre eux durant le traitement
des tâches, il faut évidemment leur fournir assez d’énergie. Cependant ce problème
dévient encore plus crucial dans les réseaux de capteurs où les nœuds ne disposent pas
du tout de mémoire partagée, car ils sont obligés de s’envoyer des messages via la
connexion sans fil qui peut vider leurs piles très vite. Dans quasiment toutes les application
de réseaux de capteurs, les protocoles de communication utilisés sont spécialement
élaborés pour minimiser le nombre de messages à envoyer, généralement les nœuds ne
communiquent que dans les cas nécessaires.4.3. CALCUL PARALLÈLE DANS LES RÉSEAUX DE CAPTEURS 63
4.3.3/ CONNEXION SANS FIL
Dans un réseau de capteurs, les nœuds utilisent des technologies de communication
sans fil pour maintenir une connexion en consommant la moins d’énergie possible. Par
exemple Zigbee [3] qui est basé sur le standard IEEE 802.15.4 [38].
Caractéristique technique Bluetooth Wifi Zigbee
IEEE Spécification 802.15.1 802.11 a/b/g 802.15.4
Besoin de mémoire 250 Ko 1 Mo 4-32 Ko
Débit maximal 1 Mo/s 54 Mo/s 250 Ko/s
Portée théorique 10 m 100 m 10-100 m
Nombre de nœuds max. 7 32 65000+
TABLE 4.2 – Comparaison techniques des connexions sans fil
En faisant une comparaison technique de quelques protocoles sans fil [53, 92] (voir tableau
4.2), nous pouvons remarquer que Zigbee est un choix adéquat pour les réseaux
de capteurs, car il peut supporter un très grand nombre de nœuds en consommant moins
de ressources. Néanmoins, Zigbee n’est pas conçu pour créer un réseau de haut débit.
La portée ratio théorique peut aller jusqu’à 100 mètres, mais en réalité, elle est restreinte
à une dizaine de mètre pour des raisons de consommation et de durée de vie du réseau.
Quant à l’application du calcul parallèle dans les réseaux de capteurs, il faut prendre
conscience qu’une telle connexion sans fil de faible puissance est loin d’être fiable. Elle
souffre souvent de l’interférence qui peut causer des pertes et des corruptions de données.
En outre, généralement la portée radio d’un nœud n’est pas assez longue pour
couvrir entièrement le réseau, le calcul parallèle ne peut s’effectuer qu’entre des nœuds
proches.
4.3.4/ TOLÉRANCE AUX PANNES
Comme pour beaucoup de systèmes informatiques, dans les réseaux de capteurs, la
tolérance aux pannes doit aussi être prise en compte durant la conception des applications.
En effet, elle permet au système d’effectuer des diagnostics automatiques et de se
restaurer en cas de pannes sévères.
Un réseau de capteurs peut contenir un grand nombre de nœuds qui sont programmés
pour travailler ensemble et atteindre un objectif commun. Les nœuds sont déployés aléatoirement
et fonctionnent d’une manière autonome, lorsqu’un nœud tombe en panne,
nous ne sommes pas censés nous rendre physiquement sur place pour le localiser et
réparer. Il faut que les autres nœuds puissent détecter automatiquement des anomalies
et exclure le nœud défectueux du réseau.
Un solution efficace et économique pour appliquer des mécanismes de tolérance aux
pannes dans les réseaux de capteur est la redondance. Les nœuds déployés sont souvent
très nombreux pour couvrir une zone la plus vaste possible. En outre, pour minimiser
la consommation d’énergie et prolonger la durée de vie du réseau, les nœuds
fonctionnent principalement d’une manière passive, c’est-à-dire qu’ils restent en mode
inactive tant qu’ils ne détectent pas d’événement important. C’est la raison pour laquelle
dans un tel réseau, il existe plein de nœuds libres pendant la plupart de leur durée de vie.64 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
Il est donc possible d’utiliser plusieurs nœuds pour assurer une seule tâche. Lorsqu’ils
détectent que le nœud détenant la tâche ne peut pas terminer son travail correctement,
ils vont en choisir automatiquement un autre parmi eux qui va reprendre immédiatement
le travail du nœud défectueux et continuer à travailler dessus (voir figure 4.6).
Nœud 1 Nœud de Secours Nœud 2
Distrition de tâches
Résultat
Calcul
Calcul
Panne
FIGURE 4.6 – Tolérance aux pannes avec la redondance de nœuds
La tolérance aux pannes est particulièrement indispensable pour le calcul parallèle et la
sécurité, car ce dernier est une procédure qui demande une coopération cohérente et
des échanges de données fiables entre les nœuds. Une moindre erreur durant le calcul
et la transmission de données peut causer un échec complet du calcul. Par exemple, la
pile du nœud est déchargée pendant le calcul, ou le nœud n’a pas assez d’énergie pour
envoyer le résultat de calcul etc. Il faut prendre en considération toutes ces possibilité lors
de la conception de l’application, et il faut que le système soit suffisamment robuste pour
résister aux pannes éventuelles et réussir la mission dans un délai raisonnable.
4.4/ PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES
Dans cette section, nous présentons notre méthode de calcul parallèle pour accélérer le
calcul des multiplications scalaires dans les réseaux de capteurs.
Comme nous avons expliqué précédemment, les nœuds d’un réseau de capteurs ne
possèdent aucune mémoire partagée. Tout échange de données doit passer par la communication
radio qui est considérée comme étant la source principale de consommation
d’énergie. D’ailleurs, les nœuds sont programmés avant le déploiement, et ils sont censés
être déployés d’une manière aléatoire. Généralement les nœuds exécutent le même
programme, et à cause de la limite de mémoire disponible, il est déconseillé d’installer
des programmes volumineux qui prennent en considération toutes les circonstances
possibles. Ainsi, pour paralléliser les multiplications scalaires, il faut mettre en place un
algorithme unique qui demande très peu d’échange de données entre les nœuds participant
au calcul parallèle, c’est-à-dire une parallélisation du type SISD (voir tableau 4.1).
Après la présentation des protocoles cryptographiques basés sur ECC, nous nous apercevons
que la multiplication scalaire est l’opération la plus cruciale dont la complexité
est un élément clé de la robustesse du cryptosystème. Elle est considérée comme une
opération très coûteuse pour les systèmes embarqués malgré de nombreuse méthodes
d’optimisation existantes. Sachant que les processeurs des capteurs sont souvent des4.4. PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES 65
micro-contrôleurs de 8 ou 16 bits, alors que les nombres entiers à manipuler durant des
calculs cryptographiques peuvent atteindre facilement quelques centaines de bits, il est
donc indispensable d’implémenter en supplément des algorithmes d’arithmétique multiprécision,
qui engendre une consommation de ressources très importante.
4.4.1/ DÉCOMPOSITION DES DONNÉES
L’objectif du calcul parallèle est de décomposer une tâche en plusieurs parties qui
peuvent être traitées indépendamment et simultanément. Nous ne pouvons pas paralléliser
des opérations comme dans [4], car il n’y a pas de mémoire partagée dans un
réseau de capteurs. Le choix pertinent est donc la parallélisation des données, c’est-à-
dire que les données sont décomposées en plusieurs portions qui sont distribuées aux
nœuds exécutant un programme unique.
Notre méthode est conçue pour des applications événementielles dans lesquelles les
nœuds demeurent inactifs pendant la plupart du temps pour minimiser la consommation
d’énergie. Néanmoins, lorsqu’un événement crucial est survenu et détecté, il faut que le
réseau le signale immédiatement à la station de base d’une manière sécurisée et sûre,
même au détriment de la consommation d’énergie.
L’idée de la parallélisation est principalement basée sur [60], qui offre une décomposition
de données efficace sans nécessiter de mémoire de partagée. L’objectif est de réduire le
temps de calcul des multiplications scalaires en impliquant les nœuds de proximité dans
le calcul. Nous supposons que la courbe elliptique est chargée sur les nœuds avant le
déploiement, et le point de générateur G ne change pas durant toute la durée de vie du
réseau.
Pour paralléliser une multiplication scalaire Q = kG où G est le point générateur d’une
courbe définie dans un corps premier fini, dénotée E(Fp), et k est un nombre entier de
longueur l, qui peut être représenté en binaire de la manière ci-dessous :
k =
X
l−1
i=0
ki2
i
(4.1)
Le nœud qui décompose et distribue des données est le nœud maître, et les autres
nœuds participant au calcul parallèle sont des nœuds esclaves.
Dans un premier temps, le maître décompose le nombre entier k en n segments S i de
longueur b = ⌈l/n⌉ où n est le nombre de nœuds esclaves, et S i peut être représenté en
binaire comme dans la formule 4.2.
S i =
ib
X+b−1
j=ib
kj2
j
(4.2)
Sachant que le point générateur G est choisi à priori, et il ne change pas pendant la durée
de vie du réseau, le calcul des points Gi = 2
ibG est donc possible. Le calcul de kG peut
être décomposé comme suit :66 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
Q0 = S 0G
Q1 = S 12
bG
. . . . . .
Qn−1 S n−12
b(n−1)G
(4.3)
Puis le résultat final Q = Q0+Q1+. . . Qn−1, et chaque Qi peut être calculé indépendamment
par un esclave.
Par exemple nous avons k = kl−1kl−2 . . . k2k1k0 où ki ∈ {1, 0}, et il y a n − 1 esclaves disponibles
dans la portée radio du maître, le scalaire k est donc décomposé en n segments
(voir la formule 4.4).
S 0 = kb−1kb−2kb−3 . . . k2k1k0
S 1 = k2b−1k2b−2k2b−3 . . . kb+2kb+1kb
. . . . . .
S n−1 = knb−1knb−2knb−3 . . . k((n−1)b+2)k((n−1)b+1)k(n−1)b
(4.4)
Le maître en laisse une en sa mémoire locale, et les autres n−1 segments sont distribuées
aux esclaves. Tous les nœuds préparent et stockent localement un ensemble de points
G0 = G
G1 = 2
bG
. . . . . .
Gn−1 = 2
(n−1)G
(4.5)
Après la réception des données, les esclaves calculent chacun un Qi en utilisant la formule
4.3. Une fois terminé, ils renvoient des Qi au maître, qui va les combiner avec son
propre résultat local pour obtenir le résultat final Q = S 0G +S 12
bG +S 22
2bG . . . S n−12
(n−1)G.
Cette méthode de décomposition de scalaire nous permet de découper le scalaire en
n parties qui peut être traitée indépendamment, aucune échange de données n’est né-
cessaire entre esclaves. En outre, selon les paramètres recommandés [87], la taille du
corps Fp dans lequel la courbe est définie est souvent comprise entre 112 et 521 bits, et
il est possible de diffuser l’ensemble de S i aux esclaves en une seule fois. Cependant,
pour qu’un nœud puisse effectuer le calcul, il faut qu’il stocke en mémoire locale tous les
points Gi précalculés, car il ne peut pas prévoir l’indice i du S i qui lui sera affecté.
4.4.2/ PARALLÉLISATION SANS POINTS PRÉCALCULÉS
La méthode que nous avons présenté dans la section précédente nous permet de paralléliser
le calcul des multiplications scalaires sur les courbes elliptiques, mais les nœuds
participant doivent stocker en mémoire locale un ensemble de points précalculés pour
pouvoir traiter indépendamment les tâches. Dans cette section, nous présentons une
autre méthode qui peut paralléliser le calcul sans points précalculés.
Pour pouvoir paralléliser le calcul de Q = kG, le scalaire k est découpé en n segments S i
,
et chacun doit être multiplié avec un point correspondant, noté Gi = 2
ibG où i est l’indice
du segment et b est sa longueur.4.4. PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES 67
Néanmoins, cette méthode engendre une consommation de mémoire non négligeable
et souffre de manque de flexibilité. Par exemple, les nœuds utilisent une courbe elliptique
qui est définie dans un corps de taille 160, s’ils veulent paralléliser le calcul entre
4 nœuds, il faudra que tous les nœuds aient les points 2
40G, 2
80G et 2
120G préparés et
stockés en mémoire. Cependant s’il n’y a que 3 nœuds disponibles, il faudra donc avoir
2 nœuds qui traitent chacun une tâche de longueur 53, et le 3e nœud traite une tâche de
longueur 54, et les points à préparer sont respectivement 2
53G et 2
106G. Nous pouvons
constater qu’il est difficile de définir et préparer un ensemble de points satisfaisant toutes
les circonstances.
Nous proposons donc une méthode alternative qui peut préparer rapidement en temps
réel les points nécessaire[30, 93]. La préparation d’un point 2
xG est aussi une multiplication
scalaire qui peut être calculée en utilisant l’algorithme Doublement-et-Addition (voir
algorithme 1). D’ailleurs, nous pouvons remarquer que
– L’algorithme Doublement-et-Addition ne fait que répéter le doublement de point tant
qu’il n’y a pas de bit non-zéro ;
– Le même algorithme ne peut lire qu’un seul bit à chaque itération ;
– Le scalaire 2
x du point à préparer ne détient qu’un seul bit non-zéro qui est aussi le bit
le plus significatif dans sa représentation binaire ;
– Le scalaire 2
x est plus court que la taille du corps dans lequel la courbe utilisée est
définie.
Afin d’accélérer la préparation du point 2
xG, nous proposons d’utiliser l’algorithme de
quadruplement (voir algorithme 10 où a est le paramètre de la courbe utilisée) qui nous
permet de parcourir 2 bits à chaque itération, et l’algorithme 11 qui peut calculer directement
le point 2
xG en donnant le paramètre x.
Algorithme 10 : Algorithme de quadruplement en coordonnées Jacobiennes
Données : G
′
(X1, Y1, Z1)
Résultat : 2
2G
′
(X4, Y4, Z4)
1 α = 3X
2
1
+ aZ4
1
;
2 β = α
2 − 8X1Y
2
1
;
3 γ = −8Y
4
1
+ α(12X1Y
2
1
− α
2
);
4 ω = 16aY4
1
Z
4
1
+ 3β
2
;
5 X4 = −8βγ2 + ω
2
;
6 Y4 = −8γ
4 + ω(12βγ2 − ω
2
);
7 Z4 = 4Y1Z1γ;
Les 2 algorithmes sont conçus pour le système de coordonnées Jacobiennes, avant de
les utiliser, il faut d’abord convertir le point affine G(X, Y) en point Jacobien G
′
(X, Y, 1).
Ces algorithmes nous permettent de préparer en temps réel les points nécessaires en
fonction du nombre de tâches, et les nœuds n’ont plus besoin de stocker en mémoire
l’ensemble de points précalculés.
Nous supposons que la courbe utilisée est définie dans un corps de 160 bits, pour pouvoir
paralléliser le calcul entre 2, 3 et 4 nœuds, il faut stocker dans chaque nœud 6 points
précalculés : 2
120G, 2
80G, 2
54G, 2
53G, 2
40G et G. Si chaque point est représenté par 2 coordonnées
affines, il faudra donc (160 × 2 × 6)/8 = 240 octets pour les stocker.
Sachant que généralement les systèmes embarqués ne détiennent qu’une mémoire de68 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
Algorithme 11 : Algorithme de 2
xG
′ en coordonnées Jacobiennes
Données : G
′
(X1, Y1, Z1), x ∈ Z
+
Résultat : 2
xG
′
(X2
x , Y2
x , Z2
x )
1 α1 = X1;
2 β1 = 3X
2
1
+ a;
3 γ1 = −Y1;
4 pour i ∈ [2, x] faire
5 αi = β
2
i−1
− 8αi−1γ
2
i−1
;
6 βi = 3α
2
i
+ 16i−1a(
Qi−1
j=1
γj)
4
;
7 γi = −8γ
4
i−1
− βi−1(αi − 4αi−1γ
2
i−1
);
8 fin
9 ωx = 12αxγ
2
x − β
2
x
;
10 X2
x = β
2
x − 8αxγ
2
x
;
11 Y2
x = 8γ
4
x − βxωx;
12 Z2
x = 2x
Qx
i=1
γi
;
quelques dizaines de kilo octets, la quantité de mémoire requise pour le stockage de
points précalculés est donc non négligeable. Pour évaluer leur aptitude à l’utilisation, les
résultats de test de performance sont donnés dans la section 4.6, car il faut que les
algorithmes soient assez efficaces pour ne pas ralentir la procédure du calcul parallèle.
4.4.3/ PROTOCOLE
Nous avons déjà présenté les algorithmes qui nous permettent de décomposer les tâches
de calcul, et dans cette section, nous présentons donc le protocole qui est chargé de la
coordination de la communication entre les nœuds.
Nous supposons que de déploiement de capteurs est basé sur les clusters (voir fi-
gure 4.7), car une telle topologie est prouvée plus efficace en termes de consommation
d’énergie [36, 35]. D’ailleurs, un algorithme de cryptographie symétrique peut être
appliqué pour sécuriser la distribution et la récupération des données. Nous avons déjà
expliqué dans la section 2.4.4.1 que la gestion de clés dans un cluster peut être un choix
adéquat pour la cryptographie symétrique.
Chaque cluster dispose au maximum d’un cluster-head qui est élu par les autres
membres du cluster. Les membres d’un cluster ne sont pas censés communiquer directement
avec les membres des autres clusters, ils ne dialoguent qu’avec leur cluster-head,
qui est chargé de la communication inter-cluster. Comme la plupart des communications
passent par le cluster-head, le cluster doit changer périodiquement le cluster-head pour
équilibrer la consommation d’énergie intérieure.
Nous supposons que dans une application de surveillance, les nœuds sont déployés et
regroupés dans des clusters. Les membres sont programmés pour collecter et envoyer
périodiquement des données au cluster-head, qui les agrège, compresse, chiffre et envoie
à la station de base (voir figure 4.8).
Lorsque le cluster-head détecte des données révélant un évènement critique, qui doit
être signalé immédiatement à la station de base d’une manière sécurisée, nous pouvons
demander aux autres membres disponibles du même cluster de participer au calcul4.4. PARALLÉLISATION DES MULTIPLICATIONS SCALAIRES 69
FIGURE 4.7 – Clusters dans un réseau de capteurs
FIGURE 4.8 – Collection de données dans un réseau de capteurs
cryptographique pour accélérer la procédure de chiffrement, qui est représentée graphiquement
dans la figure 4.9 dont les explications sont données ci-dessous :
1. Les membres du cluster envoient périodiquement des données collectées au
cluster-head qui est chargé de traitement d’informations (agrégation, compression,
chiffrement etc.) ;
2. Le cluster-head détecte un événement important, et il veut utiliser le parallélisme
pour accélérer le chiffrement des informations sensibles. Pour demander de l’aide
aux autres membres, il leur diffuse une demande de participation pour identifier les
nœuds disponibles dans le cluster ;
3. Après la réception de la demande, un membre retourne une réponse {i, a} où i est
son identifiant et r est une valeur booléenne représentant sa disponibilité ;
4. Le cluster-head sélectionne, parmi les membres disponibles, les nœuds qui vont
participer au calcul parallèle. Les nœuds sélectionnés deviennent les nœuds esclaves,
alors que le cluster-head devient le nœud maître. Le maître décompose
d’abord le calcul en n parties indépendantes, ensuite il diffuse aux eslaves les70 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
Membre cluster Cluster-head
1 : Données
2 : Demande de participation
3 : Disponibilité : {i, a}
4 : Tâche de calcul : {i, t}
5 : Résultat : {r}
Calcul Calcul
FIGURE 4.9 – Procédure de multiplication scalaire parallèle
tâches de calcul {{i1, t1}, {i2, t2}, . . . , {in−1, tn−1}} où ti représente les tâches confiées
et n est le nombre de nœuds sélectionnés.
5. Les nœuds disposent maintenant les informations nécessaires pour effectuer
le traitement des tâches, une fois terminé, les esclaves renvoient les résultats
{r1,r2, . . . ,rn−1} à leur maître. Ce dernier combine l’ensemble de ri pour obtenir le
résultat final de la multiplication scalaire R, qui peut ensuite être utilisé pour chiffrer
ou signer le message à envoyer.
Après l’étude du protocole, nous pouvons remarquer que les nœuds doivent s’envoyer un
certain nombre de messages pour procéder au calcul parallèle. La gestion des communications
sans fil dans les réseaux de capteurs est une procédure compliquée qui implique
l’utilisation des autres protocoles, e.g. le protocole de gestion d’accès au médium qui
a pour objectif d’éviter des collisions durant les transmissions des paquets. Cependant,
pendant nos travaux de recherche, nous nous centralisons uniquement sur le protocole
de la couche application.
4.5/ ARITHMÉTIQUE MULTIPRÉCISION
Selon les paramètres recommandés [87], les courbes elliptiques utilisées doivent être
définies dans un corps fini dont la taille est comprise entre 112 et 521 bits, il faut donc que
les nœuds puissent gérer l’arithmétique modulaire et des nombres entiers de très grande
taille. Cependant, les systèmes embarqués sont souvent équipés des processeurs de
8 et 16-bit, qui ne peuvent pas gérer directement de grandes valeurs dont la longueur
dépasse largement leur capacité. Des algorithmes particuliers sont donc indispensables
pour implémenter les protocoles cryptographiques [34].4.5. ARITHMÉTIQUE MULTIPRÉCISION 71
4.5.1/ ADDITION ET SOUSTRACTION
Nous supposons la longueur de mot de notre processeur est W. υ est un grand nombre
entier quelconque, et υ ∈ [2W, ∞[. Sa longueur en nombre de bits est m = ⌈log2 υ⌉, et celle
en nombre de mots est t = ⌈m/W⌉. Ainsi, pour stocker υ en mémoire, il faut utiliser un
tableau A[i] où i ∈ [0, t − 1] et la longueur totale m = Wt bits. L’affectation de valeur d’un
élément peut s’écrire sous forme d’un couple (ε,z) ← ω dont
z ← ω mod 2W
ε ← 0 si ω ∈ [0, 2
W[, sinon ε ← 1
(4.6)
Les algorithmes 12 et 13 montrent les opérations à effectuer pour additionner et soustraire
2 grands nombres entiers A et B qui sont représentés de la manière ci-dessus. Nous
supposons que A, B ∈ [0, 2
Wt − 1] et leurs longueurs en nombre de mots t sont identique.
Le bit de retenue ε = 1 lorsque le résultat C < [0, 2
Wt − 1].
Algorithme 12 : Addition multiprécision A + B (mod 2Wt)
Données : A, B ∈ [0, 2
Wt[
Résultat : (ε,C) où C = A + B mod 2Wt et ε est le bit de retenue
1 (ε,C[0]) ← A[0] + B[0];
2 pour i ← 1 a (t − 1) faire
3 (ε,C[i]) ← A[i] + B[I] + ε;
4 fin
5 retourner (ε,C)
Algorithme 13 : Soustraction multiprécision A − B (mod 2Wt)
Données : A, B ∈ [0, 2
Wt[
Résultat : (ε,C) où C = A − B mod 2Wt et ε
1 (ε,C[0]) ← A[0] − B[0];
2 pour i ← 1 a (t − 1) faire
3 (ε,C[i]) ← A[i] − B[i] − ε
4 fin
5 retourner (ε,C)
Pendant nos travaux de recherche, nous avons choisi des courbes qui sont définies dans
un corps premier fini, noté Fp, et toute les valeurs à gérer sont donc comprises entre
0 et p − 1. Le calcul de l’addition et de la soustraction dans Fp est détaillé dans les
algorithmes 15 et 16.
Nous pouvons constater qu’ils sont basés sur les 2 premiers algorithmes, à l’issue de
l’exécution, nous devons tester si la valeur C ∈ [0, p − 1]. Si C < 0, alors C = C + p, mais
C = C − p si C ≥ p.
4.5.2/ MULTIPLICATION
La multiplication multiprécision est un peu plus compliquée (voir algorithme 17), mais le
principe arithmétique reste le même, au lieu de parcourir les chiffres des 2 opérandes,72 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
Algorithme 15 : Addition multiprécision A + B (mod p)
Données : p et A, B ∈ [0, p − 1]
Résultat : C = A + B (mod p)
1 (ε,C) ← Algorithme 12 où C = A + B (mod 2Wt);
2 si ε = 1 alors
3 C ← C − p;
4 sinon si C ≥ p alors
5 C ← C − p;
6 retourner C
Algorithme 16 : Soustraction multiprécision A − B (mod p)
Données : p et A, B ∈ [0, p − 1]
Résultat : C = A − B (mod p)
1 (ε,C) ← Algorithme 13 où C = A − B (mod 2Wt);
2 si ε = 1 alors
3 C ← C + p;
4 retourner C
nous parcourons les éléments des 2 tableaux A[i], B[i] où i ∈ [0, t − 1]. La longueur du
résultat C[i] peut aller jusqu’à 2t. (UV) est une nombre de longueur 2W, car c’est le produit
de 2 opérandes de longueur W (voir ligne 7 de l’algorithme 17), mais seulement les W
bits de poids fort sont stockés dans U.
Algorithme 17 : Multiplication multiprécision C = A · B où A, B ∈ [0, p − 1]
Données : A, B ∈ [0, p − 1]
Résultat : C = A · B
1 pour tous les i ∈ [0, t − 1] faire
2 C[i] ← 0;
3 fin
4 pour tous les i ∈ [0, t − 1] faire
5 U ← 0;
6 pour tous les j ∈ [0, t − 1] faire
7 (UV) ← C[i + j] + A[i] · B[j] + U;
8 C[i + j] ← V;
9 fin
10 C[i + t] ← U;
11 fin
12 retourner C
Après la multiplication, le résultat C doit encore passer à la réduction modulo p dont l’algorithme
utilisé est présenté dans plus bas dans la section suivante. L’algorithme de division
n’est pas donné, car dans les cryptosystèmes qui sont basés sur les courbes elliptiques,
nous choisissons les systèmes de coordonnées permettant d’éviter l’inverse modulaire
(voir algorithme 2) qui est considéré comme une opération extrêmement coûteuse.4.5. ARITHMÉTIQUE MULTIPRÉCISION 73
4.5.3/ RÉDUCTION MODULO
Comme les courbes elliptiques utilisées sont définies dans un corps premier fini Fp, nous
devons donc effectuer des opérations r ≡ z (mod p) tout au long du calcul des multiplications
scalaires. Nous avons choisi l’algorithme de réduction Barrett [5] qui permet
d’estimer le quotient de ⌊z/p⌋ avec des opérations moins coûteuses.
L’idée de la réduction barrett est très simple. Nous supposons que tous les nombres sont
représenté en base b, k = ⌊logb
p⌋ + 1 est le plus petit nombre tel que b
k > p, puis z mod p
peut être calculé en utilisant l’algorithme 18.
Algorithme 18 : Réduction Barrett
Données : p, b ≥ 3, z ∈ [0, b
2k − 1], µ = ⌊b
2k
/p⌋
Résultat : z mod p
1 qˆ ← ⌊⌊z/b
k−1
⌋ · µ/b
b+1
⌋;
2 r ← (z mod b
k+1
) − ( ˆq · p mod b
b+1
);
3 si r < 0 alors
4 r ← r + b
b+1
;
5 fin
6 tant que r ≥ p faire
7 r ← r − p;
8 fin
9 retourner r
Quelques caractéristiques de l’algorithme qui nous permettent d’accélérer le calcul de
modulo p sont listées ci-dessous :
– Généralement la taille p du corps dans lequel la courbe est définie et la base b ne
changent pas pendant toute la durée de vie du système, donc nous pouvons stocker
et réutiliser la valeur de µ = ⌊b
2k
/p⌋;
– La base choisie b = 2
L où L est souvent la longueur de mot du processeur, par exemple,
si nous essayons d’implémenter l’algorithme sur un processeur de 16-bit, alors L = 16 ;
– Les calculs de ⌊z/b
k−1
⌋ et de ⌊µ/b
k+1
⌋ peuvent être réalisés en faisant simplement un
décalage de bits vers la droite. Par exemple, pour calculer 10110101112/10002, il suffit
que 10110101112 décale 3 bits vers la droite, et le résultat de la division est 10110102.
Une autre méthode qui nous permet de calculer encore plus efficacement le modulo p
est proposée dans [10]. L’idée est basée sur les paramètres recommandés de NIST 1 qui
propose un ensemble de paramètres pour configurer proprement les courbes elliptiques
utilisées dans de cryptosystèmes.
p192 = 2
192 − 2
64 − 1
p224 = 2
224 − 2
96 + 1
p256 = 2
256 − 2
224 + 2
192 + 2
96 − 1
p384 = 2
384 − 2
128 − 2
96 + 2
32 − 1
p521 = 2
521 − 1
(4.7)
5 corps premier fini sont donnés (voir formule 4.7), et à part celui de p521, les exposants
1. National Institute of Standards and Technology74 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
dans les autre polynômes sont des multiples de 16, et cette propriété rend l’algorithme
de réduction modulo extrêmement efficace sur des processeurs de 16-bit.
Par exemple, nous voulons calculer c mod p où p = p192 = 2
192 −2
64 −1 et c ∈ [0, p
2 −1]. Le
nombre c peut être écrit sous forme d’un polynôme en base 32, comme la formule 4.8.
c = c112
352 + c102
320 + c92
288 + c82
256 + c72
224 + c62
192+
c52
160 + c42
128 + c32
96 + c22
64 + c12
32 + c0
(4.8)
Nous pouvons calculer le modulo p des puissances de 2 dont les exposants sont supé-
rieurs à 192 avec la congruence (voir formule 4.9).
2
192 ≡ 2
64 + 1 (mod p)
2
224 ≡ 2
96 + 2
32 (mod p)
2
256 ≡ 2
128 + 2
64 (mod p)
2
288 ≡ 2
160 + 2
96 (mod p)
2
320 ≡ 2
128 + 2
64 + 1 (mod p)
2
352 ≡ 2
160 + 2
96 + 2
32 (mod p)
(4.9)
Ainsi, le calcul de c mod p192 peut être réécrit comme la formule 4.10, et les coefficients
du polynôme sont aussi donnés dans le tableau 4.3.
2
160 2
128 2
96 2
64 2
32 2
0
c11 c11 c11
c10 c10 c10
c9 c9
c8 c8
c7 c7
c6 c6
c5 c4 c3 c2 c1 c0
TABLE 4.3 – Répartition des coefficients du polynôme c mod p192
c ≡ c112
160 + c112
96 + c112
32
+c102
128 + c102
64 + c10
+c92
160 + c92
96
+c82
128 + c82
64
+c72
96 + c72
32
+c62
64 + c6
+c52
160 + c42
128 + c32
96 + c22
64 + c12
32 + c0 (mod p)
(4.10)
La procédure de calcul est présentée dans l’algorithme 19. Nous pouvons constater que
pour calculer c mod p192 où c ∈ [0, p
2
192 −1], nous découpons d’abord c en 12 segments de
32 bits ci
, i ∈ [0, 11], qui peuvent reconstituer ensuite 8 nombres de 192 bits sj
, j ∈ [0, 7].
Enfin, pour terminer, il suffit d’additionner tous ces nombre P7
j=1
sj
. Après chaque addition,
nous comparons la somme temporaire stmp avec p192, si stmp > p192, nous devrons
faire stmp − p192 avant de passer à l’addition suivante.
Nous nous apercevons que cette méthode ne nécessite aucun calcul complexe, il suf-
fit d’effectuer quelques opérations bit-à-bit et un certain nombre de soustractions pour4.6. EVALUATION DE PERFORMANCE 75
Algorithme 19 : Réduction rapide de modulo p192 = 2
192 − 2
64 − 1
Données : c = (c11, c10, . . . , c1, c0) en base 32, et c ∈ [0, p
2 − 1]
Résultat : c mod p192
1 Définir un ensemble de nombres entiers de longueur 192 : ;
2 s1 = (c11, 0, c11, 0, c11, 0);
3 s2 = (0, c10, 0, c10, 0, c10);
4 s3 = (c9, 0, c9, 0, 0, 0);
5 s4 = (0, c8, 0, c8, 0, 0);
6 s5 = (0, 0, c7, 0, c7, 0);
7 s6 = (0, 0, 0, c6, 0, c6);
8 s7 = (c5, c4, c3, c2, c1, c0);
9 retourner (
P7
i=1
si mod p192)
calculer le modulo dans un corps premier de 192-bit. Cependant cette méthode ne fonctionne
qu’avec les corps proposés par NIST, et ne permet pas de calculer le modulo dans
un corps premier fini quelconque.
4.6/ EVALUATION DE PERFORMANCE
Afin d’évaluer la performance de notre méthode de parallélisme, nous l’avons implémentée
sur des capteurs Telosb (voir figure 4.10), un modèle conçu par Crossbow Technology
pour des usages de recherche, et les caractéristiques techniques principales de la plateforme
sont données dans le tableau 4.4.
FIGURE 4.10 – Plate-forme Telosb de Crossbow Technology
Nous pouvons constater qu’elles correspondent bien aux nœuds dont nous parlons dans
la littérature : une puissance de calcul relativement faible, accompagnée d’une mémoire
très limitée.
Processeur : 8 MHz MSP 430 16-bit MCU
Antenne Radio : CC2420 (802.15.4/Zigbee)
ROM : 48 Ko
RAM : 10 Ko
TABLE 4.4 – Caractéristiques techniques de plate-forme Telosb
Nous avons choisi nesC [29] comme langage de programmation, qui signifie network
embedded system C en Anglais, c’est un langage spécifiquement créé pour la pro-76 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
grammation événementielle, c’est aussi le langage de développement par défaut sous
Tinyos [57]. Un des avantages d’un tel programme est que son exécution est entièrement
pilotée par des événements, tant qu’il n’y a pas d’événement important, l’exécution
est automatiquement mis en pause, et cette propriété permet au nœud de minimiser la
consommation d’énergie, qui est considérée comme un des facteurs cruciaux pendant la
conception d’une application pour les réseaux de capteurs.
Tinyos est un système d’exploitation développé et maintenu par l’Université de Berkeley,
l’objectif du projet est d’insérer une couche de virtuelle pour faciliter la communication
entre la couche matérielle et la couche application. Certes, nous pouvons créer des
applications en assembleur et en C qui manipulent directement des composants maté-
riels. Cependant, premièrement, elles sont souvent difficile à maintenir, car il faut que le
développeur dispose non seulement des compétences en informatique, mais aussi des
connaissances fondamentales en électronique. Deuxièmement, ce genre de programmes
est moins portable. L’avantage principale de Tinyos est que les programmes ne sont pas
censés accéder directement aux composants matériels, toute communication doit passer
par des interfaces fournies par Tinyos, qui est chargé de l’association entre le programme
et le pilote correspondant en fonction de la plate-forme utilisée. Prenons l’exemple du langage
Java, les programmes sont compilés pour générer des bytecodes, qui peuvent être
ensuite interprétés par des machines virtuelles différentes.
Comme le but de nos travaux de recherche est d’accélérer le calcul des multiplications
scalaires sur les courbes elliptiques, notre programme essaie donc de paralléliser la tâche
de calcul Q = kG entre plusieurs nœuds voisins, le temps de calcul et la consommation
d’énergie sont respectivement mesurés et estimée. Afin d’avoir une réduction modulo
efficace, les nœuds utilisent la même courbe qui est définie dans le corps premier fini
NIS T192 [10] dont les paramètres recommandés sont donnés dans le tableau 4.5. a et
b sont les paramètres de la forme de Weierstrass simplifiée (voir formule 3.3), (xG, yG)
est le point de générateur dont l’ordre est n. Le scalaire k utilisé est un nombre entier de
longueur 160, qui est censé pouvoir fournir le même niveau de sécurité qu’une clé de
1024 bits avec RSA.
Paramètre Valeur recommandée
p 2
192 − 2
64 − 1
a −3
b 0x 6421 0519 e59c 80e7 0fa7 e9ab 7224 3049 feb8 deec c146 b9b1
xG 0x 188d a80e b030 90f6 7cbf 20eb 43a1 8800 f4ff 0afd 82ff 1012
yG 0x 0719 2b95 ffc8 da78 6310 11ed 6b24 cdd5 73f9 77a1 1e79 4811
n 0x ffff ffff ffff ffff ffff ffff 99de f836 146b c9b1 b4d2 2831
TABLE 4.5 – Paramètres recommandés du standard NIS T192
Les nœuds sont déployés dans une zone de 10m × 10m pour former un cluster dont le
cluster-head est connecté directement à un PC (voir figure 4.11), une fois allumé, les
nœuds continuent à répéter des multiplications scalaires parallèles avec des valeurs de
k aléatoires. La communication à l’intérieur du cluster, comme la distribution de tâches et
la récupération des résultats sont sécurisées avec Trivium [21], un algorithme de cryptographie
symétrique très léger qui est capable de chiffrer et déchiffrer des messages en
moins de 1 ms.4.6. EVALUATION DE PERFORMANCE 77
FIGURE 4.11 – Déploiement des nœuds pour le test de performance
4.6.1/ PARALLÉLISATION AVEC POINTS PRÉCALCULÉS
La première partie du test consiste à évaluer la performance de notre méthode de parallélisme
avec des points précalculés et stockés en mémoire locale. Les temps de calcul en
millisecondes avec et sans calcul parallèle sont donnés dans le tableau 4.6. Il est difficile
de comparer les valeurs absolues des résultats avec celles des autres implémentations à
cause des différences de technique utilisé et de scénario de test. Nous nous intéressons
seulement aux gains obtenus.
Nombre de nœuds Affine Gain Jacobien Gain
1 2307.27 1003.55
2 1189.96 48.43% 549.71 45.22%
3 861.48 62.66% 424.60 57.69%
4 665.68 71.15% 342.51 65.87%
5 583.29 74.72% 309.93 69.12%
6 581.32 74.80% 311.87 68.92%
TABLE 4.6 – Temps de calcul (ms) de notre méthode de parallélisme
Nous pouvons voir dans la figure 4.12 que le temps de calcul diminue progressivement
lorsque plus de nœuds participent au calcul parallèle. Nous supposons que le temps de
calcul avec p nœuds est Tp, nous pouvons encore évaluer la performance de notre mé-
thode avec son speedup S p qui est défini dans la formule 4.11, et les résultats de speedup
sont donnés dans le tableau 4.7 et représentés graphiquement dans la figure 4.13.78 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
FIGURE 4.12 – Temps de calcul (ms) de notre méthode de parallélisme
S p =
T1
Tp
(4.11)
Nombre de nœuds : 1 2 3 4 5 6
Affine : 1.00 1.94 2.68 3.47 3.96 3.97
Jacobien : 1.00 1.83 2.36 2.93 3.24 3.22
TABLE 4.7 – Speedup de notre méthode de parallélisme
FIGURE 4.13 – Speedup S p =
T1
Tp
de notre méthode de parallélisme
Nous pouvons remarquer une baisse d’accélération importante dès que nous utilisons
plus de 5 nœuds. Car le cluster-head a besoin de temps supplémentaire, nommé surcoût,
pour coordonner les communications radio, combiner les résultats reçus et calculer le
résultat final. Les surcoûts mesurés durant notre expérimentation sont présentés dans
le tableau 4.8 et la figure 4.14. Nous nous apercevons qu’à partir du moment où nous
utilisons plus de 5 nœuds, il y a une augmentation significative de surcoût. Ainsi, nous4.6. EVALUATION DE PERFORMANCE 79
pouvons donc en conclure que le nombre de nœuds participant au calcul parallèle doit
être limité à moins de 5.
Nombre de nœuds : 1 2 3 4 5 6
Surcoût moyen : 0.00 36.33 92.39 88.86 121.84 196.78
TABLE 4.8 – Surcoût (ms) moyen de notre méthode de parallélisme
FIGURE 4.14 – Surcoût (ms) de notre méthode de parallélisme
Pendant notre test, la courbe elliptique utilisée est définie dans un corps de 192-bit, et
les points précalculés et stockés sont représentés en coordonnées Affines (x, y) qui nous
permettent de minimiser la consommation de mémoire, car chaque point est représenté
par 2 nombres entiers de 192-bit, et il peut être transformé facilement à un point en
coordonnées Jacobiennes (x, y) → (x, y, 1) qui offre généralement un calcul plus efficace.
Nombre de nœuds : 1 2 3 4 5 6
Mémoire : 0 48 96 144 192 240
TABLE 4.9 – Mémoire nécessaire (octet) pour stocker des points précalculés
La mémoire nécessaire pour stocker des points précalculés sont donnée dans le tableau
4.9. Les plate-formes Telosb [18] et Micaz [19] disposent respectivement d’une
mémoire de données de 48 Ko et 128 Ko, qui est largement suffisante pour stoker les
points.
Un des inconvénients principaux du parallélisme est la consommation d’énergie, et ce
problème devient plus crucial pour les réseaux de capteurs, car les piles des nœuds ne
peuvent pas être changées après le déploiement, et nous accélérons le traitement de
tâches en détriment de la durée de vie du système. Nous avons déjà présenté précé-
demment que durant le calcul parallèle, plus de nœuds sont impliqués dans le calcul,
et par conséquent, plus d’énergie est consommée car les nœuds doivent échanger des
données entre eux.
Il est difficile de mesurer précisément la consommation d’énergie de chaque nœud, géné-
ralement dans la littérature, nous utilisons des simulateurs pour estimer la consommation
d’énergie. Avrora [102] est un simulateur qui est largement utilisé dans la communauté de80 CHAPITRE 4. MULTIPLICATION SCALAIRE PARALLÈLE
recherche. Il est développé pour simuler le comportement des plate-formes de la famille
Mica, e.g. Mica1, Mica2 et MicaZ. Nous l’avons utilisé pour évaluer la consommation
d’énergie de notre méthode, c’est vrai qu’il n’est pas initialement conçu pour la plateforme
Telosb, mais les résultats produits (voir tableau 4.10) sont déjà suffisants pour
étudier l’impact de notre méthode sur le réseau.
Nombre de nœuds : 1 2 3 4 5 6
Énergie : 0.889 2.125 3.156 4.192 5.225 6.256
TABLE 4.10 – Consommation d’énergie (Joule) de notre méthode de parallélisme
FIGURE 4.15 – Consommation d’énergie (Joule) de notre méthode de parallélisme
Dans la figure 4.15, nous pouvons constater que lorsque le calcul est effectué sur un
seul nœud, très peu d’énergie est consommée. Cependant, quand le calcul parallèle est
utilisé, comme les esclaves doivent recevoir des tâches de leur maître et lui renvoyer des
résultats, il y a une augmentation importante de la consommation d’énergie.
Pour conclure la première partie de notre test, nous avons parallélisé le calcul des multiplications
scalaires en utilisant jusqu’à 6 nœuds, et nous avons obtenu un gain maximal
de 74.8%. Néanmoins, les résultats de simulation ont montré que le calcul parallèle
consomme trop d’énergie par rapport au calcul local. Ainsi, une utilisation abusive d’une
telle technique risque de réduire la durée de vie du réseau, et nous proposons donc
de n’utiliser le calcul parallèle que dans des cas urgents, par exemple, la détection d’un
événement crucial.
4.6.2/ PARALLÉLISATION SANS POINTS PRÉCALCULÉS
La deuxième partie consiste à tester la performance de la méthode qui nous permet
de préparer en temps réel les points 2
xG dont nous avons besoin le calcul parallèle et
de ne pas les stocker en permanence. L’idée est d’utiliser des algorithmes qui peuvent
théoriquement calculer plus rapidement que Doublement-et-Addition les points pour le
traitement de tâche. La configuration de la courbe elliptique est exactement la même que
la première partie (voir tableau 4.5).4.7. CONCLUSION 81
Nombre de nœuds : 2 3 4 5
Point calculé : 2
80G 2
53G 2
40G 2
32G
Algorithme de 2
xG : 1293 654 421 301
Algorithme de 2
2G : 465 297 228 182
TABLE 4.11 – Temps de calcul (ms) pour préparer des points 2
xG
Les temps de calcul utilisant l’algorithme de 2
xG (11) et l’algorithme de 2
2G (10) sont
donnés dans le tableau 4.11. Par exemple, nous voulons paralléliser le calcul de kG entre
2 nœuds où k est un nombre entier de 160 bits qui est décomposé en 2 segments s1
et s2, et k = 2
80 s1 + s2. Chaque nœud doit traiter une tâche de 80 bits, et le calcul peut
être réécrit comme suit kG = s12
80G + s2G. Comme le point 2
80G n’est pas précalculé
et stocké en mémoire, avant de passer au traitement de la tâche, un des 2 nœuds doit
d’abord passer 465 ms pour préparer le point. D’ailleurs, nous pouvons remarquer que
l’algorithme de 2
xG n’est pas assez efficace, il lui faut 1293 pour préparer le point 2
80G,
ce n’est donc pas un choix adéquat pour notre méthode de parallélisme.
Nombre de nœuds : 1 2 3 4 5
Temps de calcul : 1003.55 1011.04 719.93 659.51 491.26
Gain : -0.75% 28.26% 34.28% 51.05 %
TABLE 4.12 – Temps de calcul (ms) avec le parallélisme sans points précalculés
Les temps de calcul utilisant le parallélisme sans points précalculés sont donnés dans
le tableau 4.12. Les résultats ont montré que quand nous parallélisons le calcul entre 2
nœuds, il n’y a aucune accélération, le calcul a même été ralenti. Nous commençons à
avoir un gain positif lorsque plus de 3 nœuds participent au calcul, si nous comparons
avec les résultats dans le tableau 4.6, nous pourrons remarquer qu’il y a une baisse de
performance de presque 50%.
4.7/ CONCLUSION
Pour conclure la deuxième partie du test, les résultats ont montré que les algorithmes de
2
xG et de 2
2G ne sont pas aussi efficaces que prévus, notamment celui de 2
XG. En outre,
l’algorithme de 2
2G est créé pour parcourir 2 bits à la fois, mais la vitesse de calcul n’est
clairement pas doublée. Certes, le calcul parallèle avec cet algorithme peut accélérer le
calcul des multiplications scalaires sans stocker les points précalculés, il offre un gain
positif lorsque plus de 2 nœuds sont impliqués dans le calcul, mais la préparation en
temps réel du point engendre une baisse de performance importante. Sachant que nous
sacrifions l’énergie du réseau pour essayer d’atteindre une accélération la plus élevée
possible, lors que le parallélisme sans points précalculés offre un gain beaucoup moins
intéressant. Donc l’utilisation de cette méthode en pratique doit être soigneusement étudiée,
nous conseillons de l’utiliser quand la consommation de mémoire est considérée
comme un facteur important. Par exemple une application dans laquelle les nœuds n’ont
pas assez de mémoire disponible pour stocker des points précalculés.5
TOLÉRANCE AUX PANNES DANS LES
RÉSEAUX DE CAPTEURS SANS FIL
Sommaire
5.1 Objectif de la tolérance aux pannes . . . . . . . . . . . . . . . . . . . . . . 84
5.1.1 Détection de fautes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.1.2 Restauration de fonctionnalités . . . . . . . . . . . . . . . . . . . . . . 85
5.2 Sources de pannes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.1 Nœud défectueux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.2 Perturbation de réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2.3 Dysfonctionnement de la station de base . . . . . . . . . . . . . . . . . 87
5.3 Techniques de détection de pannes . . . . . . . . . . . . . . . . . . . . . . . 87
5.3.1 Diagnostic local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.2 Diagnostic en groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.3 Diagnostic hybride . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.4 Diagnostic hiérarchique . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4 Techniques de restauration . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4.1 Réplication active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.4.2 Réplication passive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.4.3 Distribution de services . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
La tolérance aux pannes est un ensemble de techniques qui sont conçues et mises
en place pour pallier aux différents dysfonctionnements dans un système informatique.
Concrètement, un mécanisme de tolérance aux pannes peut être représenté sous différentes
formes, que ce soit un programme, un protocole ou un composant matériel, il
permet au système de continuer à fonctionner même en présence d’anomalies.
Suite au développement des technologies informatiques, d’une part, les systèmes deviennent
de plus en plus puissants pour offrir de meilleurs services aux utilisateurs.
D’autre part, la complexité des fonctionnalités fournies rendent en même temps les systèmes
plus fragiles face aux différentes pannes inattendues. Parfois un système sans
protection risque d’être complètement suspendu à cause d’une petite erreur pendant son
fonctionnement. Ainsi, aujourd’hui la tolérance aux pannes est devenue une partie incontournable
durant la conception de tout système informatique moderne.
Par rapport aux systèmes qui fonctionnement totalement en local, la tolérance aux
pannes dans des architectures distribuées est un problème beaucoup plus difficile. Notamment
dans les réseaux de capteurs, qui sont constitués d’un grand nombre de nœuds
8384 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
ayant une puissance de calcul faible et des ressources très limitées. D’ailleurs, dans un tel
réseau, toute échange de données doit passer par des connexions sans fil, qui ne sont
généralement pas suffisamment fiables et souffrent des interférences et des attaques
extérieures.
Des mécanismes traditionnels de tolérance aux pannes ne sont pas directement applicables
aux réseaux de capteurs. Comme nous l’avons présenté précédemment, les
nœuds ne sont pas assez puissants pour gérer des algorithmes et des protocoles très
complexes. En outre, les réseaux de capteurs sont initialement conçus pour être dé-
ployés dans des zones où l’intervention humaine n’est pas toujours possible, et il n’y a
aucun intérêt à construire un tel réseau, s’il n’est pas assez robuste pour endurer des
environnements inconnus et potentiellement hostiles. Il est donc important de développer
spécifiquement de nouvelles techniques moins coûteuses pour assurer la fiabilité des
réseaux de capteurs.
Une autre raison pour laquelle la tolérance aux pannes est une technique indispensable
est que les réseaux de capteurs sans fil sont un domaine de recherche et d’ingénierie
relativement récent. Certaines applications développées pour ce domaine ne sont pas
encore matures et stables, et beaucoup de problèmes sont encore en discussion pour
trouver la meilleure solution [46].
Dans ce chapitre, nous présentons d’abord les objectifs de la tolérance aux pannes et
les sources possibles des pannes, ensuite nous donnons un état de l’art de l’ensemble
de techniques existantes qui nous permettent de détecter des pannes et de restaurer le
bon fonctionnement du système dans les réseaux de capteurs.
5.1/ OBJECTIF DE LA TOLÉRANCE AUX PANNES
L’objectif de la tolérance aux pannes est constitué principalement de 2 parties, qui est
respectivement la détection de pannes et la restauration de fonctionnalité. Avant de donner
des explications détaillées, il faut d’abord comprendre la différence entre faute, erreur
et faillite [105]. En effet, les pannes dans les réseaux de capteurs peuvent être classifiées
en 3 niveaux :
– Faute : il s’agit d’une sorte de dysfonctionnement matériel ou logiciel qui peut causer
des erreurs, par exemple, un défaut matériel ou un bogue de programme.
– Erreur : une erreur représente un état anormal du système qui peut éventuellement
conduire le système à une faillite totale.
– Faillite : la manifestation des erreurs qui se produit lorsque le système a dévié de sa
spécification et ne peut plus livrer des fonctionnalités prévues.
5.1.1/ DÉTECTION DE FAUTES
Théoriquement, il est impossible d’éviter complètement des fautes, et les anomalies qui
surviennent durant le fonctionnement du réseau ne sont pas toujours prévisibles. Par
contre, il est possible de capturer un état erroné du système et de faire le nécessaire
pour qu’il puisse continuer à fonctionner, même d’une manière réduite.
Après le déploiement et le mise en service d’un réseau, les nœuds doivent effectuer pé-5.2. SOURCES DE PANNES 85
riodiquement des opérations diagnostiques pendant la transmission et traitement de données.
Lorsqu’une erreur est détectée, ils la signalent immédiatement aux autres nœuds
qui s’en occupent pour réagir le plus vite possible.
Plusieurs techniques sont proposées pour gérer efficacement la procédure de diagnostic,
une présentation plus détaillées sur la détection d’erreurs est donnée dans la section 5.3.
5.1.2/ RESTAURATION DE FONCTIONNALITÉS
Une fois l’erreur détectée et localisée, il faut que le réseau réagisse rapidement, il peut
soit isoler la partie en panne, soit essayer de la réparer. Le but est de laisser le ré-
seau continuer de fonctionner. Une méthode qui est largement utilisée est la redondance.
C’est-à-dire que les composants qui sont essentiels pour le bon fonctionnement du système
sont répliqués pour augmenter sa fiabilité en cas de pannes sévères. Dans un
réseau de capteur, les composants à répliquer sont souvent des nœuds assurant des
services particuliers, par exemple les nœuds passerelles dans des protocoles de routage.
Les nœuds ne sont pas capables de gérer des mécanismes très complexes, c’est aussi
la raison pour laquelle les nœuds sont censés être déployés en masse, car nous pouvons
souvent trouver un grand nombre de nœuds qui sont disponibles. Nous pouvons les
utiliser pour soit substituer les nœuds en panne, soit assurer simultanément une seule
fonctionnalité.
5.2/ SOURCES DE PANNES
Nous donnons dans cette section une liste de sources principales des différentes pannes
dans les réseaux de capteurs [70] avec une expérimentation réalisée sur capteurs SAW.
5.2.1/ NŒUD DÉFECTUEUX
Un nœud est composé de différents composants matériels et piloté par des logiciels, qui
subit éventuellement des pannes tout au long de son fonctionnement. Par exemple le
boitier du nœud risque d’être cassé suite à des impacts physiques, qui peuvent endommager
des matériels encapsulés dedans [64, 100, 98]. Dans [50], durant le déploiement
des nœuds dans un champs de pommes de terre, les chercheurs ont trouvé que les
antennes des nœuds sont tellement fragiles qu’elles émettent de temps en temps des
signaux erronés. En outre, lorsque le niveau de pile d’un nœud devient faible, il y a des
chances que ses composants ne puissent plus fonctionner correctement.
Dans [103], les nœuds sont déployés dans une forêt pour mesurer la température. Pendant
les expérimentations, les chercheurs ont détecté beaucoup de données incohé-
rentes. Certains nœuds ne produisent aucune donnée correcte pendant tout le test, les
autres peuvent fonctionner au début du test, mais produisent aussi des données erronées
avant l’épuisement de pile. On peut donc en déduire que la génération des données erronées
est fortement corrélée à l’épuisement de la pile. Dans cette application, les chercheurs
ont trouvé que lorsque le voltage de la pile n’est pas compris entre 3 et 2.4 volts,86 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
le nœud commence à produire des données incohérentes. Certains nœuds envoient des
températures de plus de 150 degrés quand le voltage est en dessous de 2.4 volts.
Dans notre projet européen INTERREG MainPreSi [68], on a installé des capteurs dans
une machine pour aider l’entreprise TORNOS à mieux gérer son outil de production. On
a utilisé 2 types de dispositif (voir figure 5.1) :
– Capteur SAW 1 qui fonctionne d’une manière passive, sans alimentation, et il peut être
interrogé par des ondes radiofréquence à distance pour mesurer la température, la
pression et les vibrations.
– Interrogateur qui émet des requêtes aux capteurs passifs et reçoit des données. Il est
équipé d’un micro-contrôleur STM32, et il communique avec le capteur passif et les
autres interrogateurs par la technique de multi-saut.
Interrogateur Capteur SAW
FIGURE 5.1 – Dispositifs utilisés dans le projet MainPreSi
Pendant les tests, on a constaté aussi des valeurs de température aberrantes. Après
l’analyse des données générées, on a trouvé que les données erronées sont dues à une
irrégularité des puissances des ondes qui interrogent les capteurs SAW. Pour que le capteur
lise correctement la température, il faut que PRX > 800 pour les capteurs mobiles, et
PT X ≤ 31∧PRX = 3000 pour les capteurs fixes, où PT X représente la puissance d’émission
et PRX est celle de réception.
Des pannes matérielles peuvent causer aussi des anomalies du logiciel installé. Par
exemple, dans une application de collection de données, le programme ne peut pas effectuer
correctement des traitements, si les composants de capture ne renvoient pas de
données correctes. Une autre possibilité est le bogue, si le programme utilisé n’est pas
strictement débogué avant l’installation, et il est installé sur les nœuds avec des bogues
cachés, il y a des chances que le réseau tombe en panne bout d’un certain temps.
5.2.2/ PERTURBATION DE RÉSEAUX
Le routage est une fonctionnalité essentielle des réseaux de capteurs, c’est une technique
fondamentale dont nous avons besoin pour la transmission de données. Des dys-
1. Surface Acoustic Wave5.3. TECHNIQUES DE DÉTECTION DE PANNES 87
fonctionnements au niveau de routage peuvent engendrer des pertes et le retard de messages.
Généralement, dans un réseau de capteurs, les connexions entre les nœuds ne sont pas
considérées comme très fiables, et le taux de délivrance des messages varie fortement
selon les conditions ambiantes. L’expérimentation effectuée dans un champ agricole [101]
montre aussi qu’il y a une baisse du taux de délivrance lorsque les plantes commencent
à pousser.
Dans [97], les chercheurs ont construit un réseau de capteurs pour surveiller l’habitat
des goélands. L’expérimentation a duré 115 jours avec 650,000 lectures effectuées par
98 nœuds déployés. Les fichiers de log ont montré un taux de délivrance des paquets
très faible et une instabilité des connexions sans fil. Pendant le premier jour, les nœuds
qui se situaient à un saut de la station de base ont assuré un taux de délivrance de 70%,
alors que celui des nœuds à multi-sauts était seulement 58%. Pendant les jours restants,
presque un quart des nœuds ont fonctionné avec un taux de délivrance de 35%. Le
protocole de routage utilisé est considéré comme la cause principale de cette inefficacité
du réseau, car il demande aux nœuds de choisir toujours le chemin le plus sûr. De ce
fait, 80% des paquets sont passés par les 20% des chemins disponibles. Les piles des
nœuds qui se situe sur ces chemins ont été épuisées au bout d’un jour et demi.
Il existe encore beaucoup d’autres causes possibles, par exemple la collision, comme
les nœuds partagent le même médium pour la transmission de données, des collisions
peuvent se produire lorsque plusieurs nœuds essayent d’émettre des signaux en même
temps [98].
5.2.3/ DYSFONCTIONNEMENT DE LA STATION DE BASE
Toujours dans une application de collection de données, afin de faciliter et fluidifier la
communication radio, l’ensemble d’informations collectées est agrégée au fur et à mesure
durant leur transmission. Elles se propagent d’un nœud à l’autre pour aller jusqu’à leur
destination finale, la station de base. Cette dernière peut aussi être victime des attaques
extérieures et vulnérable aux différentes pannes.
Si aucun mécanisme de protection n’est appliqué, le réseau risque d’être complètement
isolé. La station de base est la seule interface entre les nœuds et les utilisateurs, lorsqu’elle
tombe en panne, les utilisateurs ne pourront plus accéder aux services fournis
par le réseau, et dans l’autre sens, les nœuds ne pourront plus à envoyer données ou
recevoir des commandes des utilisateurs.
Comme celles des nœuds déployés à distance, les pannes au niveau de la station de
base peuvent aussi être causées par des dysfonctionnements matériels, ou des bogues
qui se cachent dans le programme exécuté.
5.3/ TECHNIQUES DE DÉTECTION DE PANNES
La détection de pannes est une procédure cruciale, sans laquelle le système ne peut
pas choisir et prendre la réaction adaptée pour minimiser les impacts, et les services
qu’il fournit risque d’être suspendus. Il s’agit généralement d’un diagnostic du fonctionnement
d’un composant spécifique, parfois, nous essayons aussi d’avoir une prédiction de88 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
pannes, c’est-à-dire une analyse des symptômes observés.
Dans un réseau de capteurs, les nœuds sont censés être déployés en masse, et une
maintenance manuelle n’est pas intéressante du tout, car trop coûteuse et compliquée.
Dans cette section, nous présentons un ensemble de techniques qui nous permettent
d’automatiser la procédure de détection de pannes dans les réseaux de capteurs.
5.3.1/ DIAGNOSTIC LOCAL
Dans certains cas, un nœud est capable de détecter des erreurs en faisant un diagnostic
local. Afin de tester les connexions avec ses voisins, une table de routage contenant les
identifiants des voisins est crée en mémoire locale, le nœud diffuse périodiquement des
paquets de test aux voisins et attend des réponses. Le nœud est soupçonné d’être isolé,
si aucun voisin ne lui répond, ou ils répondent, mais avec une puissance de signal très
faible.
Un autre paramètre important qui peut être testé en local est le niveau de pile. Un nœud
peut prévoir des pannes en mesurant régulièrement le voltage de la pile [7, 83]. Il existe
des algorithmes qui permettent d’estimer la durée de vie d’un nœuds en analysant la
courbe de décharge de la pile et son taux de décharge, comme sur les téléphones mobiles,
le système peut afficher à l’utilisateur le niveau de batterie actuel. Lorsqu’un nœud
détecte que sa pile est bientôt épuisée, il peut diffuser un message d’avertissement à
ses voisins qui effectuent ensuite un ensemble d’opérations nécessaires pour l’exclure
du réseau.
Dans certains cas, les données aberrantes peuvent être corrigées immédiatement après
la détection. Comme dans [103], on sait que le composant de capture fonctionne correctement
si le voltage de pile v ∈ [2.4, 3.0]. On peut donc demander aux nœuds de lire des
données en parallèle avec le voltage, si v < [2.4, 3.0], la donnée sera éliminée et la lecture
sera refaite. Idem dans [68], on a les intervalles des puissances PT X et PRX, dans lesquels
les capteurs peuvent fonctionner correctement, durant la réception des données, celles
qui sont mesurées avec des puissances inappropriées sont éliminées.
5.3.2/ DIAGNOSTIC EN GROUPE
Il est aussi possible de détecter des erreurs du système causées par des valeurs erronées,
si les nœuds disposent d’une valeur de référence. Une application qui est largement
utilisée est la collection de données, nous supposons que les nœuds qui se trouvent
dans la même zone sont censés capturer des valeurs similaires. Si nous trouvons une
valeur qui possède une grande différence par rapport aux autres, cela est souvent considéré
comme un symptôme d’erreur. Des algorithmes sont proposés dans [23, 48], ils
peuvent calculer la probabilité qu’un nœud soit défectueux en se basant sur les données
collectées.
Dans [82], les auteurs proposent de détecter des erreurs en testant l’incohérence des
données collectées. Par exemple nous déployons des nœuds dans une chambre pour
mesure la température ambiante. Un nœud est soupçonné être en panne, s’il renvoie
des valeurs extrêmement élevées, tandis que les autres retournent des valeurs similaires
et normales.5.3. TECHNIQUES DE DÉTECTION DE PANNES 89
Nous supposons qu’un ensemble de nœuds S = {s1, s2, . . . , sn} est déployé sous forme
d’un arbre (voir figure 5.2), et à chaque intervalle temporel ∆k, un nœud si crée un vecteur
x
i
k
contenant des données capturées x
i
k
= {v
i
k j : j = 1 . . . d}. Après m lecture, le nœud
crée une collection de données Xi = {x
i
k
: k = 1 . . . m}, qui est envoyée à son nœud
parent sj
. Ce dernier fusionne Xi avec sa propre collection Xj
, et continue à envoyer la
nouvelle collection à son parent. Ainsi, la collection remonte dans l’arbre d’un nœud à
l’autre jusqu’à la station de base.
FIGURE 5.2 – Exemple de la topologie d’arbre
Deux approches sont proposées pour la détection d’erreurs. Dans le cas de détection
centralisée, après la réception de la collection, la station de base applique un algorithme
de clustering [25] à l’ensemble de données reçues. L’objectif est de représenter les données
par des points dans un système de coordonnées cartésiennes, et de regrouper les
points dans des clusters. 2 points sont placés dans le même cluster, si la distance euclidienne
entre eux est inférieure au seuil choisi. Les points qui se situent en dehors des
clusters représentent des données probablement corrompues, et elles sont donc ignorées.
En traçant l’origine de ces données, la station de base peut identifier les nœuds
défectueux.
L’inconvénient de cette approche est le coût de transmission, car il faut mobiliser entièrement
le réseau pour effectuer un diagnostic. La 2e approche utilise une détection
distribuée, c’est-à-dire l’algorithme de clustering est appliqué au fur et à mesure durant
la transmission des données. Cette méthode nous permet de détecter des erreurs plus
vite, et comme les données erronées sont ignorées après le clustering, la quantité de
données à transmettre peut être considérablement réduite.
Dans certains cas, les nœuds sont programmés pour renvoyer des valeurs identiques, par
exemple, les nœuds qui sont affectés délibérément à la même tâche. La récupération des
résultats peut être considérée comme une sorte de vote, si un nœud renvoie une valeur
qui est différente des autres, alors soit la valeur est corrompue durant la transmission,
soit le nœud est défectueux.
Il est aussi possible de détecter des pannes en surveillance les réactions des nœuds [63].
Si les nœuds sont programmés pour recevoir des requêtes des autres et fournir des services
demandés, nous pouvons vérifier si les requêtes sont correctement reçues par un
nœud spécifique en observant son comportement. Si le nœud en question ne réagit pas
comme il faut, soit il est défectueux, soit la connexion entre les 2 nœuds est perturbée.90 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
5.3.3/ DIAGNOSTIC HYBRIDE
C’est en effet la combinaison des 2 modes de diagnostic présentées ci-dessus. C’est-à-
dire que les nœuds effectuent d’abord chacun un diagnostic local, mais il y a toujours des
chances que les résultats ne soient pas assez précis. Ensuite les nœuds échangent les
résultats du diagnostic local pour faire un diagnostic de groupe.
Dans [15], Chen et al. proposent d’utiliser en même temps les diagnostics locaux et
en groupe. Les nœuds sont déployés aléatoirement dans une zone, et nous supposons
que chaque nœud possède au moins 3 voisins. Généralement, un réseau de capteurs
contient un grand nombre de nœuds, et cette condition peut souvent être satisfaite facilement.
Après le déploiement d’un ensemble de nœuds S , et |S | = n, un nœud quelconque S i dispose
d’un certain nombre de voisins N(S i), et |N(S i)| = k. Le nœud est programmé pour
collecter périodiquement des données ambiantes xi
, et il peut comparer ses données
collectées avec celles de ses voisins. d
t
i j représente la différente d’une donnée collectée
au moment t entre S i et son voisin S j
, et ∆d
∆t
i j signifie la différence d’une donnée entre
S i et S j pendant la période ∆t. Un paramètre Ti ∈ {LG, LF,GD, FT} est utilisé pour représenter
l’état de fonctionnement d’un nœud, où les valeurs signifient respectivement
probablement bon, probablement défectueux, bon et défectueux.
Algorithme 20 : Algorithme de diagnostic local
1 pour tous les S i ∈ S faire
2 pour tous les S j ∈ N(S i) faire
3 ci j ← 0;
4 Calculer d
t
i j;
5 si |d
t
i j| > θ1 alors
6 Calculer ∆d
∆t
i j ;
7 si |∆d
∆t
i j | > θ2 alors
8 ci j ← 1;
9 fin
10 fin
11 fin
12 fin
Lorsque le diagnostic est lancé, dans un premier temps, les nœuds appliquent localement
l’algorithme 20, où θ1 et θ2 sont 2 seuils prédéfinis, et ci j ∈ {0, 1} est le résultat du
diagnostic, ci j = 0 si les états de fonctionnements des 2 nœuds sont identiques, sinon
ci j = 1. L’idée de l’algorithme est toujours basée sur la supposition que les nœuds qui sont
près l’un de l’autre sont censés avoir des données similaires. Si la différence de donnée
dépasse θ1 (ou θ2 pour une période ∆t), les 2 nœuds ont des états de fonctionnements
différents, par exemple, un des 2 nœuds est défectueux.
Après le diagnostic local, le nœud essaie de déterminer son état possible à l’aide de
l’algorithme 21 qui analyse les résultats ci j. Le nœud S i est probablement en bon état, si
son état de fonctionnement est identique que ceux de la plupart de voisins.
Pour rendre le résultat de diagnostic plus précis, il faut que le nœud S i passe ensuite au
diagnostic en groupe (voir algorithme 22). Si S i et plus de 3/4 de ses voisins possèdent5.3. TECHNIQUES DE DÉTECTION DE PANNES 91
Algorithme 21 : Détermination de l’état de fonctionnement possible
1 si P
S j∈N(S i) ci j < ⌈|N(S i)|/2⌉ alors
2 Ti ← LG;
3 sinon
4 Ti ← LF;
5 fin
6 Diffuser Ti aux voisins;
Algorithme 22 : Algorithme de diagnostic mutuel
1 si P
S j∈N(S i) et T j=LG(1 − 2ci j) ≥ ⌈|N(S i)|/2⌉ alors
2 Ti ← GD;
3 fin
4 Diffuser Ti aux voisins;
l’état de fonctionnement LG, alors S i est considéré comme en bon état.
Algorithme 23 : Détermination de l’état de fonctionnement
1 pour i ← 1 a n faire
2 si Ti ∈ {LG, LF} alors
3 si T j = GD, ∀S j ∈ N(S i) alors
4 si ci j = 0 alors
5 Ti ← GD;
6 sinon
7 Ti ← FT;
8 fin
9 fin
10 fin
11 fin
Ensuite pour les nœuds restant, nous utilisons l’algorithme 23 qui peut parcourir tous les
nœuds. Si tous les voisins de S i sont en bon état, et celui de S i est identique que ceux
de ses voisins, alors S i est en bon état aussi, sinon, S i est défectueux.
Cette approche divise la procédure de diagnostic en 2 parties, elle demande d’abord
aux nœuds d’effectuer un diagnostic local qui renvoie un résultat représentant l’état de
fonctionnement d’un nœud. Ensuite les nœuds échangent les résultats de diagnostic
local avec leurs voisins, et en se basant sur les résultats reçus, ils peuvent calculer un
deuxième résultat de diagnostic qui est plus précis.
Néanmoins, cette méthode ne permet pas d’effectuer un diagnostic partiel du réseau,
car le résultat d’un nœud dépend tout le temps ceux de ses voisins, et pour tester les
voisins, il faut mobiliser encore plus de nœuds. Ce genre de fonctionnement engendre
une consommation de ressource assez importante, et la méthode n’est pas applicable
dans les cas où nous voulons tester seulement quelques nœuds qui sont déployés dans
une zone particulière.92 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
5.3.4/ DIAGNOSTIC HIÉRARCHIQUE
La détection hiérarchique utilise la topologie du réseau pour la détection de pannes [90].
Nous supposons que les nœuds forment un arbre dans lequel chaque nœud peut avoir
un ou plusieurs nœuds enfant, et chaque enfant ne possède qu’un seul nœud parent (voir
figure 5.2).
Chaque nœud effectue périodiquement un diagnostic local qui génère un ensemble de
données représentant son état de fonctionnement. Ensuite ces données sont envoyées
directement à son nœud parent, qui les agrège en ajoutant ses propres données de
diagnostic, et renvoie à son parent. Ainsi, les données remontent d’un nœud à l’autre,
jusqu’à ce qu’elles arrivent à la station de base. A la fin de la procédure, la station de
base dispose d’une base de données contenant toutes les informations nécessaires qui
représentent l’état de fonctionnement de tout le réseau.
L’avantage d’un tel mécanisme est qu’il s’adapte parfaitement à la taille du réseau, quel
que soit le nombre de nœuds déployés, la station de base peut toujours avoir une surveillance
globale du réseau en diffusant une requête qui descend des nœuds parent aux
nœuds enfant. Néanmoins, il faut mobiliser tous les nœuds pour effectuer un seul diagnostic,
la transmission des données engendre une consommation de ressources très
importante.
Une autre méthode alternative est d’utiliser seulement un sous-ensemble de nœuds et la
station de base pour la détection de pannes [95]. Une fois les nœuds déployés, chacun
envoie ses données de topologie (voisins, coût de connexion etc.) à la station de base
qui peut construire chez elle la topologie entière de tout le réseau. Quand les nœuds
détectent un nœud silencieux, c’est-à-dire un nœud qui ne répond plus aux requêtes, ils
envoient des données nécessaires à la station de base pour que cette dernière puisse
faire une mise à jour de topologie. Idem dans le sens descendant, si la station de base
veut effectuer un changement de route, elle n’envoie la commande qu’aux nœuds concernés.
Cependant ce mécanisme n’est pas applicable aux applications événementielles dans
lesquelles les nœuds ne communiquent qu’en cas de détection d’un événement important
prédéfini, et la station de base ne peut pas avoir une vision globale du réseau en
temps réel.
Une autre approche basée sur les clusters est présentée dans [91]. Chaque cluster-head
est chargé de la surveillance de ses membres, et les cluster-heads sont directement
surveillés par la station de base. Pour effectuer un diagnostic, la station de base et les
cluster-heads effectuent des commandes ping vers les nœuds qui sont sous leur supervision
directe. S’ils détectent un nœud qui ne répond pas à la commande ping, alors il
sera considéré comme défectueux et sera éventuellement exclu du réseau.
5.4/ TECHNIQUES DE RESTAURATION
Les techniques de restauration sont souvent mises en place pour augmenter la fiabilité
et la sûreté d’un système, car elles lui permettent de continuer à fonctionner malgré la
présence des pannes. Beaucoup de méthodes sont proposées dans la littérature, alors
que la plupart est basée sur la réplication des composants qui sont essentiels pour le5.4. TECHNIQUES DE RESTAURATION 93
bon fonctionnement du système. La redondance peut être considérée comme une mé-
thode adéquate pour les réseaux de capteurs, car les nœuds sont déployés en masse, et
il existe souvent des nœuds disponibles pendant la durée de vie du réseau. Cependant
comme de nombreux nœuds sont impliqués dans le fonctionnement du réseau, le système
consomme plus de ressources. Dans cette section, nous présentons un ensemble
de techniques de tolérance aux pannes qui sont basées sur la redondance.
5.4.1/ RÉPLICATION ACTIVE
L’idée est de déployer délibérément plusieurs nœuds pour assurer la même fonctionnalité.
Par exemple, nous déployons plusieurs nœuds dans une zone pour effectuer une
collection de données ambiantes. Lorsqu’un nœud tombe en panne, les autres qui se
situent dans la même zone peuvent continuer à envoyer des données à la station de
base.
5.4.1.1/ REDONDANCE DE CHEMIN DE ROUTAGE
Durant la conception d’un protocole de routage, il faut prendre en compte le fait que les
nœuds qui se situent proche de la station de base sont relativement plus chargés pour la
transmission de données, et leurs piles risquent d’être épuisées beaucoup plus vite par
rapport aux autres. Pour que le réseau soit tolérant aux pannes, il ne faut pas que tout le
réseau soit hors service à cause du dysfonctionnement de seulement quelques nœuds.
Dans un réseau tolérant aux pannes, les nœuds doivent être k-connecté, c’est-à-dire que
chaque nœud doit posséder k connexions avec le reste du réseau, même s’il perd k − 1
connexions, le nœud restera tout de même connecté [58].
[13] propose une topologie tolérante aux pannes pour les réseaux de capteurs hété-
rogènes. 2 types de nœuds sont utilisés, les nœuds de capture sont moins coûteux,
mais très limités en ressources, ils sont déployés aléatoirement en grand nombre pour
la collection des données ambiantes. Les nœuds de passerelle sont beaucoup moins
nombreux, mais ils sont plus puissants, et leurs antennes peuvent avoir une portée plus
étendue. Les nœuds de passerelle sont déployés pour récupérer des données collectées
par des nœuds de capture, et transmettre ces données à la station de base. Une telle
architecture est prouvée plus avantageuse en termes de performance et de durée de vie
(voir figure 5.3).
Les nœuds de capture doivent être k-connectés, c’est-à-dire que chaque nœud de capture
doit posséder k chemins distincts pour rejoindre un des nœuds de passerelle. Même
un nœud de capture perd les autres k−1 connexions, il reste tout de même connecté avec
les nœuds passerelles, et les données qu’il collecte peuvent toujours être renvoyées à la
station de base. Par exemple, dans la figure 5.4, nous avons un réseau 3-connecté, dans
lequel les nœuds de capture peuvent résister jusqu’à 2 chemins perturbés.
5.4.1.2/ REDONDANCE DE DONNÉES COLLECTÉES
Afin d’assurer la collection de données dans une zone, nous pouvons y déployer plusieurs
nœuds, car les valeurs ambiantes capturées sont censées être similaires. Généralement94 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
FIGURE 5.3 – Déploiement d’un réseau de capteurs hétérogène
FIGURE 5.4 – Exemple d’un réseau hétérogène 3-connecté
les données capturées sont ensuite envoyées à un autre nœud qui est chargé de l’agré-
gation et de la transmission vers la station de base. Même si quelques nœuds tombent
en panne, tant qu’il reste encore des nœuds opérationnels dans la zone, nous pouvons
continuer à surveiller la zone malgré une perte de précision envisageable.
5.4.2/ RÉPLICATION PASSIVE
Quant à la réplication passive, nous mettons en place plusieurs nœuds aussi pour assurer
la même fonctionnalité, mais seul le nœud principal est utilisé pour la réception et le
traitement de tâches. Les données sont synchronisées entre le nœud principal et les
nœuds de secours, c’est-à-dire que les nœuds de secours reçoivent aussi les tâches,
mais ils restent inactifs tant que le nœud principal est encore opérationnel.
Lorsque le nœud principal tombe en panne, nous devons en choisir un parmi les nœuds
de secours pour prendre le relais. La réplication passive est souvent considérée comme
le choix optimal pour les réseaux de capteurs, car les nœuds de secours ne consomment
pas beaucoup de ressource tant qu’aucune panne n’est détectée. L’application de la ré-
plication passive est réalisée selon 3 phases, qui sont respectivement la détection de5.4. TECHNIQUES DE RESTAURATION 95
pannes, la sélection du nœud principal et la distribution de service. La première phase
est déjà discutée dans la section 5.3, et les 2 autres sont présentées ci-dessous.
5.4.2.1/ SÉLECTION DE NŒUD PRINCIPAL
Les nœuds sont programmés et déployés pour fournir des services, lorsqu’un nœud est
en panne, il faut que nous trouvions un autre qui peut le remplacer, et le nœud sélectionné
devient le nouveau fournisseur de services. Il existe plusieurs approches dans la
littérature :
5.4.2.2/ SÉLECTION EN GROUPE
Comme la plupart des protocoles de routage basés sur le clustering [36, 35], le clusterhead
est chargé de la récupération et la transmission des données collectées par les
autre nœuds qui se situent dans le même cluster, et il est logique que le cluster-head
consomme plus de ressources et sa pile se vide plus vite par rapport aux autres membres
du cluster, notamment dans des réseaux homogènes, les cluster-heads ne détiennent
pas plus de ressources que les autre membres. Lorsque le niveau d’énergie restante
du cluster-head est très faible, il faut que les autres nœuds lancent un vote en prenant
compte les paramètres cruciaux (énergie, distance, connexion etc.) pour choisir un nouveau
cluster-head.
5.4.2.3/ RÉAFFECTATION DE MEMBRES
À partir d’un réseau de capteurs hétérogène dont les nœuds sont regroupés en clusters,
et où les cluster-heads déployés sont plus puissants que les membres ordinaires,
nous ne changeons pas de cluster-head. Chaque membre d’un cluster doit stocker non
seulement l’identifiant de leur cluster-head actuel, mais aussi celui de son cluster-head
de secours. Normalement le cluster-head de secours est le cluster-head d’un autre cluster
qui se trouve à proximité. Quand le cluster-head actuel ne peut plus fonctionner, le
membre envoie une demande à son cluster-head de secours pour être réaffecté au nouveau
cluster [31].
5.4.3/ DISTRIBUTION DE SERVICES
Une fois le nouveau nœud sélectionné, il faut qu’il soit immédiatement activé, et qu’il
détienne toutes les informations nécessaires pour continuer le traitement de tâches. Dans
certaines applications, les nœuds déployés utilisent le même code, et les données sont
synchronisées entre le nouveau et l’ancien nœud principal, il suffit alors de donner un
simple message au nouveau nœud pour lui signaler le changement de rôle. Dans les
autres cas, par exemple lorsque les nœuds n’ont pas assez de mémoire pour stocker le
code de tout type de service, il faut donc que le code manquant soit distribué au nouveau
nœud principal, et qu’il soit reprogrammé pour s’adapter à la nouvelle fonctionnalité.96 CHAPITRE 5. TOLÉRANCE AUX PANNES DANS LES RCSF
5.4.3.1/ DISTRIBUTION DE CODES
Il s’agit de la dissémination des morceaux de code dans le réseau. Dans [56], un interpréteur
de bytecode pour Tinyos est développé et installé sur des nœuds, et les programmes
sont décomposés en morceaux de 24 instructions. Lorsqu’une mise à jour de
code est demandée, les morceaux de code du nouveau programme sont envoyés et installés
sur le nœud qui les exécute avec l’interpréteur. Cependant cette méthode demande
une connexion assez fiable, car il faut que le programme à installer soit entièrement acheminé
chez son destinataire. Le nœud ne peut pas se lancer tant que le programme utilisé
n’est pas correctement mis à jour.
5.4.3.2/ DISTRIBUTION DE TÂCHES
Les programmes installés sur les nœuds sont identiques et seules les données représentant
les tâches à effectuer sont envoyées au nouveau nœud sélectionné.
Les nœuds utilisent toujours le même programme qui peut être configuré en fonction
de différents besoins. Pour modifier les fonctionnalités d’un nœud, il suffit de lui fournir
l’ensemble des informations de configuration pour les nouvelle tâches.
Deluge [37] est une architecture spécifiquement conçue pour la dissémination de données.
Les données sont représentées par des objets, qui sont sérialisés et divisés en
pages de taille identique, et chacune est encore constituée d’un certain nombre de paquets
(voir figure 5.5). Le paquet est l’unité la plus petite utilisée dans Deluge, et chacun
est numéroté avec un nombre représentant la version des données qu’il contient.
FIGURE 5.5 – Structures de données utilisées dans Deluge
Dans Deluge, après chaque mise à jour de données, un nœud S diffuse périodiquement
aux voisins qui se situent dans sa portée radio la version la plus récente des données qu’il
détient. Un voisin R qui reçoit le message lui demande une liste complète des objets avec
les numéros de version correspondants. Avec cette liste, R peut identifier les objets locaux
qui nécessitent aussi une mise à jour. Pour une raison de performance, les messages
redondants sont rejetés pendant les communications. Par exemple si 2 nœuds se situent
l’un à côté de l’autre, une seule demande de données est envoyée.
L’architecture elle-même utilise aussi des mécanismes qui lui offrent un minimum de sû-
reté. Après la réception d’une demande de données, le nœud S commence à envoyer à R5.5. CONCLUSION 97
des paquets contenant des données demandées. Pour assurer la fiabilité de transmission
de données, le contrôle de redondance cyclique (CRC) est appliqué à tous les paquets
envoyés. Un paquet devra être renvoyé à nouveau, si le contrôle échoue. D’ailleurs, si le
voisin perd la connexion durant la transmission de données, il va réessayer de demander
les données manquantes. S’il n’arrive toujours pas à rétablir la connexion au bout d’un
certain nombre d’essais, il va choisir à un autre nœud qui possède les données dont il a
besoin.
5.5/ CONCLUSION
Dans ce chapitre nous avons présenté les techniques de tolérance aux pannes et leur
application dans les réseaux de capteurs. A cause de la limitation des ressources et
de la puissance de calcul, les réseaux de capteurs sont généralement très vulnérables
aux différentes pannes, et parfois le réseau risque d’être entièrement bloqué à cause
d’un simple dysfonctionnement. C’est la raison principale pour laquelle aujourd’hui les
mécanismes de tolérance aux pannes sont considérés comme une partie indispensable
pour les réseaux de capteurs.
Son objectif est principalement constitué de 2 parties, la détection des pannes et la restauration
des fonctionnalités endommagées. Les algorithmes complexes sont à éviter,
à cause des faibles ressources dont disposent les nœuds sans fil. Une approche effi-
cace est d’utiliser les nœuds disponibles pour la détection de données erronées et la
substitution de nœuds défectueux. Certaines valeurs peuvent être mesurées et évaluées
localement, comme le niveau d’énergie restante, la puissance du signal des nœuds voisins
etc. En effet, il ne faut pas que la méthode appliquée ait un impact négatif sur la
performance du système.
Dans le chapitre suivant, nous présentons notre propre méthode de tolérance aux pannes
conçue spécifiquement pour notre application de multiplication scalaire parallèle dans les
réseaux de capteurs. Comme la tâche de calcul est décomposée en plusieurs parties
qui sont traitées simultanément, il faut que la distribution de tâches et la récupération
de résultats soient fiables, et que les nœuds soient capables de faire face aux pannes
inattendues.6
LA TOLÉRANCE AUX PANNES POUR LA
MULTIPLICATION SCALAIRE PARALLÈLE
DANS LES RÉSEAUX DE CAPTEURS
Sommaire
6.1 Erreurs possibles durant le calcul parallèle . . . . . . . . . . . . . . . . . . 100
6.1.1 Perte de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.2 Données corrompues . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.1.3 Nœud maître défectueux . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.2 Contre-mesures contre les pannes possibles . . . . . . . . . . . . . . . . . . 102
6.2.1 Sélection des nœuds de secours . . . . . . . . . . . . . . . . . . . . . 102
6.2.2 Détection de perte de résultat . . . . . . . . . . . . . . . . . . . . . . . 103
6.2.3 Vérification de résultat . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3 Simulation et évaluation de performance . . . . . . . . . . . . . . . . . . . 106
6.3.1 Simulateur et configuration . . . . . . . . . . . . . . . . . . . . . . . . 106
6.3.2 Test sans assez de nœuds disponibles (n ≤ 4) . . . . . . . . . . . . . . 107
6.3.3 Test avec assez de nœuds disponibles (n ≤ 8) . . . . . . . . . . . . . . 108
6.3.4 Test en présence de pannes . . . . . . . . . . . . . . . . . . . . . . . . 109
6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Dans le chapitre 4, nous avons présenté notre méthode de parallélisme qui nous permet
d’accélérer le calcul des multiplications scalaires sur les courbes elliptiques en décomposant
la tâche de calcul en plusieurs parties indépendantes qui sont ensuite traitées
simultanément par des nœuds différents.
En tant qu’architecture de parallélisation sans mémoire partagée, les nœuds participant
aux calculs parallèles doivent échanger des données via la connexion sans fil qui est
souvent considérée comme un moyen de communication non fiable. S’il y a des données
perdues ou corrompues pendant la transmission, le nœud maître ne va pas pouvoir terminer
correctement le calcul. Le résultat du calcul est ensuite utilisé par les protocoles
cryptographiques, et si les calculs sont basés sur des valeurs incorrectes, l’ensemble des
mécanismes de sécurité du système va échouer.
Dans ce chapitre nous présentons des techniques qui nous permettent d’augmenter
considérablement la fiabilité et la sûreté du réseau pendant le calcul parallèle. Comme
nous l’avons dit précédemment, il est déconseillé de mettre en place des mécanismes de
tolérance aux pannes très complexes dans les réseaux de capteurs, car les nœuds ne
99100 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
sont pas assez puissants. Ainsi, notre méthode est principalement basée sur la redondance.
Nous commençons par l’identification des pannes possibles dans notre architecture de
parallélisme. Afin de contourner ces problèmes, notre solution est présentée dans la
section 6.2. Pour évaluer sa performance, nous avons développé un simulateur et les
résultats de simulation sont présentés et discutés dans la section 6.3.
6.1/ ERREURS POSSIBLES DURANT LE CALCUL PARALLÈLE
En règle générale, un réseau de capteurs est constitué d’un grand nombre de nœuds à
faible coût et puissance, qui sont souvent considérés très fragiles et vulnérables en face
des différentes pannes et attaques [2, 112].
Il existe beaucoup de pannes différentes qui peuvent survenir durant le fonctionnement
du réseau, et il est extrêmement difficile de développer une technique qui puisse ré-
soudre tous les problèmes possibles. Généralement nous essayons d’abord d’identifier
les pannes les plus importantes, c’est-à-dire les pannes qui peuvent avoir des effets dé-
sastreux sur notre système. Ensuite il faut trouver des méthodes qui peuvent renforcer
notre réseau.
La procédure du calcul parallèle est présentée graphiquement dans la figure 4.9, nous
pouvons voir que le nœud maître doit distribuer les tâches de calcul et récupérer le résultat
de chaque esclave après le traitement de tâche. Tout échange de données se fait via
la communication sans fil. Les erreurs qui peuvent avoir lieu durant le calcul sont listées
ci-dessous :
6.1.1/ PERTE DE RÉSULTAT
Nous supposons qu’il y a n nœuds disponibles si
, i ∈ [1, 4] dans le cluster, ils sont convoqués
en tant qu’esclaves par le maître, qui s’occupe de la génération et de la distribution
des tâches Qi qui est définie dans la formule 6.1, où l est la longueur du scalaire, n est le
nombre d’esclaves. Chaque Qi peut être ensuite traitée indépendamment par un esclave.
Qi =
i+X
b−1
j=ib
kj2
j
· 2
bG où b = ⌈l/n⌉ (6.1)
Il faut que le nœud maître reçoive tous les résultats des esclaves pour calculer le résultat
final de la multiplication scalaire. Lorsqu’il y a des résultats perdus, le maître ne peut plus
terminer son travail correctement. Une telle erreur peut être due aux différentes pannes
ci-dessous :
– Épuisement de pile : Quand un des esclaves n’a plus d’énergie, il s’éteint automatiquement,
et toute opération en cours s’arrête aussi.
– Connexion perdue : Une connexion sans fil devient beaucoup plus instable lorsque le
niveau de pile du nœud est faible ou des interférences radio sont présentes dans la
zone. Un résultat est perdu, si l’esclave correspondant ne reçoit pas de tâche, ou il
n’arrive pas à renvoyer le résultat au maître à cause d’une mauvaise connexion.6.1. ERREURS POSSIBLES DURANT LE CALCUL PARALLÈLE 101
– Attaque extérieure : Les nœuds déployés dans des environnements extrêmes font souvent
l’objet des attaques délibérées ou accidentelles. Un nœud ne peut pas survivre à
une telle attaque si ce petit dispositif électronique ne détient pas une protection solide.
6.1.2/ DONNÉES CORROMPUES
Comme tout message circulant dans un réseau de capteurs, les résultats renvoyés par
des esclaves risquent d’être corrompus durant la transmission radio. Il existe des mé-
thodes mathématiques qui peuvent tester l’intégrité d’un message, e.g. la fonction de
hachage, mais généralement il est préférable de ne pas appliquer des calculs très compliqués
qui peuvent parfois rendre les nœuds figés. En outre, l’objectif du calcul parallèle
est d’accélérer le calcul de la multiplication scalaire, même si nous arrivons à intégrer le
test d’intégrité dans le calcul parallèle, il peut y avoir une baisse de performance importante.
Si le maître ne peut pas détecter une telle erreur et continue à calculer le résultat final
avec des valeurs incorrectes, les autres calculs suivants vont forcément échouer aussi.
La corruption de données peut être principalement causée par :
– Épuisement de pile : Il est déjà prouvé que les composants électroniques ne peuvent
pas fonctionner correctement lorsque le niveau de pile est très faible [12]. Si l’antenne
du nœud n’est pas suffisamment alimentée, les signaux qu’elle émet risquent d’être
biaisés.
– Interférence radio : Les interférences peuvent causer des difficultés de propagation
des ondes radio, et parfois une mauvaise interprétation des signaux lors de la réception
de données. Elle est souvent utilisée aussi comme un moyen d’attaque pour bloquer
complètement la communication dans un réseau.
– Bogue de programme : Des résultats incorrects peuvent aussi être causés par des
bogues du programme installé, qui peuvent être déclenchés par certaines conditions.
C’est la raison pour laquelle les programmes doivent souvent passer plusieurs procé-
dures de simulation stricte avant d’être installés sur des nœuds.
6.1.3/ NŒUD MAÎTRE DÉFECTUEUX
Dans notre architecture de calcul parallèle, c’est le cluster-head qui joue le rôle du maître.
Il est chargé de la distribution des tâches et de la récupération de résultats. Un maître
défectueux peut causer un abandon complet de la procédure du calcul parallèle.
Dans les protocoles de routage qui sont basés sur le clustering, les membres doivent
choisir périodiquement un nouveau cluster-head [36, 35]. Ce mécanisme est particulièrement
important pour les réseaux homogènes, dans lesquels les cluster-heads ne
détiennent pas plus de ressources que les autres membres. Le changement périodique
du maître permet aux nœuds d’équilibrer la charge et de prolonger la durée de vie du
réseau.
Si un cluster-head tombe accidentellement en panne, et les autres membres vont détecter
la perte de connexion avec leur cluster-head, et une procédure d’élection sera lancée
immédiatement pour choisir un nouveau cluster-head.102 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
Si le réseau est capable de détecter les erreurs ci-dessus et de restaurer les fonctionnalités,
il sera plus robuste pour endurer des environnements difficiles et résister aux
différentes pannes inattendues. Maintenant il faut trouver des méthodes efficaces qui
nous permettent d’atteindre ces objectifs.
6.2/ CONTRE-MESURES CONTRE LES PANNES POSSIBLES
Selon [47], les techniques de tolérance aux pannes sont conçues et peuvent être appliquées
(de basse à haute) aux couches physique, logiciel système, middleware et application.
Généralement, plus la couche est basse, plus la technique de tolérance aux
pannes est générique. Dans le sens inverse, plus la couche est haute, plus la technique
est spécifique. Par exemple, il y a très peu de chance que nous puissions utiliser dans
une application une technique qui est initialement développée pour une autre application.
Certes, les techniques qui sont développées pour la couche application sont moins portables
et réutilisables par rapport aux autres. Cependant elles sont souvent soigneusement
conçues pour mieux s’adapter aux besoins des applications. Notre architecture
de parallélisme est une procédure complexe qui dépend beaucoup de la fiabilité de la
communication sans fil. Afin d’augmenter la sûreté du système durant la distribution de
tâches et la récupération de résultats, nous avons développé notre méthode de tolérance
aux pannes pour la couche application.
6.2.1/ SÉLECTION DES NŒUDS DE SECOURS
Comme nous avons présenté précédemment, notre méthode est aussi basée sur la redondance,
c’est-à-dire l’utilisation des nœuds de secours, car un réseau de capteurs
possède souvent un très grand nombre de nœuds.
Nous supposons qu’il existe n nœuds disponibles dans le cluster. Lorsque le clusterhead
veut lancer une multiplication scalaire parallèle, au lieu d’impliquer tous les nœuds
disponibles dans le calcul, nous utilisons seulement ⌊n/2⌋ nœuds pour le calcul parallèle,
les nœuds restants sont utilisés comme des nœuds de secours.
Algorithme 24 : Sélection des nœuds de secours
Données : La
Résultat : Ls
, Lb
1 Trier La par le nombre de voisins dans l’ordre croissant;
2 pour tous les a ∈ La faire
3 b ← NS (a);
4 La ← La − a;
5 La ← La − b;
6 Ls ← Ls + a;
7 Lb ← Lb + b;
8 fin
9 retourner Ls
, Lb
La sélection des nœuds esclaves et des nœuds de secours est pilotée par l’algorithme 246.2. CONTRE-MESURES CONTRE LES PANNES POSSIBLES 103
où La est l’ensemble de nœuds disponibles dans le cluster, Ls et Lb sont 2 listes contenant
respectivement des esclaves et des nœuds de secours sélectionnés.
Avant de commencer à sélectionner les nœuds, la liste La est triée dans l’ordre croissant
par le nombre de voisins de chaque a ∈ La, car nous devons laisser le nœud ayant
moins de voisins choisir son nœud de secours en premier. NS (a) est une fonction qui
sélectionne et retourne le nœud de secours de a parmi ses voisins. Les voisins sont
évalués par plusieurs critères, telles que l’énergie restante, la distance de a et le RSSI 1
,
car nous privilégions toujours le voisin ayant la connexion la plus fiable.
Dans le chapitre 4, nous avons déjà montré que pour une raison de surcoût de communication,
le nombre d’esclaves doit être limité à moins de 5. La possibilité de pouvoir
effectuer une multiplication scalaire parallèle qui soit tolérante aux pannes dépend principalement
du nombre de nœuds disponibles dans le cluster, dénoté n.
– n ∈ [0, 1] : Impossible d’effectuer une telle opération, car soit il n’y a pas de nœud
disponible pour paralléliser le calcul, soit nous pouvons paralléliser entre 2 nœuds
(maître compris), mais il n’y a pas de nœud de secours pour l’esclave.
– n ∈]1, 8[ : La tolérance aux pannes est possible, nous pouvons paralléliser le calcul
avec ⌊n/2⌋ esclaves et ⌊n/2⌋ nœuds de secours.
– n ∈ [8, ∞] : Nous pouvons paralléliser le calcul avec 4 esclaves et au moins 4 nœuds
de secours.
Après la sélection d’esclaves et de nœuds de secours, dans les sections suivantes, nous
allons présenter comment les nœuds de secours sont mis en place pour rendre la procé-
dure de calcul parallèle plus fiable.
6.2.2/ DÉTECTION DE PERTE DE RÉSULTAT
Pour détecter une perte de résultat, nous demandons à un nœud de secours de traiter la
même tâche que l’esclave qu’il surveille, et de préparer une deuxième copie du résultat.
La procédure du calcul est illustrée dans la figure 6.1. Le début est identique à celle du
calcul parallèle normal (figure 4.9) :
– Les membres du cluster collectent et renvoient périodiquement des données au
cluster-head ;
– Si le cluster-head détecte un événement important qu’il faut signaler immédiatement à
la station de base, il essaie d’identifier les membres qui sont disponibles pour le calcul
parallèle en leur diffusant une demande de participation ;
– Les membres qui sont disponibles renvoient une réponse positive au cluster-head, et
attendent l’affectation des tâches.
Après la réception des réponses, le cluster-head utilise l’algorithme 24 qui lui sélectionne
les esclaves pour le calcul parallèle et les nœuds de secours pour la tolérance
aux pannes. Une fois le calcul décomposé en fonction du nombre d’esclaves, le clusterhead
diffuse les tâches à tous les nœuds choisis.
La distribution des tâches se fait par broadcast qui est reçu par tous les membres disponibles
du cluster. Dans le message, ils peuvent trouver les tâches de calcul et les
identifiants des nœuds qui doivent les traiter, ainsi que les identifiants des nœuds qui
1. Received Signal Strengh Indicator104 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
Membre de cluster Cluster-head
Esclave Nœud de secours
1 : Données
2 : Demande de participation
3 : Disponibilité
4 : Tâches
5 : Résults
Sélection des nœuds
Calcul
Erreur
Calcul
FIGURE 6.1 – Multiplication scalaire parallèle avec la détection de perte de résultat
doivent surveiller les esclaves. Après la distribution des tâches, les membres qui ne sont
pas sélectionnés retournent à leur état initial.
Après le traitement de tâche, le nœud de secours attend que l’esclave qu’il surveille
envoie le résultat du calcul. Si l’esclave tombe en panne, et n’envoie pas de résultat au
bout d’un certains temps ts
, le nœud de secours va envoyer sa propre copie du résultat
au maître.
Nous supposons que l’esclave et le nœud de secours ont presque la même distance
du maître, car le nœud de secours est sélectionné parmi les voisins de l’esclave. La
consommation d’énergie pour l’envoi de résultat est fonction de la taille du message m
et de la distance d, notée ETx = e(m, d), et la consommation pour la réception est une
constante ERx
[36, 35].
Nous pouvons constater que par rapport à la version originale, la nouvelle architecture
parallèle avec la détection de perte de résultat n’engendre pas une augmentation importante
de la consommation d’énergie du cluster. Néanmoins, la nouvelle version prend un
peu plus de temps, car il faut que le nœud de secours attende ts ms avant d’envoyer son
résultat.
6.2.3/ VÉRIFICATION DE RÉSULTAT
Dans le cas où l’esclave renvoie un résultat incorrect au maître, il faut que les nœuds
puissent le détecter. La procédure de vérification est représentée graphiquement dans
la figure 6.2. Comme la détection de perte de résultat, après la distribution des tâches,
l’esclave et le nœud de secours reçoivent et travaillent sur la même tâche.
Le nœud de secours est utilisé pour vérifier le résultat envoyé par l’esclave. Lorsque ce
dernier envoie son résultat, comme le nœud de secours est un de ses voisins qui se situe
dans sa portée radio, il peut le recevoir et passe à la phase de vérification.
Le nœud de secours compare le résultat de l’esclave avec le sien, car les données sto-6.2. CONTRE-MESURES CONTRE LES PANNES POSSIBLES 105
ckées localement sont considérées assez fiables. Si les 2 résultats sont différents, il enverra
immédiatement un avertissement au maître, qui est obligé de rejeter le résultat en
question et de répéter localement la tâche correspondante.
Membre de cluster Cluster-head
Esclave Nœud de secours
1 : Données
2 : Demande de participation
3 : Disponibilité
4 : Tâche
5 : Résultat
Avertissement
Sélection des nœuds
Calcul
6 : Répétition de calcul
Calcul Calcul
FIGURE 6.2 – Multiplication scalaire parallèle avec la vérification de résultat
Quand aucun résultat erroné n’est détecté, les nœuds de secours demeurent silencieux.
Le temps de calcul et la consommation totale d’énergie restent quasiment inchangé.
Cependant, lorsqu’il y a des esclaves qui retournent un résultat incorrect, le maître devra
répéter la tâche avant d’effectuer la combinaison des résultats, et le coût de parallélisation
est proportionnel au nombre de résultats erronés détectés.
Une autre méthode alternative plus économique en terme de consommation de ressources
est d’utiliser plusieurs nœuds de secours pour chaque esclave et de mettre en
place un mécanisme de vote. Lorsque les nœuds de secours détectent un résultat différent,
ils envoient aussi leurs copies locales au maître, qui prend ensuite celui le plus
présent.
Une limitation de la deuxième méthode est le nombre de nœuds utilisés. Si nous devons
désigner plusieurs nœuds de secours pour un seul esclave, nous aurons besoin de
beaucoup plus de nœuds disponibles dans le cluster. D’ailleurs, il faut que le nombre de
nœuds de secours soit suffisamment grand pour que le résultat de vote soit assez fiable.
De plus, comme les nœuds de secours doivent traiter les tâches aussi, il est évident que
nous ne pouvons pas demander à un nœud de secours de surveiller plusieurs esclaves.
Pour le cas où le cluster-head tombe en panne, un mécanisme d’élection de nouveau
cluster-head est déjà inclus dans la plupart de protocoles de routage basés sur le clustering.
Il nous suffit de l’utiliser dans notre architecture de parallélisme.106 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
6.3/ SIMULATION ET ÉVALUATION DE PERFORMANCE
Pour tester la performance de notre méthode de tolérance aux pannes, nous avons créé
un simulateur en Java qui peut estimer le temps de calcul et la consommation d’énergie
de notre architecture.
6.3.1/ SIMULATEUR ET CONFIGURATION
Au lancement du programme, le simulateur charge en mémoire la configuration de la
courbe elliptique utilisée et la topologie du cluster depuis un fichier de configuration, dans
lequel nous stockons les identifiants des membres du cluster, les distances entre eux,
ainsi que l’ensemble de paramètres de la courbe, comme dans le tableau 4.5.
Nous supposons que les nœuds sont déployés dans une zone idéale sans obstacle.
L’accès au médium est contrôlé par un protocole MAC basé le principe de TDMA 2
, qui
permet à un seul nœud d’envoyer des données à la fois.
Tous les membres du cluster utilisent la même courbe qui est définie dans un corps
premier fini Fp, et les paramètres (p, a, b,G, n) à stocker sont donnés dans le tableau 6.1,
et les valeurs recommandées NIS T192 sont utilisées [34].
Paramètre Description Longueur (bit)
p Taille du corps premier fini 192
a Coefficient de l’équation Weierstrass simplifiée 8
b Coefficient de l’équation Weierstrass simplifiée 192
G Point de générateur de la courbe 192 × 2 = 384
n Ordre du point de générateur 192
Total : 968
TABLE 6.1 – Paramètre de la courbe elliptique utilisée
Les détails de la consommation de mémoire sont montrés dans le tableau 6.2. Selon les
résultats dans le chapitre 4, le nombre de nœuds participant au calcul parallèle doit être
limité à moins de 5, nous devons stocker donc 3 points précalculés.
Données Description Taille (octet)
(p, a, b,G, n) Paramètres de la courbe elliptique 121
2
40G, 2
80G, 2
120G Points précalculés 144
Total : 256
TABLE 6.2 – Consommation de mémoire pour le stockage des données
Comme dans un réseau de capteurs, la plupart de l’énergie est consommée par la communication
sans fil. Ainsi, le simulateur prend en compte seulement la consommation
d’énergie de la communication radio, celle du traitement de données en local est simplement
ignorée.
Les formules de l’estimation de la consommation sont présentées dans [36, 35] (voir formule
6.2). ETX et ERX
sont 2 fonctions qui estiment la consommation d’énergie d’émission
2. Time Division Multiple Access6.3. SIMULATION ET ÉVALUATION DE PERFORMANCE 107
et de réception, où d est la distance et k est la taille du message en nombre de bits.
Eelec est le facteur de dissipation audiofréquence, et ǫamp est la facteur d’amplification de
transmission. La modélisation de la consommation d’énergie de la transmission radio est
en discussion, nous avons repris les valeurs données dans le papier : Eelec = 50nJ/bit et
ǫamp = 100pJ/bit/m
2
.
(
ETX
(k, d) = Eelec · k + ǫamp · k · d
2
ERX
(k) = Eelec · k
(6.2)
Les nœuds communiquent entre eux avec le protocole Zigbee, qui est largement utilisé
par la plupart des plate-formes existantes. Pour estimer le temps de communication, le
simulateur utilise les valeurs de la bande passante présentées dans [11]. Les auteurs ont
prouvé que selon la dernière version de la norme IEEE 802.15.4-2006, la bande passante
du Zigbee est 108 Kbps.
De plus, l’estimation du temps de calcul de la multiplication scalaire parallèle est principalement
basée sur les résultats du chapitre 4.
La mission du simulateur est d’estimer le temps de calcul et la consommation d’énergie
de notre architecture de parallélisation protégée par les mécanismes de tolérance aux
pannes que nous avons présenté dans la section 6.2. L’objectif de la simulation n’est pas
de mesurer précisément les valeurs en question, mais d’étudier l’impact des techniques
de tolérance aux pannes sur la performance du calcul parallèle.
Les tests sont exécutés dans 3 cas différents :
– Il existe assez de nœuds disponibles dans le cluster pour paralléliser les multiplications
scalaires jusqu’à 4 esclaves, mais il n’y en a pas assez pour avoir un nœud de secours
par esclave.
– Il existe assez de nœuds disponibles pour paralléliser le calcul entre 4 esclaves, et
chaque esclave détient un nœud de secours.
– Il existe toujours assez de nœuds disponibles pour le calcul parallèle (esclave) et la
tolérance aux pannes (nœud de secours), et certains esclaves tombent en panne pendant
le calcul.
6.3.2/ TEST SANS ASSEZ DE NŒUDS DISPONIBLES (n ≤ 4)
Dans le chapitre 4, nous avons déjà montré qu’à cause du surcoût de la communication
radio, nous devons limiter le nombre d’esclaves à moins de 5. Nous définissons le nombre
de nœuds disponibles dans le cluster n, n ≤ 4, et les résultats de simulation du premier
cas sont montrés dans les tableau 6.3 et 6.4. La comparaison de performance est aussi
illustrée dans la figure 6.3.
Nombre de nœuds Temps de calcul (ms) Énergie (mJ)
0 2308.77 0.06639066
1 1158.88 0.17869498
2 777.75 0.27243610
3 588.81 0.34194090
4 476.75 0.41024986
TABLE 6.3 – Performance sans nœud de secours (n ≤ 4)108 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
Nombre de nœuds Temps de calcul (ms) Énergie (mJ)
0 2308.70 0.06639066
1 2308.77 0.06639066
2 1159.01 0.16637882
3 1159.01 0.16637882
4 778.01 0.24765018
TABLE 6.4 – Performance avec nœuds de secours (n ≤ 4)
Nous pouvons constater que sans nœuds de secours, tous les nœuds disponibles
peuvent participer au calcul, le temps de calcul diminue progressivement avec l’augmentation
du nombre d’esclaves. La consommation totale d’énergie est proportionnelle au
nombre d’esclaves, car plus le nombre d’esclaves est élevé, plus l’échange de données
est fréquente.
Cependant, si nous utilisons les nœuds de secours, il n’y a que la moitié des nœuds
qui peuvent participer au calcul parallèle, et l’accélération du calcul devient moins effi-
cace. C’est la raison pour laquelle le temps de calcul ne diminue que lorsque le nombre
de nœuds est pair. Par contre, la consommation d’énergie avec les nœuds de secours
devient beaucoup moins importante.
FIGURE 6.3 – Parallélisation sans assez de nœuds disponibles (n ≤ 4)
Le nombre de nœuds utilisés est doublé lorsque notre méthode de tolérance aux pannes
est appliquée. Ainsi, seulement ⌊n/2⌋ nœuds peuvent participer au calcul, et il nous faut
plus de temps pour terminer le calcul. D’autre part, les nœuds de secours n’ont pas
besoin de communiquer avec le maître quand il n’y a pas de panne, et la consommation
totale d’énergie du cluster est moins élevée par rapport à celle du parallélisme sans nœud
de secours.
6.3.3/ TEST AVEC ASSEZ DE NŒUDS DISPONIBLES (n ≤ 8)
Dans le deuxième test, nous supposons que le cluster peut posséder jusqu’à 8 nœuds
disponibles. Le cluster-head peut toujours paralléliser la multiplication scalaire entre 4
esclaves, peu importe si notre méthode de tolérance aux pannes est utilisée.
Comme nous pouvons voir dans le tableau 6.5 et la figure 6.4, le maître a besoin d’un
peu plus de temps pour terminer complètement le calcul parallèle. Dans certains cas, il
y a une petite augmentation du surcoût de communication radio, car chaque esclave est6.3. SIMULATION ET ÉVALUATION DE PERFORMANCE 109
Nombre d’esclaves Temps de calcul (ms) Énergie (mJ)
0 2308.70 0.06639066
1 1159.01 0.16637882
2 778.01 0.24765018
3 589.20 0.34410666
4 477.27 0.43921380
TABLE 6.5 – Performance avec suffisamment de nœuds de secours (n ≤ 8)
surveillé par un nœud de secours, qui ont aussi besoin de recevoir des tâches du maître
et des résultats des esclaves. D’ailleurs, après la réception des résultats, le maître doit
attendre des avertissements éventuels avant de passer à la combinaison des résultats.
FIGURE 6.4 – Parallélisation avec assez de nœuds disponibles (n ≤ 8)
D’un point de vue global, la consommation d’énergie des 2 types de parallélisation s’accroît
proportionnellement avec l’augmentation du nombre d’esclaves. Car il existe suf-
fisamment de nœuds disponibles dans le cluster qui nous permettent de paralléliser le
calcul juqu’à 4 esclaves, même avec l’utilisation des nœuds de secours.
La différence de la consommation d’energie entre les 2 types de parallélisation est principalement
due au déploiement aléatoire des nœuds dans le cluster, les distances entre
les esclaves et les nœuds de secours ne sont pas toujours les mêmes.
6.3.4/ TEST EN PRÉSENCE DE PANNES
Pour le troisième test, nous supposons que nous avons toujours 4 esclaves opérationnels
et chacun possède un nœud de secours. Pendant le calcul parallèle, si un esclave n’arrive
plus à fonctionner correctement, il faudra que son nœud de secours puisse détecter
l’erreur et essaie de restaurer le calcul.
6.3.4.1/ RÉSULTAT ERRONÉ
Lorsqu’un nœud de secours détecte que l’esclave qu’il surveille envoie un résultat erroné,
il faut qu’il envoie immédiatement un avertissement au maître, qui va retraiter la
tâche correspondante localement. En comparant la performance (temps de calcul et la
consommation d’énergie) avec celle de la parallélisation sans détection de résultat erroné,
nous pouvons constater dans le tableau 6.6 et la figure 6.5 que quand il y a des110 CHAPITRE 6. TOLÉRANCE AUX PANNES POUR LE CALCUL PARALLÈLE
résultats erronés, le cluster a besoin de beaucoup plus de temps et d’énergie pour terminer
le calcul.
Nombre de résultats erronés Temps de calcul (ms) Énergie (mJ)
0 477.27 0.43921370
1 938.86 0.44161946
2 1400.44 0.44564062
3 1862.03 0.44965998
4 2323.61 0.45207022
TABLE 6.6 – Performance avec la détection de résultat erroné
FIGURE 6.5 – Parallélisation avec la détection de résultat erroné
Nous pouvons voir aussi que le temps de calcul s’accroît très vite avec l’augmentation
du nombre de résultats erronés. Quand il y a plus de 3 résultats erronés, le calcul parallèle
ne donne quasiment plus d’accélération. Contrairement au temps de calcul, la
consommation totale d’énergie augmente relativement moins rapidement, car la taille du
message d’avertissement est très petite, les valeurs de la consommation d’énergie est
toujours comprise entre 0.44 mJ et 0.45 mJ.
6.3.4.2/ RÉSULTAT PERDU
Un nœud de secours est aussi chargé de la détection de résultat perdu. Comme l’esclave
qu’il surveille, le nœud de secours doit traiter aussi la même tâche que son esclave.
Si l’esclave renvoie correctement son résultat au maître, celui du nœud de secours est
simplement supprimé. Dans le cas contraire, si l’esclave ne renvoie pas de résultat dans
un délais prédéfini, le nœud de secours doit envoyer sa copie locale du résultat au maître,
pour que ce dernier puisse continuer son travail.
Nombre de résultats perdus Temps de calcul (ms) Énergie (mJ)
0 477.27 0.43921370
1 517.27 0.43859930
2 517.27 0.47736890
3 517.27 0.49638458
4 517.27 0.47632058
TABLE 6.7 – Performance avec la détection de résultat perdu6.4. CONCLUSION 111
Dans le tableau 6.7, nous pouvons remarquer que le temps de calcul n’augmente plus
quand il y a plus d’un résultat perdu. Car même il y a plusieurs résultats perdus, les
nœuds de secours peuvent réagir simultanément, et le maître ne fait que prendre directement
les résultats des nœuds de secours.
Quand plus d’un résultat sont perdus, le simulateur donne toujours exactement le temps
de calul, car les résultats de simulation sont basés sur des formules et des paramètres
théoriques. En réalité, les conditions environnementales sont plus complexes, il y a très
peu de chance que les valeurs mesurées soient exactement les mêmes, mais normalement
elles sont censées être similaires.
FIGURE 6.6 – Parallélisation avec la détection de résultat perdu
Dans la figure 6.6, la variation de la consommation d’énergie est très irrégulière, car la
consommation d’énergie est calculée en fonction de la taille de message et la distance
entre les 2 nœuds. Les nœuds sont déployés d’une manière aléatoire, les distances entre
les nœuds de secours et le maître sont différentes.
6.4/ CONCLUSION
Après la simulation, nous pouvons voir que notre méthode de tolérance aux pannes a
bien atteint son objectif initial, qui est composé de 2 parties : la détection de pannes et
la restauration de fonctionnalités. Elle permet aux clusters de continuer à effectuer des
multiplications scalaires parallèles en cas de pannes.
Lorsque aucune panne n’est détectée durant le calcul parallèle, notre méthode ne donne
pas d’impact négatif important sur la performance du système. Cependant en cas de
pannes, les nœuds de secours vont prendre le relais des esclaves défectueux et continuer
à travailler sur les tâches qui leur sont affectées. Il faut qu’au final, le maître puisse
calculer et obtenir le résultat de la multiplication scalaire, même en sacrifiant significativement
la performance du système.
Les résultats de simulation ont montré qu’en ajoutant un nœud de secours par esclave,
nous avons pu doubler la fiabilité du système. Néanmoins les opérations de restauration
de fonctionnalité engendrent une augmentation de consommation importante. Pour prolonger
la durée de vie du réseau, il faut bien gérer l’utilisation de parallélisme. Comme
nous avons présenté dans le chapitre 4, le calcul parallèle ne doit être appliqué que
dans les cas urgents. Ainsi, on va envoyer un message sûr, rapide et sécurisé. Ce type
de système est principalement dédié aux applications critiques, comme les applications
militaires ou de surveillance.7
CONCLUSION
L’objectif de cette thèse était d’appliquer l’ECC dans les réseaux de capteurs sans fil
d’une manière efficace et sûre. La difficulté principale est d’effectuer des calculs compliqués
sur les nœuds qui disposent d’une puissance de calcul très limitée. Certes, ECC
offre un calcul plus rapide et une utilisation de clés plus courtes par rapport à RSA, mais
les calculs impliqués dans les protocoles cryptographiques restent toujours très complexes
pour les micro-contrôleurs. Après une étude détaillée de la cryptographie sur les
courbes elliptiques, nous avons constaté que l’opération la plus coûteuse est la multiplication
scalaire. De nombreuses méthodes existent dans la littérature, mais elles ne sont
pas suffisantes pour donner une accélération intéressante.
Une technique qui permet d’accélérer des calculs est le parallélisme, une tâche de calcul
est découpée en plusieurs parties indépendantes, qui peuvent être traitées en même
temps par des processeurs différents. Nous proposons donc de paralléliser les multiplications
scalaires entre plusieurs nœuds qui se situent dans le même cluster, car les ré-
seaux de capteurs qui sont basés sur le clustering sont prouvés plus efficaces en termes
de consommation d’énergie.
En outre, la cryptographie symétrique peut offrir un calcul plus rapide, mais il n’est pas
toujours facile de réaliser une distribution de clés à grande échelle dans un réseau de
capteurs qui peut contenir un très grand nombre de nœuds. Nous proposons de limiter
l’utilisation de la cryptographie symétrique à l’intérieur d’un cluster pour sécuriser la distribution
des tâches, mais entre les clusters, nous appliquons la cryptographie asymétrique
qui offre une gestion de clé plus sophistiquée.
Une spécificité importante des réseaux de capteurs est le déploiement massif et aléatoire
des nœuds. Dans une application de surveillance, il peut exister plusieurs nœuds
disponibles dans un cluster tant qu’aucun événement critique n’est détecté. Quand un
événement important est capturé par le réseau, il est plus intéressant de demander à
ces nœuds de coopérer collectivement pour générer un message bien chiffré le plus vite
possible. Dans cette thèse, nos travaux de recherche se concentrent principalement sur
la parallélisation des multiplications scalaires.
Comme les autres architectures de calcul parallèle, un inconvénient principal est la
consommation d’énergie. Nous avons implémenté et testé notre solution sur les nœuds
Telosb. Les résultats ont montré que nous pouvons obtenir un gain maximal de 74.8%. En
effet, les nœuds ne disposent d’aucune mémoire partagée, et la distribution des tâches
et la récupération des résultats sont obligées de passer par la communication radio, qui
engendre une consommation d’énergie importante. D’ailleurs, à cause du surcoût de la
communication, le nombre de nœuds participant au calcul doit être limité à moins de 5.
113114 CHAPITRE 7. CONCLUSION
Nous concluons que la parallélisation peut réaliser une accélération intéressante du calcul
des multiplications scalaires, mais cette technique risque de réduire considérablement
la durée de vie des nœuds, car la communication radio génère une consommation
d’énergie importante. Dans un réseau de capteurs, la parallélisation des multiplications
scalaires ne doit pas être utilisée comme un paradigme de calcul par défaut. Elle peut être
appliquée dans des applications de surveillance, dans lesquelles les nœuds demeurent
inactifs pendant la plupart du temps pour préserver l’énergie. Le calcul parallèle ne peut
être utilisé que dans les cas urgents où le réseau doit signaler à la station de base un
événement important, par exemple la détection d’une catastrophe naturelle dans une
application de surveillance environnementale.
Enfin la deuxième partie de la contribution traite de l’amélioration de notre solution de
parallélisation. Nous proposons de mettre en place des mécanismes de tolérance aux
pannes pour rendre la procédure du calcul parallèle plus fiable. L’application du parallélisme
au sein d’une architecture sans mémoire partagée nécessite une échange de
données via les connexions sans fil, qui sont souvent considérées comme un moyen de
communication non fiable. Notre solution permet aux nœuds de détecter des résultats
perdus ou erronés pendant le calcul parallèle, et de restaurer le calcul en cas de pannes.
Notre simulateur a donné des résultats qui montrent que la solution appliquée peut rendre
le calcul parallèle plus sûr sans avoir des impacts négatifs importants.
PERSPECTIVES
Pour l’instant, nos travaux de recherche se focalisent principalement sur la parallélisation
des multiplications scalaires, et l’implémentation que nous avons utilisé pendant le test de
performance peut être plus complète. En effet, elle permet de tester seulement la performance
des multiplications scalaire parallèles, mais pas celle de l’exécution d’un protocole
cryptographique complet. C’est pourquoi nous avons décidé d’essayer d’appliquer notre
solution de parallélisation dans le projet qui est présenté dans l’annexe 7. Cependant le
développement n’est pas encore terminé, nous allons donc continuer à travailler sur ce
projet pour obtenir des résultats plus significatifs.
Par ailleurs, dans notre implémentation actuelle, nous avons déjà appliqué certaines mé-
thodes mathématiques permettant d’améliorer la performance de la multiplication scalaire,
comme la représentation NAF du scalaire et l’utilisation des coordonnées jacobiennes.
Cependant, nous n’avons pas encore découvert tous les aspects de la courbe
elliptique, il reste encore d’autres techniques à voir et tester, par exemple la courbe Montgomery,
la courbe Koblitz, la méthode de la fenêtre. Notre technique de parallélisation
est basée sur le découpage du scalaire, qui peut théoriquement coexister avec les autres
méthodes, qui cherchent plutôt à modifier la représentation du scalaire ou la forme de la
courbe. Il sera plus intéressant de combiner le parallélisme avec d’autres techniques, et
de tester leur performance.
Un autre problème de notre solution de parallélisation est la consommation d’énergie,
qui est largement reconnue comme un facteur critique pour les réseaux de capteurs,
mais elle est aussi considérée comme un inconvénient inhérent du parallélisme, car plus
de processeurs sont impliqués dans le traitement des tâches. Cependant, nous allons
essayer de réduire la consommation d’énergie, qui peut influencer considérablement la
durée de vie des réseaux.LISTE DES PUBLICATIONS
1. Shou, Y. & Guyennet, H. A Fault Tolerant Parallel Computing Scheme for Scalar
Multiplication for Wireless Sensor Networks. Distributed Computing and Networking,
Springer LNCS, 2014, 8314, 317-331.
2. Shou, Y. ; Guyennet, H. & Lehsaini, M. Parallel Scalar Multiplication on Elliptic
Curves in Wireless Sensor Networks. Distributed Computing and Networking,
Springer LNCS, 2013, 7730, 300-314.
3. Faye, Y. ; Guyennet, H. ; Niang, I. & Shou, Y. Fast Scalar Multiplication on Elliptic
Curve Cryptography in Selected Intervals Suitable for Wireless Sensor
Networks. Cyberspace Safety and Security, Springer LNCS, 2013, 8300, 171-182.
4. Faye, Y. ; Guyennet, H. ; Niang, I. & Shou, Y. Optimisation d’un Protocole d’Authentification
dans les Réseaux de Capteurs Sans Fil. SAR-SSI 2012, 7ème
Conf. sur la sécurité des architectures réseaux et systèmes d’information, 2012.
5. Aupet, J.-B. ; Lapayre, J.-C. & Shou, Y. Adaptabilité des flux vidéo dans les logiciels
collaboratifs : Test de qualité par référence prédéfinie. Ubimob 2011, 7es
journée francophones Mobilité et Ubiquité, 2011, 96-108.
115BIBLIOGRAPHIE
[1] S Adve, Vikram S Adve, Gul Agha, Matthew I Frank, M Garzarán, J Hart, W Hwu,
R Johnson, L Kale, R Kumar, et al. Parallel computing research at illinois : The
upcrc agenda. Urbana, IL : Univ. Illinois Urbana-Champaign, 2008.
[2] Ian F Akyildiz, Weilian Su, Yogesh Sankarasubramaniam, and Erdal Cayirci. Wireless
sensor networks : a survey. Computer networks, 38(4) :393–422, 2002.
[3] ZigBee Alliance. Zigbee specification, 2006.
[4] Bijan Ansari and Huapeng Wu. Parallel scalar multiplication for elliptic curve cryptosystems.
In Communications, Circuits and Systems, 2005. Proceedings. 2005
International Conference on, volume 1, pages 71–73. IEEE, 2005.
[5] Paul Barrett. Implementing the rivest shamir and adleman public key encryption
algorithm on a standard digital signal processor. In Advances in cryptology—CRYPTO’86,
pages 311–323. Springer, 1987.
[6] Chakib Bekara and Maryline Laurent-Maknavicius. A new resilient key management
protocol for wireless sensor networks. In Information Security Theory and Practices.
Smart Cards, Mobile and Ubiquitous Computing Systems, pages 14–26. Springer,
2007.
[7] Luca Benini, Giuliano Castelli, Alberto Macii, Enrico Macii, Massimo Poncino, and
Riccardo Scarsi. A discrete-time battery model for high-level power estimation. In
Proceedings of the conference on Design, automation and test in Europe, pages
35–41. ACM, 2000.
[8] Ernest F Brickell, Daniel M Gordon, Kevin S McCurley, and David B Wilson. Fast
exponentiation with precomputation. In Advances in Cryptology—EUROCRYPT’92,
pages 200–207. Springer, 1993.
[9] Daniel R. L. Brown. Sec 1 : Elliptic curve cryptography, May 2009.
[10] Michael Brown, Darrel Hankerson, Julio López, and Alfred Menezes. Software implementation
of the NIST elliptic curves over prime fields. Springer, 2001.
[11] T Ryan Burchfield, S Venkatesan, and Douglas Weiner. Maximizing throughput
in zigbee wireless networks through analysis, simulations and implementations.
In Proc. Int. Workshop Localized Algor. Protocols WSNs, pages 15–29. Citeseer,
2007.
[12] Pamba Capochichi. Conception d’une architecture hiérarchique de réseau de capteurs
pour le stockage et la compression de données. PhD thesis, UFR des
Sciences et Techniques de l’Université de Franche-Comté, March 2010.
117118 BIBLIOGRAPHIE
[13] Mihaela Cardei, Shuhui Yang, and Jie Wu. Algorithms for fault-tolerant topology in
heterogeneous wireless sensor networks. Parallel and Distributed Systems, IEEE
Transactions on, 19(4) :545–558, 2008.
[14] Certicom. Certicom intellectual property. https://www.certicom.com/index.php/
\licensing/certicom-ip.
[15] Jinran Chen, Shubha Kher, and Arun Somani. Distributed fault detection of wireless
sensor networks. In Proceedings of the 2006 workshop on Dependability issues in
wireless ad hoc networks and sensor networks, pages 65–72. ACM, 2006.
[16] Chee-Yee Chong and Srikanta P Kumar. Sensor networks : evolution, opportunities,
and challenges. Proceedings of the IEEE, 91(8) :1247–1256, 2003.
[17] Garth V Crosby and Niki Pissinou. Cluster-based reputation and trust for wireless
sensor networks. In Consumer Communications and Networking Conference, 2007.
[18] Crossbow. Telosb mote platform, 2005.
[19] Crossbow. Micaz : Wireless measurement system, 2006.
[20] William M Daley and Raymond G Kammer. Digital signature standard (dss). Technical
report, DTIC Document, 2000.
[21] Christophe De Cannière. Trivium : A stream cipher construction inspired by block
cipher design principles. In Information Security, pages 171–186. Springer, 2006.
[22] Whitfield Diffie and Martin Hellman. New directions in cryptography. Information
Theory, IEEE Transactions on, 22(6) :644–654, 1976.
[23] Min Ding, Dechang Chen, Kai Xing, and Xiuzhen Cheng. Localized fault-tolerant
event boundary detection in sensor networks. In INFOCOM 2005. 24th Annual Joint
Conference of the IEEE Computer and Communications Societies. Proceedings
IEEE, volume 2, pages 902–913. IEEE, 2005.
[24] T. ElGamal. A public key cryptosystem and a signature scheme based on discrete
logarithms. In Advances in Cryptology, pages 10–18. Springer, 1985.
[25] Eleazar Eskin, Andrew Arnold, Michael Prerau, Leonid Portnoy, and Sal Stolfo. A
geometric framework for unsupervised anomaly detection. In Applications of data
mining in computer security, pages 77–101. Springer, 2002.
[26] Youssou Faye, Herve Guyennet, Ibrahima Niang, and Yanbo Shou. Fast scalar
multiplication on elliptic curve cryptography in selected intervals suitable for wireless
sensor networks. In Cyberspace Safety and Security, pages 171–182. Springer,
2013.
[27] Michael Flynn. Some computer organizations and their effectiveness. Computers,
IEEE Transactions on, 100(9) :948–960, 1972.
[28] Julien Franq. Conception et sécurisation d’unités arthmétiques hautes performances
pour courbes elliptiques. PhD thesis, Université des Sciences et Techniques
du Languedoc, Décembre 2009.BIBLIOGRAPHIE 119
[29] David Gay, Philip Levis, Robert Von Behren, Matt Welsh, Eric Brewer, and David
Culler. The nesc language : A holistic approach to networked embedded systems.
In Acm Sigplan Notices, volume 38, pages 1–11. ACM, 2003.
[30] Jorge Guajardo and Christof Paar. Efficient algorithms for elliptic curve cryptosystems.
Springer, 1997.
[31] Gaurav Gupta and Mohamed Younis. Fault-tolerant clustering of wireless sensor
networks. In Wireless Communications and Networking, 2003. WCNC 2003. 2003
IEEE, volume 3, pages 1579–1584. IEEE, 2003.
[32] Nils Gura, Arun Patel, Arvinderpal Wander, Hans Eberle, and SheuelingChang
Shantz. Comparing elliptic curve cryptography and rsa on 8-bit cpus. In Marc
Joye and Jean-Jacques Quisquater, editors, Cryptographic Hardware and Embedded
Systems - CHES 2004, volume 3156 of Lecture Notes in Computer Science,
pages 119–132. Springer Berlin Heidelberg, 2004.
[33] Dae-Man Han and Jae-Hyun Lim. Smart home energy management system using
ieee 802.15. 4 and zigbee. Consumer Electronics, IEEE Transactions on, 56(3) :
1403–1410, 2010.
[34] D.R. Hankerson, S.A. Vanstone, and A.J. Menezes. Guide to elliptic curve cryptography.
Springer-Verlag New York Inc, 2004.
[35] Wendi B Heinzelman, Anantha P Chandrakasan, and Hari Balakrishnan. An
application-specific protocol architecture for wireless microsensor networks. Wireless
Communications, IEEE Transactions on, 1(4) :660–670, 2002.
[36] Wendi Rabiner Heinzelman, Anantha Chandrakasan, and Hari Balakrishnan.
Energy-efficient communication protocol for wireless microsensor networks. In System
Sciences, 2000. Proceedings of the 33rd Annual Hawaii International Conference
on, pages 10–pp. IEEE, 2000.
[37] Jonathan W Hui and David Culler. The dynamic behavior of a data dissemination
protocol for network programming at scale. In Proceedings of the 2nd international
conference on Embedded networked sensor systems, pages 81–94. ACM, 2004.
[38] IEEE. Ieee standards 802.15.4 - part 15.4 : Wireless medium access control (mac)
and physical layer (phy) specifications for low-rate wireless personal area networks
(lr-wpans), October 2003.
[39] Nicholas Jansma and Brandon Arrendondo. Performance comparison of elliptic
curve and rsa digital signatures, April 2004.
[40] Don Johnson, Alfred Menezes, and Scott Vanstone. The elliptic curve digital signature
algorithm (ecdsa). International Journal of Information Security, 1(1) :36–63,
2001.
[41] P Johnson and DC Andrews. Remote continuous physiological monitoring in the
home. Journal of telemedicine and telecare, 2(2) :107–113, 1996.
[42] Chris Karlof and David Wagner. Secure routing in wireless sensor networks : Attacks
and countermeasures. Ad hoc networks, 1(2) :293–315, 2003.120 BIBLIOGRAPHIE
[43] Priit Karu and Jonne Loikkanen. Practical comparison of fast public-key cryptosystems.
In Telecommunications Software and Multimedia Lab. at Helsinki Univ. of
Technology, Seminar on Network Security. Citeseer, 2001.
[44] Neal Koblitz. Elliptic curve cryptosystems. Mathematics of computation, 48(177) :
203–209, 1987.
[45] Paul Kocher, Joshua Jaffe, and Benjamin Jun. Differential power analysis. In Advances
in Cryptology—CRYPTO’99, pages 388–397. Springer, 1999.
[46] Farinaz Koushanfar, Miodrag Potkonjak, and A Sangiovanni-Vincentell. Fault tolerance
techniques for wireless ad hoc sensor networks. In Sensors, 2002. Proceedings
of IEEE, volume 2, pages 1491–1496. IEEE, 2002.
[47] Farinaz Koushanfar, Miodrag Potkonjak, and Alberto Sangiovanni-vincentelli. Fault
tolerance in wireless sensor networks. In Handbook of Sensor Networks : Compact
Wireless and Wired Sensing Systems, 2004.
[48] Bhaskar Krishnamachari and Sitharama Iyengar. Distributed bayesian algorithms
for fault-tolerant event region detection in wireless sensor networks. Computers,
IEEE Transactions on, 53(3) :241–250, 2004.
[49] RSA Laboratories. Pkcs #1 : Rsa encryption standard, November 1993. URL ftp:
//ftp.rsasecurity.com/pub/pkcs/ascii/pkcs-1.asc.
[50] Koen Langendoen, Aline Baggio, and Otto Visser. Murphy loves potatoes. In Proc.
IPDPS, 2006.
[51] Laurie Law, Alfred Menezes, Minghua Qu, Jerry Solinas, and Scott Vanstone. An
efficient protocol for authenticated key agreement. Designs, Codes and Cryptography,
28(2) :119–134, 2003.
[52] Yee Wei Law, Jeroen Doumen, and Pieter Hartel. Survey and benchmark of block
ciphers for wireless sensor networks. ACM Transactions on Sensor Networks
(TOSN), 2(1) :65–93, 2006.
[53] Jin-Shyan Lee, Yu-Wei Su, and Chung-Chou Shen. A comparative study of wireless
protocols : Bluetooth, uwb, zigbee, and wi-fi. In Industrial Electronics Society, 2007.
IECON 2007. 33rd Annual Conference of the IEEE, pages 46–51. IEEE, 2007.
[54] Arjen K Lenstra and Eric R Verheul. Selecting cryptographic key sizes. Journal of
cryptology, 14(4) :255–293, 2001.
[55] Olivier Leran. Parallélisation d’un algorithme de chiffrement utilisant les courbes
elliptiques. Master’s thesis, Université de Franche-Comté, Décembre 2012.
[56] Philip Levis and David Culler. Maté : A tiny virtual machine for sensor networks. In
ACM Sigplan Notices, volume 37, pages 85–95. ACM, 2002.
[57] Philip Levis, Sam Madden, Joseph Polastre, Robert Szewczyk, Kamin Whitehouse,
Alec Woo, David Gay, Jason Hill, Matt Welsh, Eric Brewer, et al. Tinyos : An operating
system for sensor networks. In Ambient intelligence, pages 115–148. Springer,
2005.BIBLIOGRAPHIE 121
[58] Ning Li and Jennifer C Hou. Flss : a fault-tolerant topology control algorithm for
wireless networks. In Proceedings of the 10th annual international conference on
Mobile computing and networking, pages 275–286. ACM, 2004.
[59] Joshua Lifton, Mark Feldmeier, Yasuhiro Ono, Cameron Lewis, and Joseph A Paradiso.
A platform for ubiquitous sensor deployment in occupational and domestic
environments. In Information Processing in Sensor Networks, 2007. IPSN 2007.
6th International Symposium on, pages 119–127. IEEE, 2007.
[60] Chae Hoon Lim and Pil Joong Lee. More flexible exponentiation with precomputation.
In Advances in cryptology—CRYPTO’94, pages 95–107. Springer, 1994.
[61] Kris Lin, Jennifer Yu, Jason Hsu, Sadaf Zahedi, David Lee, Jonathan Friedman,
Aman Kansal, Vijay Raghunathan, and Mani Srivastava. Heliomote : enabling longlived
sensor networks through solar energy harvesting. In Proceedings of the 3rd
international conference on Embedded networked sensor systems, pages 309–309.
ACM, 2005.
[62] An Liu and Peng Ning. Tinyecc : A configurable library for elliptic curve cryptography
in wireless sensor networks. In Information Processing in Sensor Networks, 2008.
IPSN’08. International Conference on, pages 245–256. IEEE, 2008.
[63] Sergio Marti, Thomas J Giuli, Kevin Lai, and Mary Baker. Mitigating routing misbehavior
in mobile ad hoc networks. In Proceedings of the 6th annual international
conference on Mobile computing and networking, pages 255–265. ACM, 2000.
[64] K Martinez, P Padhy, A Riddoch, HLR Ong, and JK Hart. Glacial environment monitoring
using sensor networks. In In Proceedings of Real-World Wireless Sensor
Networks. Citeseer, 2005.
[65] David Martins. Sécurité dans les réseaux de capteurs sans fil - Stéganographie et
réseaux de confiance. PhD thesis, UFR des Sciences et Techniques de l’Université
de Franche-Comté, 2010.
[66] David Martins and Hervé Guyennet. Steganography in mac layers of 802.15. 4 protocol
for securing wireless sensor networks. In Multimedia Information Networking
and Security (MINES), 2010 International Conference on, pages 824–828. IEEE,
2010.
[67] James L Massey and Jimmy K Omura. Method and apparatus for maintaining the
privacy of digital messages conveyed by public transmission, January 28 1986. US
Patent 4,567,600.
[68] Marouane Mezzi. Réseaux de capteurs pou rla surveillance et la maintenance pré-
ventive d’une machine industrielle. Master’s thesis, Université de Franche-Comté,
Juin 2014.
[69] Victor S Miller. Use of elliptic curves in cryptography. In Advances in Cryptology—CRYPTO’85
Proceedings, pages 417–426. Springer, 1986.
[70] Sushruta Mishra, Lambodar Jena, and Aarti Pradhan. Fault tolerance in wireless
sensor networks. International Journal, 2(10) :146–153, 2012.122 BIBLIOGRAPHIE
[71] Atsuko Miyaji, Takatoshi Ono, and Henri Cohen. Efficient elliptic curve exponentiation.
In Proceedings of the First International Conference on Information and
Communication Security, pages 282–291. Springer-Verlag, 1997.
[72] Moteiv. Tmote sky : Ultra low power ieee 802.15.4 compliant wireless sensor module,
2005.
[73] James Newsome, Elaine Shi, Dawn Song, and Adrian Perrig. The sybil attack in
sensor networks : analysis & defenses. In Proceedings of the 3rd international
symposium on Information processing in sensor networks, pages 259–268. ACM,
2004.
[74] NIST. Recommended elliptic curves for federal government use, 1999. Available at
http://csrc.nist.gov/encryption.
[75] Vladimir Oleshchuk and Vladimir Zadorozhny. Trust-aware query processing in data
intensive sensor networks. In Proc. of International Conference on Sensor Technologies
and Applications (SensorComm 2007), 2007.
[76] Celal Ozturk, Yanyong Zhang, and Wade Trappe. Source-location privacy in energyconstrained
sensor network routing. In SASN, volume 4, pages 88–93, 2004.
[77] Bibhudendu Panda and Pabitra Mohan Khilar. Fpga based implementation of parallel
ecc processor. In Proceedings of the 2011 International Conference on Communication,
Computing & Security, pages 453–456. ACM, 2011.
[78] Emile M Petriu, Nicolas D Georganas, Dorina C Petriu, Dimitrios Makrakis, and
Voicu Z Groza. Sensor-based information appliances. Instrumentation & Measurement
Magazine, IEEE, 3(4) :31–35, 2000.
[79] Joseph Polastre, Robert Szewczyk, and David Culler. Telos : enabling ultra-low
power wireless research. In Information Processing in Sensor Networks, 2005.
IPSN 2005. Fourth International Symposium on, pages 364–369. IEEE, 2005.
[80] Madhura Purnaprajna, Christoph Puttmann, and Mario Porrmann. Power aware
reconfigurable multiprocessor for elliptic curve cryptography. In Design, Automation
and Test in Europe, 2008. DATE’08, pages 1462–1467. IEEE, 2008.
[81] Kefa Rabah. Elliptic curve elgamal encryption and signature schemes. Information
Technology Journal, 4(3) :299–306, 2005.
[82] Sutharshan Rajasegarar, Christopher Leckie, Marimuthu Palaniswami, and
James C Bezdek. Distributed anomaly detection in wireless sensor networks.
In Communication systems, 2006. ICCS 2006. 10th IEEE Singapore International
Conference on, pages 1–5. IEEE, 2006.
[83] Daler Rakhamtov and Sarma Vrudhula. Time-to-failure estimation for batteries in
portable electronic systems. In Proceedings of the 2001 international symposium
on Low power electronics and design, pages 88–91. ACM, 2001.
[84] Brian Randell, Pete Lee, and Philip C. Treleaven. Reliability issues in computing
system design. ACM Computing Surveys (CSUR), 10(2) :123–165, 1978.
[85] Jussi Rautpalo. Gprs security-secure remote connections over gprs. Technical University
of Helsinki, Department of Computer Science, referenced, 27 :2003, 2000.BIBLIOGRAPHIE 123
[86] Kui Ren, Tieyan Li, Zhiguo Wan, Feng Bao, Robert H Deng, and Kwangjo Kim.
Highly reliable trust establishment scheme in ad hoc networks. Computer Networks,
45(6) :687–699, 2004.
[87] Certicom Research. Sec 2 : Recommended elliptic curve domain parameters, September
2000.
[88] Vincent Ricquebourg, David Menga, David Durand, Bruno Marhic, Laurent Delahoche,
and Christophe Loge. The smart home concept : our immediate future. In
E-Learning in Industrial Electronics, 2006 1ST IEEE International Conference on,
pages 23–28. IEEE, 2006.
[89] Ronald L Rivest, Adi Shamir, and Len Adleman. A method for obtaining digital
signatures and public-key cryptosystems. Communications of the ACM, 21(2) :
120–126, 1978.
[90] Stanislav Rost and Hari Balakrishnan. Memento : A health monitoring system for
wireless sensor networks. In Sensor and Ad Hoc Communications and Networks,
2006. SECON’06. 2006 3rd Annual IEEE Communications Society on, volume 2,
pages 575–584. IEEE, 2006.
[91] Linnyer Beatrys Ruiz, Isabela G Siqueira, Hao Chi Wong, José Marcos S Nogueira,
Antonio AF Loureiro, et al. Fault management in event-driven wireless sensor networks.
In Proceedings of the 7th ACM international symposium on Modeling, analysis
and simulation of wireless and mobile systems, pages 149–156. ACM, 2004.
[92] Stanislav Safaric and Kresimir Malaric. Zigbee wireless standard. In Multimedia
Signal Processing and Communications, 48th International Symposium ELMAR-
2006, Zadar, Croatia, pages 259–262, 2006.
[93] Yasuyuki Sakai and Kouichi Sakurai. Efficient scalar multiplications on elliptic curves
without repeated doublings and their practical performance. In Information Security
and Privacy, pages 59–73. Springer, 2000.
[94] Sergei P Skorobogatov and Ross J Anderson. Optical fault induction attacks. In
Cryptographic Hardware and Embedded Systems-CHES 2002, pages 2–12. Springer,
2003.
[95] Jessica Staddon, Dirk Balfanz, and Glenn Durfee. Efficient tracing of failed nodes in
sensor networks. In Proceedings of the 1st ACM international workshop on Wireless
sensor networks and applications, pages 122–130. ACM, 2002.
[96] Frank Stajano and Ross Anderson. The resurrecting duckling : security issues for
ubiquitous computing. Computer, 35(4) :22–26, 2002.
[97] Robert Szewczyk, Alan Mainwaring, Joseph Polastre, John Anderson, and David
Culler. An analysis of a large scale habitat monitoring application. In Proceedings of
the 2nd international conference on Embedded networked sensor systems, pages
214–226. ACM, 2004.
[98] Robert Szewczyk, Joseph Polastre, Alan Mainwaring, and David Culler. Lessons
from a sensor network expedition. In Wireless Sensor Networks, pages 307–322.
Springer, 2004.124 BIBLIOGRAPHIE
[99] Ali Maleki Tabar, Arezou Keshavarz, and Hamid Aghajan. Smart home care network
using sensor fusion and distributed vision-based reasoning. In Proceedings of the
4th ACM international workshop on Video surveillance and sensor networks, pages
145–154. ACM, 2006.
[100] Jane Tateson, Christopher Roadknight, Antonio Gonzalez, Taimur Khan, Steve Fitz,
Ian Henning, Nathan Boyd, Chris Vincent, and Ian Marshall. Real world issues in
deploying a wireless sensor network for oceanography. In Workshop on Real-World
Wireless Sensor Networks REALWSN’05, 2005.
[101] John Thelen, Dann Goense, and Koen Langendoen. Radio wave propagation in potato
fields. In 1st Workshop on Wireless Network Measurements, volume 2, pages
331–338. Citeseer, 2005.
[102] Ben L Titzer, Daniel K Lee, and Jens Palsberg. Avrora : Scalable sensor network
simulation with precise timing. In Proceedings of the 4th international symposium
on Information processing in sensor networks, page 67. IEEE press, 2005.
[103] Gilman Tolle, Joseph Polastre, Robert Szewczyk, David Culler, Neil Turner, Kevin
Tu, Stephen Burgess, Todd Dawson, Phil Buonadonna, David Gay, et al. A macroscope
in the redwoods. In Proceedings of the 3rd international conference on
Embedded networked sensor systems, pages 51–63. ACM, 2005.
[104] Wim Van Eck. Electromagnetic radiation from video display units : an eavesdropping
risk ? Computers & Security, 4(4) :269–286, 1985.
[105] Maarten Van Steen. Distributed systems principles and paradigms. Network, 2 :28,
2004.
[106] Thiemo Voigt, Hartmut Ritter, and Jochen Schiller. Utilizing solar power in wireless
sensor networks. In Local Computer Networks, 2003. LCN’03. Proceedings. 28th
Annual IEEE International Conference on, pages 416–422. IEEE, 2003.
[107] Haodong Wang and Qun Li. Efficient implementation of public key cryptosystems
on mote sensors (short paper). In Information and Communications Security, pages
519–528. Springer, 2006.
[108] Xun Wang, Sriram Chellappan, Wenjun Gu, Wei Yu, and Dong Xuan. Search-based
physical attacks in sensor networks. In Computer Communications and Networks,
2005. ICCCN 2005. Proceedings. 14th International Conference on, pages 489–
496. IEEE, 2005.
[109] Anthony Wood and John A Stankovic. Denial of service in sensor networks. Computer,
35(10) :54–62, 2002.
[110] Peter Wright and Paul Greengrass. Spycatcher : The candid autobiography of a
senior intelligence officer. Viking New York, 1987.
[111] Zheng Yan, Peng Zhang, and Teemupekka Virtanen. Trust evaluation based security
solution in ad hoc networks. In Proceedings of the Seventh Nordic Workshop
on Secure IT Systems, volume 14, 2003.
[112] Jennifer Yick, Biswanath Mukherjee, and Dipak Ghosal. Wireless sensor network
survey. Computer networks, 52(12) :2292–2330, 2008.BIBLIOGRAPHIE 125
[113] Huafei Zhu, Feng Bao, and Robert H Deng. Computing of trust in wireless networks.
In Vehicular Technology Conference, 2004. VTC2004-Fall. 2004 IEEE 60th,
volume 4, pages 2621–2624. IEEE, 2004.APPLICATION D’ECC DANS UN
SYSTÈME DE SURVEILLANCE
ENVIRONNEMENTALE
Sommaire
.1 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
.1.1 Architecture du système . . . . . . . . . . . . . . . . . . . . . . . . . 128
.1.2 Processeur embarqué . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
.1.3 Réseau de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
.2 Problèmes de sécurité dans notre système . . . . . . . . . . . . . . . . . . . 130
.3 Application d’un cryptosystème basé sur ECC . . . . . . . . . . . . . . . . 131
.3.1 Configuration du cryptosystème . . . . . . . . . . . . . . . . . . . . . 132
.3.2 Protocole cryptographique . . . . . . . . . . . . . . . . . . . . . . . . 133
.3.3 Calcul parallèle des multiplications scalaires . . . . . . . . . . . . . . 134
.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
FIGURE 1 – Un système de purification d’eau alimenté par des panneaux solaires
Dans ce chapitre, nous présentons un projet d’un système de purification d’eau développé
en Chine (voir figure 1), dont le fonctionnement peut être surveillé à distance avec
un ensemble de capteurs. Pour sécuriser la communication entre les capteurs et la centrale
de contrôle, on a choisi le cryptosystème asymétrique ECC, qui peut offrir une performance
plus intéressante sur les systèmes embarqués. Afin d’accélérer le calcul, on a
intégré notre solution de parallélisation des multiplications scalaires.
127128 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE
.1/ PRÉSENTATION DU PROJET
.1.1/ ARCHITECTURE DU SYSTÈME
L’objectif du projet de développement d’un système de purification d’eau qui peut fonctionner
d’une manière autonome, et qui peut être contrôlé à distance. Les capteurs sont
mis en place pour surveiller l’état de fonctionnement, et une unité de communication est
aussi indispensable pour envoyer des données mesurées et recevoir des requêtes des
utilisateurs. L’architecture du système est illustrée dans la figure 2.
FIGURE 2 – Architecture de notre système de purification d’eau
Les panneaux solaires génèrent le courant continu et rechargent les batteries, un ondulateur
connecté aux batteries convertit le courant continu au courant alternatif de 220 volts
pour alimenter la pompe qui fait circuler l’eau.
Le projet peut être considéré comme un prototype et une expérimentation de l’Internet
des objets. Pour automatiser et faciliter la gestion du système, un micro-contrôleur et un
ensemble de capteurs sont mis en place pour surveiller les paramètres qui sont cruciaux
pour son bon fonctionnement :
– Capteur de luminosité : le capteur est installé sur un panneau solaire pour mesurer
le niveau de luminosité. Les panneaux convertissent le rayonnement solaire en énergie
électrique, il n’y a donc aucun intérêt de les laisser allumés quand le niveau de
luminosité est très faible.
– Capteur de température : Les batteries ne peuvent fonctionner que dans un intervalle
de température particulier. Notamment une température trop élevée peut provoquer
une incendie, même une explosion, il est donc indispensable de surveiller constamment
la température des batteries.
– Capteur de voltage et puissance : le voltage et la puissance sont aussi 2 paramètres
qui peuvent refléter l’état de fonctionnement du système. Un voltage ou une puissance
très faible en entrée signifie probablement une panne de batterie, et un voltage ou une.1. PRÉSENTATION DU PROJET 129
puissance de sortie instable peut éventuellement endommager la pompe. Si on détecte
des valeurs anormales, il faut arrêter immédiatement tout le système et envoyer un
avertissement à la centrale de contrôle.
Les capteurs sont reliés au micro-contrôleurs (MCU) qui est installé dans l’ondulateur, et il
est programmé pour récupérer les données mesurées et contrôler les autres composants
du systèmes. Pour envoyer des données et recevoir des requêtes, le micro-contrôleur est
connecté à une unité de transfert de données (DTU), qui peut se connecter à la centrale
de contrôle à distance via le réseau GPRS.
Grâce à la connexion entre la centrale et le DTU, l’utilisateur peut programmer à distance
les horaires de fonctionnement des panneaux solaires, éteindre ou allumer des panneaux
et interroger un panneau spécifique pour récupérer les paramètres surveillés à n’importe
quel moment.
.1.2/ PROCESSEUR EMBARQUÉ
Le micro-contrôleur utilisé est un modèle amélioré du micro-contrôleur MSC-51, qui est
un modèle initialement développé par Intel dans les années 80. Il est réputé pour sa
fiabilité et sa simplicité d’utilisation, et les développeurs peuvent programmer directement
en C standard. De ce fait, les autres modèles compatibles et améliorés continuent à sortir,
sont encore largement utilisés dans l’industrie.
Une comparaison des caractéristiques techniques principales avec le micro-contrôleur TI
MSP430 utilisé par Telosb est donnée dans le tableau 1.
MSC-51 MSP430
Fréquence : 12 MHz 8 MHz
RAM : 512 Octets 10 Ko
ROM : 16 Ko 48 Ko
TABLE 1 – Comparaison des caractéristiques techniques entre MSC-51 et MSP430
Nous pouvons constater que MCS-51 peut fonctionner un peu plus vite que MSP430,
mais il possède beaucoup moins de RAM et de ROM. La ROM est MCS-51 peut être
étendue jusqu’à 64 Ko, mais la consommation de mémoire devient tout de même un
facteur critique lors du développement pour ce modèle de micro-contrôleur.
.1.3/ RÉSEAU DE CAPTEURS
Dans un site de purification d’eau, on installe souvent plusieurs panneaux solaires, et
chacun est surveillé par un groupe de capteurs qui sont directement contrôlés par le
processeur (micro-contrôleur) installé dans l’ondulateur. D’ailleurs, pour pouvoir envoyer
et recevoir des données, il faut avoir au moins un DTU connecté. Le DTU est équipé d’une
carte SIM qui lui permet d’accéder aux réseaux de l’opérateur de téléphonie mobile, et la
transmission de données génère sans doute des frais supplémentaires. Pour une raison
de coût de maintenance, on n’installe qu’un seul DTU pour un groupe de processeurs.
Les processeurs sont reliés ensemble, et les capteurs constituent un véritable réseau de
capteurs (voir figure 3).130 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE
FIGURE 3 – Réseau de capteurs de notre système de purification d’eau
Les capteurs mesurent périodiquement des paramètres physiques, qui sont ensuite envoyés
au processeur correspondant. Le processeur vérifie s’il a un DTU connecté, si
oui, il lui envoie directement les données, sinon, les données sont d’abord envoyées au
processeur possédant la connexion avec DTU avant d’être renvoyées au DTU.
Le DTU est un dispositif paramétrable, dans lequel on peut stocker les informations né-
cessaires pour établir une connexion avec la centrale, comme l’adresse IP du serveur,
numéro de port, mode de connexion (TCP/UDP) etc. Les données sont envoyées à la
station de base via le réseau GPRS, et puis arrivées à la centrale en passant par Internet.
Dans l’autre sens, l’utilisateur peut éteindre ou rallumer un composant spécifique en envoyant
des requêtes aux processeurs à distance. Lorsque le DTU reçoit une requête, il
l’envoie au processeur connecté, qui s’occupe de la redistribution de requêtes, s’il s’agit
d’un autre processeur sur le réseau.
.2/ PROBLÈMES DE SÉCURITÉ DANS NOTRE SYSTÈME
Dans notre système, l’envoi de données et de requêtes est réalisé via une connexion
sans fil entre le DTU et la centrale de contrôle. Les données doivent passer par 2 réseaux
différents : Internet et le réseau GPRS qui est fourni par l’opérateur de téléphonie mobile.
La communication dans le réseau GPRS est sécurisée avec les algorithmes SRES1 et
GEA2
[85], qui peuvent offrir un niveau de sécurité assez élevé. Cependant, une fois les
données entrent sur Internet, il n’existe aucun mécanisme de sécurité inhérent pour les
protéger contre l’attaquant de l’homme du milieu (voir figure 3).
L’objectif du projet est de développer un système qui peut fonctionner d’une manière au-
1. Signed Response for Subscriber Authentication
2. GPRS Encryption Algorithm.3. APPLICATION D’UN CRYPTOSYSTÈME BASÉ SUR ECC 131
tonome, car ce genre de systèmes sont souvent installé en banlieue où une intervention
humaine n’est pas toujours très facile. Il est donc indispensable de mettre en place des
mécanismes de sécurité pour protéger les équipements et l’échange de données.
Le DTU lui-même ne détient aucun cryptosystème par défaut, si les données ne sont pas
correctement chiffrées, l’attaquant pourra intercepter facilement les données qui circulent
entre la centrale et le DTU, et lancer des attaques de réplication de données et de vol
d’identité.
FIGURE 4 – Attaques dans notre système de purification d’eau
Pendant l’envoi de données mesurées, comme la communication n’est pas sécurisée,
l’attaquant peut accéder à toutes les données qui circulent entre les 2 parties (voir fi-
gure 4).
Comme les données contiennent des informations qui représentent l’état de fonctionnement
des équipements à distance, l’attaquant peut les modifier et renvoyer à l’utilisateur
pour déclencher une fausse alarme. L’attaquant peut aussi lancer des attaquants de ré-
plication de données. Il peut saboter les équipements en rediffusant les données qu’il a
intercepté auparavant pour faire croire à l’utilisateur que tout se passe bien à distance.
Les attaques pendant l’envoie de requêtes peuvent aussi représenter une menace sé-
rieuse au système. Chaque commande est représentée par une suite d’octets prédéfinie,
en faisant des analyses, l’attaquant peut deviner les usages des commandes envoyées.
Même les requêtes sont chiffrées, l’attaquant peut les intercepter et réutiliser sans chercher
à déchiffrer les messages. Par exemple, l’attaquant peut répéter des requêtes pour
éteindre et rallumer consécutivement les panneaux à distance pour les endommager.
Par conséquent, comme tous les réseaux, notre réseau de capteur est aussi vulnérable
aux différentes attaques, il faut donc concevoir et appliquer des mécanismes de sécurité
pour le protéger.
.3/ APPLICATION D’UN CRYPTOSYSTÈME BASÉ SUR ECC
Afin de protéger la communication entre la centrale de contrôle et le DTU, nous avons
proposé d’implémenter un cryptosystème qui est basé sur l’ECC [69, 44], qui offre un
ensemble de protocoles cryptographiques sophistiqués (voir section 3.4). Comme ceux
d’Elgamal [24] qui nous permettent de chiffrer et de signer un message.
Cependant, pour utiliser les protocoles d’Elgamal, il faut d’abord trouver un algorithme132 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE
qui peut convertir le message à chiffrer à un point sur la courbe elliptique et vice versa.
C’est faisable et il existe aussi des algorithmes dans la littérature, mais l’utilisation d’un
tel algorithme implique aussi beaucoup plus de calculs mathématiques. Pour une raison
de performance, dans la plupart des cas, on utilise plutôt un mécanisme hybride, dans
lequel on utilise un algorithme de cryptographie asymétrique pour générer une clé secrète
partagée, comme celui de Diffie-Hellman [22], ensuite on utilise un algorithme de
cryptographie symétrique pour chiffrer le message. C’est aussi la stratégie choisie par le
protocole ECIES (voir section 3.4.2).
Pour notre projet, nous voulons que dans un premier temps le cryptosystème puisse
atteindre les objectifs suivants :
– Confidentialité : Les données qui circulent entre la centrale et le DTU sont correctement
chiffrées et ne sont pas accessibles à l’attaquant ;
– Fraîcheur : Les données sont chiffrées avec un nonce et un horodatage (timestamp en
Anglais) pour contre les attaques de réplication de données ;
– Authentification : Il faut que le récepteur du message puisse vérifier l’identité de l’envoyeur.
Dans notre système, les données circulent directement entre la centrale et le DTU sans
passer par une tierce partie, afin d’authentifier les messages reçus, au lieu d’implémenter
le protocole de signature numérique ECDSA (voir section 3.4.3) qui est sans doute
une procédure trop coûteuse pour les micro-contrôleurs, on a décidé d’utiliser des codes
d’authentification de message (MAC) qui peuvent être générés à partir de la clé secrète
partagée.
.3.1/ CONFIGURATION DU CRYPTOSYSTÈME
On suppose que la centrale de contrôle et le micro-contrôleur qui est connecté au DTU
possèdent chacun une clé privée et une clé publique (kc, Kc) et (kd, Kd) où kc, kd sont
2 nombres entiers de longueur 160. Les clés du micro-contrôleur sont chargées avant
le déploiement, et celles de la centrale sont stockées sur un serveur qui peuvent être
changées au cours du fonctionnement.
La centrale et les micro-contrôleurs partagent la même courbe elliptique définie sur un
corps premier fini Fp, les paramètres de la courbes à configurer sont donnés dans le
tableau 6.1.
Pour accélérer le calcul des multiplications scalaires sur les micro-contrôleurs, on veut
appliquer aussi notre solution de parallélisation, selon le test de performance (voir tableau
4.9), afin de paralléliser le calcul entre jusqu’à 4 processeurs, il faut précalculer et
stocker au moins 3 points.
La consommation de mémoire pour stocker les paramètres est montrée dans le tableau
6.2, plus les clés (kd, Kd), la quantité totale de mémoire nécessaire est 333 octet.
Nous pouvons constater que le nombre total d’octets ne dépasse pas la taille maximale
de ROM du micro-contrôleur MSC-51..3. APPLICATION D’UN CRYPTOSYSTÈME BASÉ SUR ECC 133
.3.2/ PROTOCOLE CRYPTOGRAPHIQUE
Chaque fois quand le DTU se connecte à la centrale de contrôle, il demande et télécharge
la clé publique Kc de la centrale. Si la centrale veut changer ses clés, il suffira de couper
la connexion actuelle, et le DTU va recréer la connexion et redemander la nouvelle clé
publique.
Quand le micro-contrôleur veut chiffrer et envoyer un message m à la centrale, il effectue
les opérations suivantes :
1. Générer un nombre entier aléatoire r ∈ [1, n − 1] et calculer R = r · G ;
2. Calculer le secret partagé P = (Px, Py) = r · Kc ;
3. Générer la clé partagée s = KDF(Px) ;
4. Chiffrer le message c = E(s, (m, o, t)) où o est le nonce et t est l’horodatage ;
5. Générer le code d’authentification de message a = MAC(s, c) ;
6. Envoyer (R, c, a) à la centrale ;
KDF() est une fonction de génération de clé, MAC() une fonction de génération du code
d’authentification, et E() est un algorithme de cryptographie symétrique.
Quand la centrale reçoit le message (R, c, a), il essaie de le déchiffrer et authentifier en
effectuant la procédure suivante :
1. Calculer le secret partagé P = (Px, Py) = kc · R = kc · r · G = r · Kc ;
2. Générer la clé partagée s = KDF(Px) ;
3. Générer le code d’authentification de message a
′ = MAC(s, c) ;
4. Déchiffrer le message (m, o, t) = E
−1
(s, c) ;
5. Comparer o et t avec le nonce n
′ et l’horodatage t
′
locaux ;
6. Rejeter le message si n , n
′ + 1 ou t ≤ t
′
;
7. Rejeter le message si a , a
′
;
Quand la centrale veut envoyer une requête au micro-contrôleur à distance, il demande
d’abord sa clé publique Kd, et la suite de la procédure est identique que celle présentée
ci-dessus.
On suppose que l’attaquant possède l’accès à l’ensemble de paramètres de la courbe
utilisée (p, a, b,G, n), et il peut aussi capturer le message (R, c, a) envoyé par le DTU.
Comme il est extrêmement difficile de calculer r à partir de R, il ne peut pas calculer le
clé partagée s pour déchiffrer le message c. Il ne peut pas modifier le message chiffré c
non plus, car le code d’authentification a est généré avec la clé partagée s et le message
chiffré c, un c modifié ne peut pas passer le test d’authentification.
D’ailleurs, l’attaquant ne peut réutiliser aucune des valeurs capturées. Les calculs de R
et de a sont basés sur la même valeur r, qui n’est pas accessible à l’attaquant, et le
message lui-même est protégé par un nonce o et un horodatage t, une réutilisation de
message capturé sera détectée par le système.134 APPLICATION D’ECC DANS UN SYSTÈME DE SURVEILLANCE
.3.3/ CALCUL PARALLÈLE DES MULTIPLICATIONS SCALAIRES
Durant le chiffrement et le déchiffrement, chaque participant a une multiplication scalaire
à effectuer, dans le chapitre 4, nous avons proposé une technique qui nous permet de
paralléliser le calcul des multiplication scalaires en découpant le scalaire en plusieurs
parties. Nous avons choisi la parallélisation avec des points précalculés dont la procédure
est illustrée dans la figure 4.9, car la préparation des points en temps réel nécessite des
calculs compliqués.
FIGURE 5 – Application de la parallélisation des multiplications scalaires
Le micro-contrôleur qui est connecté au DTU est considéré comme le processeur maître,
et quand il veut effectuer une multiplication scalaire parallèle, il exécute des opérations
suivantes :
1. Il envoie une demande de participation à tous les micro-contrôleurs connectés ;
2. Les micro-contrôleurs qui sont disponibles deviennent des esclaves en lui retournant
des réponses positives ;
3. En fonction du nombre d’esclaves n, le maître génère un ensemble de tâches ti
, i ∈
[0, n − 1] en découpant le scalaire ;
4. Le maître envoie des tâches ti aux esclaves, et le traitement des tâches commence ;
5. Après le traitement, les esclaves retournent les résultats ri
, i ∈ [0, n − 2] au maître ;
6. Le maître calcule le résultat final R =
Pn
i=0
ri
.
Par exemple, il y a 4 micro-contrôleurs qui sont sur le même réseau, et les points pré-
calculés 2
40G, 2
80G, 2
120G sont déjà chargés en mémoire avant le déploiement. Quand le
micro-contrôleur maître veut lancer le calcul parallèle, il découpe le scalaire en 4 parties
P159
i=120 ki2
i
,
P119
i=80 ki2
i
,
P79
i=40 ki2
i et P39
i=0
ki2
i
, qui sont distribuées aux esclaves. Une fois le
traitement des tâches est terminée, les résultats sont retournés au maître pour former le
résultat final P3
j=0
P40 j+40−1
i=40 j
ki2
i
· 2
40 jG (voir figure 5).
.4/ CONCLUSION
Ce projet est une expérimentation de la parallélisation des multiplications scalaires au
sein d’un véritable réseau de capteurs. La transmission de données et la manipulation.4. CONCLUSION 135
des panneaux solaires sont déjà opérationnelles, mais le développement de la partie
cryptographique est toujours en cours, où nous étudions la possibilité d’implémenter le
protocole de signature numérique ECDSA.DÉROULEMENT DE L’ALGORITHME
D’EUCLIDE ÉTENDU
Dans cette annexe, nous montrons un exemple de calcul de l’inverse modulaire en utilisant
l’algorithme d’Euclide étendu. Nous supposons que nous avons 2 nombres entiers
2013 et 313, nous appliquons d’abord l’algorithme d’Euclide pour calculer leur PGCD.
Dividende - Quotient × Diviseur = Reste
2013 − 6 × 313 = 135
313 − 2 × 135 = 43
135 − 3 × 43 = 6
43 − 7 × 6 = 1
6 − 6 × 1 = 0
TABLE 2 – Exemple de l’algorithme d’Euclide
Nous prenons le dernier reste avant le zéro, le PGCD(2013, 313) = 1, c’est-à-dire que 2013
et 313 sont premier entre eux. Nous pouvons voir que à partir de la 2e
ligne, le diviseur
est le reste de la ligne précédente, et à partir de la 3e
ligne, le dividende est égal au reste
obtenu 2 ligne plus haut. Nous pouvons donc réécrite le tableau 2 de la manière suivante.
u × x + v × p = r
1 × 2013 + 0 × 313 = 2013
0 × 2013 + 1 × 313 = 313
1 × 2013 − 6 × 313 = 2013 − 6 × 313 = 135
−2 × 2013 + 7 × 313 = 313 − 2 × 135 = 313 − 2 × (2013 − 6 × 313) = 43
7 × 2013 − 27 × 313 = 135 − 3 × 43 = (2013 − 6 × 313) − 3 × (−2 × 2013 + 7 × 313) = 6
−51 × 2013 + 196 × 313 = 43 − 7 × 6 = (−2 × 2013 + 7 × 313) − 7 × (7 × 2013 − 27 × 313) = 1
TABLE 3 – Exemple de l’algorithme d’Euclide étendu
Nous obtenons dans le tableau 3 les coefficients de Bézout u×x+v×p = −51×2013+196×
313 = 1, nous avons donc l’inverse multiplicatif de 2013 modulo 313 est égal à −51, noté
−51 ≡ 2013−1
(mod 313). Maintenant il nous suffit appliquer encore une fois l’opération
modulo pour limiter le résultat dans l’intervalle [0, 312], c’est-à-dire 262 ≡ −51 (mod 313).
137Résumé :
L’émergence des systèmes embarqués a permis le développement des réseaux de capteurs sans
fil dans de nombreux domaines différents. Cependant, la sécurité reste un problème ouvert. La
vulnérabilité des nœuds est principalement liée au manque de ressources. En effet, l’unité de
traitement ne dispose pas d’assez de puissance et de mémoire pour gérer des mécanismes de
sécurité très complexes.
La cryptographie est une solution qui est largement utilisée pour sécuriser les réseaux. Par rapport
à la cryptographie symétrique, la cryptographie asymétrique nécessite des calculs plus compliqués,
mais elle offre une distribution de clés plus sophistiquée et la signature numérique.
Dans cette thèse, nous essayons d’optimiser la performance d’ECC (Elliptic Curve Cryptography), un
cryptosystème asymétrique qui est connu pour sa robustesse et son utilisation de clé plus courte par
rapport à RSA. Nous proposons d’utiliser le parallélisme pour accélérer le calcul de la multiplication
scalaire, qui est reconnue comme l’opération la plus coûteuse sur les courbes elliptiques. Les
résultats de tests ont montré que notre solution offre un gain intéressant malgré une augmentation
de la consommation d’énergie.
La deuxième partie de la contribution concerne l’application de la tolérance aux pannes dans notre
architecture de parallélisation. Nous utilisons les nœuds redondants pour la détection des pannes et
la restauration du calcul. Ainsi, en utilisant l’ECC et la tolérance aux pannes, nous proposons une
solution de sécurité efficace et sûre pour les systèmes embarqués.
Mots-clés : Réseaux de capteurs sans fil, sécurité, cryptographie, courbe elliptique, parallélisme, tolérance
aux pannes
Abstract:
The emergence of embedded systems has enabled the development of wireless sensor networks in
different domains. However, the security remains an open problem. The vulnerability of sensor nodes
is mainly due to the lack of resources. In fact, the processing unit doesn’t have enough power or
memory to handle complex security mechanisms.
Cryptography is a widely used solution to secure networks. Compared with symmetric cryptography,
the asymmetric cryptography requires more complicated computations, but it offers more
sophisticated key distribution schemes and digital signature.
In this thesis, we try to optimize the performance of ECC. An asymmetric cryptosystem which is
known for its robustness and the use of shorter keys than RSA. We propose to use parallelism
techniques to accelerate the computation of scalar multiplications, which is recognized as the most
computationally expensive operation on elliptic curves. The test results have shown that our solution
provides a significant gain despite an increase in energy consumption.
The 2nd part of our contribution is the application of fault tolerance in our parallelism architecture.
We use redundant nodes for fault detection and computation recovery. Thus, by using ECC and fault
tolerance, we propose an efficient and reliable security solution for embedded systems.
Keywords: Wireless sensor networks, security, cryptography, elliptic curve, parallelism, fault tolerance
Conception interactive d’environnements urbains
durables `a base de r´esolution de contraintes
Bruno Belin
To cite this version:
Bruno Belin. Conception interactive d’environnements urbains durables `a base de r´esolution de
contraintes. Modeling and Simulation. Universit´e de Nantes, 2014. French.
HAL Id: tel-01095433
https://hal.archives-ouvertes.fr/tel-01095433
Submitted on 15 Dec 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.Thèse de Doctorat
Bruno BELIN
Mémoire présenté en vue de l’obtention du
grade de Docteur de l’Université de Nantes
sous le label de l’Université de Nantes Angers Le Mans
École doctorale : Sciences et technologies de l’information, et mathématiques
Discipline : Informatique et applications, section CNU 27
Unité de recherche : Laboratoire d’informatique de Nantes-Atlantique (LINA)
Soutenue le 27 novembre 2014
Conception interactive d’environnements
urbains durables à base de résolution de
contraintes
JURY
Rapporteurs : M. Gilles TROMBETTONI, Professeur des Universités, Université de Montpellier 2
M. Emmanuel PRADOS, Chargé de Recherche INRIA, HdR, INRIA Grenoble - Rhône-Alpes
Examinateurs : M. Frédéric SAUBION, Professeur des Universités, Université d’Angers
M. Etienne GAUDIN, Directeur Innovation, Groupe Bouygues
M. Marc CHRISTIE, Maître de conférences (Co-encadrant), Université de Rennes 1
Mme Charlotte TRUCHET, Maître de conférences (Co-encadrante), Université de Nantes
Directeur de thèse : M. Frédéric BENHAMOU, Professeur des Universités, Université de NantesRemerciements
Recherche un jour, recherche toujours : commençons par remercier mes initiateurs à la Recherche, en
somme les deux responsables de toute cette histoire :
• Christophe JERMANN, Colin DE LA HIGUERA.
Toujours là pour assurer le combat, prenons maintenant la direction du LINA :
• Pierre COINTE, Anne-Françoise QUIN, Annie BOILOT, Jean-Paul SACHET ;
• Élodie GUIDON, Floriane PIQUET, Christine BRUNET.
Lorsque mon PC a bobo, ou que les imprimantes restent muettes, on les retrouve jusqu’à la cafette :
• Damien VINTACHE, Jean-Yves LEBLIN, S@bine BEAURAIN.
Tous au restaurant U, c’est le repère des doctorants U :
• mes collègues doctorants actuels qui devraient bientôt me demander des conseils ;
• les anciens qui m’ont donné des conseils d’anciens ;
• et l’unique, la formidable, l’inoubliable Marie PELLEAU bien-sûr.
Pause, là c’est l’heure du bon café, des conseils et recommandations en tout genre, des présentations scientifiques,
des choses qui ne s’inventent pas tout seul :
• tous mes collègues de l’équipe TASC ;
• Éric LANGUENOU, Florian RICHOUX et Benoît DELAHAYE.
Évoquons maintenant mes partenaires durables, ceux impliqués avec moi dans le projet de recherche SUSTAINS
:
• Élisabeth POINTAL et Frédéric VERNIER du LIMSI : Google Map, et c’est par là que tout commença ;
• Julian JOSEPH de l’Université Rennes 1 : SOS C++, vous êtes toujours là ?
• Valérie GACOGNE, Bernard COUTROT et Michel FANNI : trois mousquetaires des villes modernes ;
• Erwan MAHÉ, Romain CAVAGNA, David KNOSSOW : les gars d’Artefacto qui font les plans les plus
beaux (villes en 3D).
Et pour finir, mes Boss de ces trois dernières années qui m’ont fait bosser, bosser et bosser : mais ça c’est
normal pour un Boss, non ? Ils ont bien mérité une ligne dédiée :
• Frédéric BENHAMOU ;
• Charlotte TRUCHET ;
• Marc CHRISTIE.
Je remercie également mes rapporteurs qui ont accepté d’évaluer ce manuscrit et l’ensemble de mon jury
qui me fait l’honneur de s’intéresser aux travaux de cette thèse.
Et pour tous ceux que j’aurai oublié de citer, qui que vous soyez, un grand merci !
Un tout dernier mot pour me faire pardonner de mes absences répétées auprès de mes amis, de ma famille,
de ma femme et mes trois filles adorées.
3Table des matières
1 Introduction 11
1.1 Contexte général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Objectifs et contributions de cette thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Plan de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
I Contexte 17
2 Urbanisme 19
2.1 Qu’est-ce qu’une ville ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 La ville perçue comme une entité vivante . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 De la ville à l’aire urbaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 L’urbanisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Naissance de l’urbanisme moderne et applications pratiques . . . . . . . . . . . . . . . . 23
2.6 Conséquences des politiques successives . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.7 Théories urbaines après l’urbanisme moderne . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8 Formes et structures de la ville contemporaine . . . . . . . . . . . . . . . . . . . . . . . . 27
2.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3 Développement durable 29
3.1 Enjeux d’un développement soutenable sur le long terme . . . . . . . . . . . . . . . . . . 29
3.2 Dimensions urbaines du développement durable . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Enjeux à l’export du savoir-faire français en matière de ville durable . . . . . . . . . . . . 34
3.4 La voiture au cœur d’une nouvelle révolution industrielle ? . . . . . . . . . . . . . . . . . 35
3.5 Utopies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5.1 Une « Utopie Concrète » pour Paris . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5.2 La « Ville Creuse » : un exemple de ville idéale . . . . . . . . . . . . . . . . . . . 38
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4 Cadre méthodologique et problématique 43
4.1 Synthèse des éléments contextuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Articulations entre urbanisme et développement durable . . . . . . . . . . . . . . 43
4.1.2 Un champ d’application moteur de la recherche théorique . . . . . . . . . . . . . 44
4.2 Le cadre méthodologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2.1 Un carroyage symbolique régulier . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2.2 L’îlot comme unité de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2.3 Résolution optimale et résolution interactive . . . . . . . . . . . . . . . . . . . . . 48
4.2.4 Positionnement de la PPU par rapport aux plateformes de conception urbaine existantes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
56 TABLE DES MATIÈRES
4.3 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3.1 Proposer un modèle de pré-programmation urbaine . . . . . . . . . . . . . . . . . 49
4.3.2 Rechercher une bonne organisation spatiale de la ville à partir du modèle de PPU
dans un contexte batch ou interactif . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.3 Imaginer une interaction avec l’utilisateur capable de maintenir la cohérence globale
d’une solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.4 Méthode générale de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
II État de l’art 53
5 Problèmes d’optimisation combinatoire sous contraintes 55
5.1 Caractéristiques des problèmes combinatoires . . . . . . . . . . . . . . . . . . . . . . . . 56
5.1.1 Problème d’optimisation combinatoire . . . . . . . . . . . . . . . . . . . . . . . . 56
5.1.2 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.1.3 Problèmes de satisfaction de contraintes . . . . . . . . . . . . . . . . . . . . . . . 58
5.1.4 Problèmes d’optimisation sous contraintes . . . . . . . . . . . . . . . . . . . . . . 59
5.1.5 Problèmes d’optimisation dynamique sous contraintes . . . . . . . . . . . . . . . 60
5.2 Résolution des problèmes d’optimisation combinatoire . . . . . . . . . . . . . . . . . . . 60
5.2.1 Panorama des méthodes complètes . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.2 Panorama des méthodes incomplètes . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.3 Discussion sur le choix d’une méthode de résolution . . . . . . . . . . . . . . . . . . . . 65
5.4 Programmation par contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.4.1 Principes de la PPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.4.2 Complément sur les contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.4.3 Résolution des DCSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4.4 Résolution des CSOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.5 Heuristiques de construction (approchées) . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.5.1 Algorithmes gloutons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.5.2 Algorithmes gloutons aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.6 Métaheuristiques à base de voisinages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.6.1 Généralités sur les métaheuristiques . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.6.2 Métaheuristiques de voisinage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.6.3 Concepts communs aux métaheuristiques de RL . . . . . . . . . . . . . . . . . . 77
5.6.4 Méthodes de descente (Simple Improvement-based Local Search) . . . . . . . . . 80
5.6.5 Mécanismes d’intensification et de diversification . . . . . . . . . . . . . . . . . . 81
5.6.6 Recherche Locale Itérée (Iterated Local Search, ILS) . . . . . . . . . . . . . . . . 83
5.6.7 Recuit Simulé (Simulated Annealing, SA) . . . . . . . . . . . . . . . . . . . . . . 83
5.6.8 Recherche Tabou (Tabu Search, TS) . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.6.9 Adaptive Search (AS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.6.10 Autres métaheuristiques obtenues par recombinaison de méthodes simples . . . . . 89
5.6.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.7 Métaheuristiques parallèles (à base de voisinage) . . . . . . . . . . . . . . . . . . . . . . 90
5.7.1 Évaluation concurrente des voisins . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.7.2 Décomposition de domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.7.3 Recherche multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95TABLE DES MATIÈRES 7
5.8 Environnements logiciel et cadre générique . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.8.1 Les origines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.8.2 Bibliothèques et frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6 Systèmes interactifs d’aide à la décision 99
6.1 Aide à la décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1.1 Décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.2 Processus de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.3 Aide à la décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1.4 Systèmes Interactifs d’Aide à la décision . . . . . . . . . . . . . . . . . . . . . . 101
6.1.5 Classification des SIAD au niveau utilisateur . . . . . . . . . . . . . . . . . . . . 103
6.2 Résolution temps réel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.2.1 Algorithme anytime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.2.2 Méthodes de résolution adaptées au contexte de décision temps réel . . . . . . . . 106
6.2.3 Contribution du parallélisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.3 Principe de maintien de solution dans un système dynamique . . . . . . . . . . . . . . . . 106
6.3.1 Besoins utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.3.2 Réparation de la solution précédente . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7 Modélisation urbaine 109
7.1 Représentations historiques de la ville . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.1.1 Les modèles d’économie spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.1.2 Les modèles de l’écologie urbaine . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.1.3 Les modèles d’interaction spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.2 Vers une approche systémique et individu-centrée . . . . . . . . . . . . . . . . . . . . . . 114
7.3 La modélisation LUTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.4 Trois modèles urbains passés au crible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.4.1 Le projet UrbanSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.4.2 Le projet GeOpenSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.4.3 CommunityViz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.5 Les problèmes de positionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.5.1 Cadre général d’un problème de positionnement . . . . . . . . . . . . . . . . . . 125
7.5.2 Problème d’affectation quadratique (Quadratic Assignation Problem, QAP) . . . . 125
7.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
III Contributions 129
8 Modèle 131
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.2 Modèle urbain de pré-programmation durable . . . . . . . . . . . . . . . . . . . . . . . . 131
8.2.1 Modèle urbain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.3 Modèle de contrainte pour le problème d’aménagement urbain . . . . . . . . . . . . . . . 133
8.3.1 Représentation de la ville par une grille . . . . . . . . . . . . . . . . . . . . . . . 134
8.3.2 Contraintes générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.3.3 Contraintes spécifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488 TABLE DES MATIÈRES
9 Résolution initiale basée sur Adaptive Search 149
9.1 Choix d’une méthode de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
9.2 Configuration initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
9.2.1 Initialisation aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
9.2.2 Initialisation gloutonne aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
9.3 Algorithme séquentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
9.3.1 Cache de données et calcul incrémental . . . . . . . . . . . . . . . . . . . . . . . 155
9.3.2 Liste des candidats bannis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
9.3.3 Mode multi-candidats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
9.3.4 Mode multi-permutations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
9.4 Version distribuée de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
9.4.1 Caractéristiques liées au fonctionnement de la version distribuée . . . . . . . . . . 162
9.4.2 Compléments intégrés au modèle . . . . . . . . . . . . . . . . . . . . . . . . . . 166
9.4.3 Protocoles distribués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
9.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10 Mode interactif 177
10.1 Principes retenus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.2 Présentation des composants impliqués dans l’interaction . . . . . . . . . . . . . . . . . . 178
10.2.1 Gestionnaire de messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.2.2 Dispositif tactile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.2.3 Solveur interactif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.3 Gestion des scénarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
10.4 Paramétrage du comportement interactif . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.4.1 Comportement de saisie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.4.2 Administration distante du solveur . . . . . . . . . . . . . . . . . . . . . . . . . . 185
10.4.3 Mode de fonctionnement autonome . . . . . . . . . . . . . . . . . . . . . . . . . 186
10.4.4 Administration des composants graphiques de retour . . . . . . . . . . . . . . . . 186
10.4.5 Réglage du poids de chaque contrainte . . . . . . . . . . . . . . . . . . . . . . . . 187
10.4.6 Taille de chaque cellule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
10.5 Manipulations directes sur la grille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
10.5.1 Déplacer une forme urbaine ou un ensemble de formes urbaines . . . . . . . . . . 187
10.5.2 Verrouiller ou déverrouiller des cellules à la demande . . . . . . . . . . . . . . . . 190
10.6 Retours visuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
10.6.1 Carte de chaleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
10.6.2 Historique d’évolution des coûts . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
10.7 Vidéo d’accompagnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
10.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
11 Expérimentations 193
11.1 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
11.1.1 Versions incrémentales de nos prototypes . . . . . . . . . . . . . . . . . . . . . . 194
11.1.2 Jeux de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
11.1.3 Paramètres de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
11.1.4 Implémentation et déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.2 Tableau de bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
11.2.1 Mode opératoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
11.2.2 Variation des coûts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
11.2.3 Répartition des coûts par contrainte . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.2.4 Répartition des temps de calcul par contrainte . . . . . . . . . . . . . . . . . . . . 203TABLE DES MATIÈRES 9
11.2.5 Paysage des gains lié à chaque candidat sélectionné . . . . . . . . . . . . . . . . . 204
11.2.6 Comparaison des performances entre différentes versions de l’algorithme de résolution
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.3 Expérimentations liées à la résolution initiale . . . . . . . . . . . . . . . . . . . . . . . . 209
11.3.1 Comparaison entre les principales versions et modes de fonctionnement . . . . . . 209
11.3.2 Évaluation des protocoles 1 et 4 de la version distribuée . . . . . . . . . . . . . . 210
11.4 Retour des urbanistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.4.1 Évaluation des solutions initiales . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.4.2 Évaluation du mode interactif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
11.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
IV Conclusion 217
12 Conclusion générale et perspectives 219
12.1 Conclusion générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
12.2 Perspectives de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2201
Introduction
1.1 Contexte général
Depuis peu, les villes rassemblent la majorité de la population mondiale et ne cessent de se développer, en
particulier dans les pays émergents. En même temps qu’elles absorbent les populations venant des campagnes,
elles concentrent des difficultés qui peuvent être liées au prix des logements, aux embouteillages, à
l’insuffisance ou à la vétusté des équipements publics, au niveau de bruit, à la pollution de l’air ou encore
à l’insécurité, etc. Parallèlement, les villes ont subi des transformations importantes liées aux nouveaux
modes de transport qui ont permis de repousser les distances pouvant être parcourues quotidiennement.
Ceci se traduit par des citadins, de plus en plus nombreux, contraints de s’éloigner un peu plus loin, repoussant
en même temps les limites des villes qui s’étalent sans fin. Mais les nouveaux moyens de transport
ne sont pas les seuls responsables de la métamorphose des zones urbaines, les politiques successives de
la ville et les nouveaux modes de vie y contribuent également pour une large part. Par exemple, le zoning
strict insufflé par « La Charte d’Athènes » [55], une doctrine des années 40 élaborée par LE CORBUSIER1
qui prescrit un classement des grandes fonctions urbaines par catégories, a connu ses heures de gloire mais
nous a légué un héritage qui est souvent encombrant, laissant pour compte des cités entières coupées du
reste de la ville par des voies de communication devenues infranchissables.
Indépendamment du bien être de ces habitants, nos modes de vie actuels laissent apparaître d’autres
défis à l’échelle de la planète entière qui viendront s’ajouter aux difficultés auxquelles les villes sont déjà
confrontées. Trop souvent détourné pour des intérêts opportunistes ou repoussé à plus tard, la mise en œuvre
du développement durable tarde à s’encrer dans nos sociétés. Ses partisans nous mettent pourtant en garde
face aux effets prévisibles du réchauffement climatique, de la montée du niveau des océans ou encore de
l’appauvrissement de la biodiversité ou des ressources non renouvelables, etc. Les conséquences annoncées
ont longtemps été contestées, la preuve scientifique n’ayant pas été apportée. Néanmoins, constatons
ensemble que ces voix se font de plus en plus discrètes ces dernières années. Toujours plus éloigné de la
campagne, l’Homme croit, à tort, pouvoir dominer la Nature et s’en abstraire. Il l’exploite sans trop se soucier
des dégâts irréversibles qu’il cause en reportant sur les générations futures un fardeau qui impactera
durablement leurs conditions de (sur)vies.
La majorité des activités humaines s’opérant désormais dans les villes, leur adaptation représente un
levier extraordinaire pour limiter ou lutter contre les effets à venir. Dans ce domaine, deux axes de travail
1Architecte urbaniste, de son vrai nom Charles-Édouart Jeanneret-Gris, né en 1887. Il s’intéresse notamment à l’industrialisation
des bâtiments collectifs et à la fabrication standardisée d’équipements en série. Ses travaux prendront valeur de solution
après la seconde guerre mondiale en France pour répondre à la crise du logement et reconstruire dans l’urgence.
1112 CHAPITRE 1. INTRODUCTION
complémentaires sont envisageables : soit on intervient à l’occasion du renouvellement urbain, soit on intègre
les concepts d’un développement durable dans les fondations des villes naissantes. Le renouvellement
urbain s’opère sur le long terme. Néanmoins, des expérimentations sont déjà menées à l’échelle de quartiers
labellisés « écoquartier ». Ce mouvement en plein développement est né en Allemagne et en Hollande
avec quelques exemples pionniers en Autriche, en Grande Bretagne et dans les pays Scandinaves, et il a
fini avec quelques décennies de retard par atteindre la France. Et bien que la création de villes nouvelles
ne soit plus de mise dans nos pays déjà fortement urbanisés, on constate néanmoins dans des pays à fort
développement, que des villes importantes peuvent apparaître en l’espace de quelques années seulement,
ce phénomène allant perdurer sur plusieurs décennies. C’est le cas notamment de la Chine qui prévoit de
créer l’équivalent de vingt nouvelles villes d’un million d’habitants chacune et par an jusqu’en 2020 pour y
accueillir ses paysans qui désertent les campagnes [182].
La modélisation urbaine et l’optimisation combinatoire peuvent accompagner les décisions stratégiques
qui engagent, chacune à son niveau, notre devenir collectif. La conception de villes nouvelles2
est par
nature une tâche collaborative qui rassemble des urbanistes, des aménageurs et des décideurs autour d’une
carte représentant un territoire à aménager. Cette tâche consiste à positionner sur la carte des éléments
urbains correspondant aux centres, habitations, commerces, équipements publics, aux zones industrielles
ou commerciales, etc. Mais pour cela, le nombre d’éléments urbains à positionner sur le territoire, tout
comme leur répartition spatiale, nécessitent d’établir des règles complexes issues d’une vision systémique
de la ville pour y intégrer les contraintes relatives à un développement durable avec une prise en compte
simultanée de ses aspects sociaux, économiques et écologiques. Enfin, ces travaux doivent s’inscrire dans
une réflexion interdisciplinaire pour se doter des compétences et des savoirs croisés en rapport avec la
complexité de nos sociétés modernes.
1.2 Objectifs et contributions de cette thèse
Face à la complexité intrinsèque liée aux agglomérations urbaines, nous cherchons à apporter des réponses
concrètes circonscrites à des questions précises. Nous nous focalisons plus particulièrement sur la problématique
de placement des éléments urbains à l’aide de techniques interactives et d’optimisation combinatoire.
1.2.1 Objectifs
Cette thèse s’inscrit dans un projet de recherche national qui rassemble des urbanistes, des architectes,
des experts du secteur de l’énergie et des équipes autour de l’optimisation combinatoire et de l’interaction
homme-machine. Nous voulons donc exploiter au mieux cette interdisciplinarité pour mener à bien un
travail collaboratif profitable à chacun, et qui puisse être utile.
Notre travail consiste à réaliser un système interactif d’aide à la décision capable de répartir au mieux les
différentes entités composant une programmation urbaine (habitat, industrie, équipement, commerces, etc.)
sur un territoire vierge et délimité dans l’espace. Cet outil s’adresse aux urbanistes, aménageurs urbains et
décideurs. Quelle que soit la catégorie d’utilisateur, le logiciel proposé doit être capable de l’assister dans
cette tâche de conception de villes durables tout en l’informant des conséquences de ses choix.
1.2.2 Contributions
Nos contributions portent sur la modélisation du problème d’aménagement urbain, la résolution initiale de
ce problème y compris pour des instances de grande taille et la proposition d’un système permettant de
maintenir la cohérence des solutions dans les étapes interactives.
2Bien qu’il ne s’agisse pas de la même échelle, nous envisageons la création d’un nouveau quartier d’une façon similaire à la
création d’une nouvelle ville, en tenant compte en plus de l’influence que peuvent exercer les quartiers limitrophes existants sur
la zone à aménager.1.3. PLAN DE LA THÈSE 13
Modélisation Dans un premier temps, nous analysons avec les urbanistes les principales règles urbaines
et prenant en considération les supposés implicites passés sous silence de prime abord. Nous exprimons
ensuite ces règles urbaines sous la forme de contraintes spatiales, chaque contrainte étant associée à une
« fonction de coût » capable d’évaluer le niveau de violation des propriétés urbaines. Une description formelle
de chaque contrainte est proposée. Un travail important consiste à exprimer chaque contrainte en vue
d’une résolution efficace.
Résolution initiale Dans un deuxième temps, notre problème d’aménagement urbain étant modélisé
comme un problème d’optimisation, nous le résolvons par des techniques de recherche locale basées sur
la méthode Adaptive Search. Il s’agit d’une méthode générique basée contraintes (Constraint-Based Local
Search) capable de tirer parti de la structure du problème qui lui est confié pour diriger la recherche vers une
solution optimale ou de bonne qualité en un temps raisonnable. Nous proposons également des heuristiques
capables d’améliorer sensiblement les temps de calcul. Pour passer à l’échelle et travailler avec des villes
réelles, différents protocoles sont élaborés pour décomposer le problème global et répartir les traitements
d’optimisation sur une grille de calcul.
Tous ces travaux permettent d’obtenir de façon automatique différentes propositions (solutions initiales
optimisées) pour un même problème.
Interaction avec les utilisateurs Notre système est destiné à être utilisé dans un contexte d’aide à la
décision. Il doit assister les urbanistes, aménageurs et décideurs à établir des plans de villes durables, sans
pour autant se substituer à eux. Il est donc fondamental qu’ils puissent interagir avec la solution en utilisant
un dispositif tactile adapté. A ce stade, l’opérateur sélectionne une solution parmi différentes propositions
pour l’ajuster à ses besoins et pour qu’elle puisse s’adapter automatiquement aux arbitrages opérés entre les
différents acteurs impliqués dans le projet urbain. À chaque fois qu’un opérateur réalise une modification
sur la ville, le système recalcule à la volée une bonne solution proche de la précédente sans remettre en cause
les choix antérieurs imposés par les utilisateurs. En retour des modifications réalisées par les utilisateurs,
des graphiques leurs sont également fournis (carte de température, évolution des coûts par contrainte) pour
représenter les impacts de leurs choix.
En lien avec ces différents travaux, nous avons également chercher à évaluer nos résultats suivant trois
aspects complémentaires :
• les temps pour une résolution initiale en comparant le mode séquentiel au mode distribué ;
• la qualité des solutions produites automatiquement par la résolution initiale ;
• la pertinence de l’interaction et la réactivité globale du système.
Le premier aspect est réalisé par une série d’expérimentations alors que les deux aspects suivants s’appuient
sur les retours des urbanistes impliqués dans le projet de recherche SUSTAINS.
1.3 Plan de la thèse
Notre présentons dans cette section le plan de cette thèse organisée en trois parties. La première partie
reprend les notions essentielles liées à l’urbanisme et au développement durable et se termine par une
présentation de notre cadre méthodologique et de la problématique qui nous intéresse. La seconde partie
dresse un état de l’art complet des problèmes d’optimisation combinatoire sous contraintes, des systèmes
interactifs d’aide à la décision et de la modélisation urbaine. La troisième partie présente notre travail de
modélisation, les techniques mises au point pour une résolution initiale basée sur Adaptive Search, le mode
interactif et les différentes expérimentations réalisées. Tous ces éléments sont repris et illustrés dans la
figure 1.1.14 CHAPITRE 1. INTRODUCTION
FIGURE 1.1 – Organisation de la thèse.
Partie I : Contexte Nous commençons par faire un inventaire des notions de base relatives à l’urbanisme
en revisitant les transformations profondes et successives de nos sociétés. Nous définissons notamment ce
qu’est une ville et un espace urbain avant d’aborder les différents courants qui ont traversés l’urbanisme et
qui ont participés à la transformation des villes jusqu’à aujourd’hui.
La notion de développement durable n’existe que depuis une vingtaine d’années et malgré cette jeunesse,
elle a été utilisée dans bien des circonstances et on ne sait pas toujours très bien ce que revêt cette
expression. Il nous semble donc important de revenir sur les enjeux d’un développement soutenable sur le
long terme pour se focaliser ensuite sur les dimensions urbaines du développement durable.
A ce stade, nous somme en mesure d’évaluer avec plus de précision ce que l’urbanisme peut apporter au
développement durable. Nous présentons également les grandes lignes du projet de recherche SUSTAINS
qui s’inscrit dans la conception de villes nouvelles durables à un stade très en amont du processus de
planification. Compte tenu de ces précisions, nous pouvons i) fixer un cadre méthodologique qui s’articule
autour d’une plateforme globale d’aide à la décision pour la conception d’environnements urbains durables
et ii) dégager une problématique précise liée à cette thèse.
Partie II : État de l’art Notre problème étant de nature combinatoire, nous identifions les propriétés relatives
à ce type de problème et dressons un inventaire des principales méthodes de résolution capables de les
adresser. Nous insistons plus particulièrement sur les métaheuristiques de recherche locale particulièrement
adaptées à notre contexte.
Pour aider les utilisateurs à prendre des décisions, nous décryptons les systèmes interactifs d’aide à
la décision qui permettent de concevoir des systèmes temps réel capables de fournir des résultats dans un
délai contrôlé. On y évalue également l’intérêt d’une approche de résolution anytime à même de prendre en
compte nos exigences liées à l’interactivité.
Enfin, on présente un état de l’art de la modélisation urbaine restreint à des sujets en lien avec notre1.3. PLAN DE LA THÈSE 15
thèse. Trois approches (UrbanSim, GeOpenSim, et CommunityViz) sont détaillées afin de positionner nos
travaux dans le panorama de la recherche actuelle. En complément de ces modèles urbains, nous présentons
également la famille des problèmes de positionnement et notamment le problème d’affectation quadratique
qui offre des similitudes avec notre problématique, qui consiste à positionner au mieux les éléments urbains
sur chaque îlot d’une ville.
Partie III : Contributions Nous commençons par définir les différentes notions retenues pour représenter
une pré-programmation urbaine, et en particulier : l’îlot, la centralité, la forme urbaine et l’intensité. En
partant de ces notions, nous proposons un modèle de contraintes pour notre problème d’aménagement
urbain. Cette étude fournit une description informelle associée à une description formelle pour chaque
contrainte, ces contraintes pouvant être regroupées selon qu’elles sont générales ou spécifiques.
Le problème d’aménagement urbain étant modéliser comme un problème d’optimisation, nous le ré-
solvons par des techniques de recherche locale en réalisant une succession de permutations entre formes
urbaines. L’outil proposé organise alors automatiquement les formes urbaines sur un territoire vierge et dé-
limité dans l’espace. L’algorithme séquentiel basé sur Adaptive Search bénéficie d’heuristiques novatrices
permettant d’améliorer les temps de calcul. Nous proposons également une version distribuée de l’algorithme
efficace pour s’attaquer à des problèmes de grande taille.
La seconde partie du processus de résolution est interactive. Après la génération d’une solution initiale
par des procédures complètement automatiques, l’utilisateur peut reprendre le contrôle sur la solution par
le biais de manipulations interactives qui sont décrites ici dans les moindres détails. Les trois composants
impliqués dans l’interaction sont également présentés : dispositif tactile, solveur interactif et gestionnaire
de messages asynchrones.
Après avoir décrit notre méthodologie d’évaluation, le dernier chapitre fait état des expérimentations
liées aux résolutions initiales. Dans ce cadre, on y reporte également les performances du mode distribué,
le seul mode capable de s’attaquer efficacement à des villes de grande taille. Nous nous focalisons ensuite
sur le retour des urbanistes qui ont pu évaluer la qualité des différentes solutions initiales produites sur
Marne-La-Vallée. Nous fournissons également leurs réponses liées à la mise en œuvre du mode interactif
qui a été particulièrement bien accueilli.I
Contexte
172
Urbanisme
Nous débutons cette partie liée au contexte en faisant l’inventaire des notions de base relatives à l’urbanisme
[69, 261] qui sont au cœur de ce travail de thèse.
Nous avons connu un premier bouleversement en 1995 lorsque les villes des pays industrialisés qui
représentaient jusque là les plus grosses concentrations humaines ont été rattrapées par celles des pays
émergents [41]. Une autre étape importante a été franchie en 2008 lorsqu’on a atteint pour la première fois
dans l’histoire de l’humanité le cap des 50 % de la population mondiale vivant en agglomération dont un
tiers en bidonville. En 2010, notre planète comptait 449 agglomérations de plus d’un million d’habitants,
dont 38 entre 5 et 10 millions et 23 avec plus de 10 millions d’habitants [270].
Aujourd’hui, les villes des pays émergents totalisent 95 % de la croissance urbaine mondiale et on
dénombre un million d’urbains supplémentaires chaque semaine dans le monde. L’Amérique et l’Europe
sont les plus urbanisées, tandis que l’Afrique et l’Asie comptent encore une majorité de ruraux. L’Europe
de l’Ouest est globalement très urbanisée avec un taux de 80 %. En France, le taux d’urbanisation actuel est
de 87 % [269]. Nous sommes dans un milieu très urbain, mais dans une urbanité de moins en moins dense
et qui intègre un usage urbain de la campagne.
Dans les projections publiées par les NATIONS UNIES [271], la population mondiale en zone urbaine
devrait atteindre 58 % en 2025, puis 67,2 % en 2050. Cette augmentation sera principalement concentrée
dans les régions les moins développées : Afrique et Asie. Cette croissance ne sera pas sans conséquences
sur les villes qui devront continuer à s’adapter pour assumer leurs responsabilités dans des domaines aussi
variés et indissociables que sont le logement, la sécurité, les infrastructures de transport et de télécommunication,
l’approvisionnement en eau et en énergie, la qualité de l’air, le niveau de bruit ou encore l’évacuation
et le traitement des déchets [141].
2.1 Qu’est-ce qu’une ville ?
Définitions JEAN-LOUIS HUOT, professeur d’archéologie, esquisse une définition de la ville [140] : c’est
un lieu d’échanges et de production, un lieu d’interactions économiques complexes. C’est un lieu mixte
et hiérarchisé où plusieurs classes sociales coexistent et la société y est organisée de manière structurée.
Selon lui, une vraie ville doit être mixte, complexe et hiérarchisée. Pour les statisticiens français, depuis
1887, les choses sont simples : une ville est une agglomération comptant au moins 2 000 habitants. C’est
la même chose en Allemagne, mais il existe près de 200 seuils à travers le monde. Pour l’historien Belge
HENRI PIRENNE, les villes sont l’œuvre des marchands, elles n’existent que par eux [217]. Pour l’historien
français PIERRE LAVEDAN, la ville est un être vivant [166]. Comme tout être vivant, elle naît, elle grandit,
1920 CHAPITRE 2. URBANISME
elle meurt. PIERRE RIBOULET, architecte et urbaniste français, parle d’œuvre [232] : la ville est une œuvre
collective, une sorte de production artisanale unique, réalisée par les hommes qui composent la société et
qui y vivent.
Principes constitutifs de la ville PIERRE MERLIN, ingénieur géographe, expert-démographe et statisticien,
écrit [188] que la ville est constituée de deux éléments : l’espace et le temps. A ces deux composantes,
il faut ajouter celle des dynamiques socio-économiques. La dynamique sociale et économique, c’est la société
en mouvement dans l’espace et dans le temps. Ce sont les initiatives et les mouvements de la société,
des groupes sociaux et des individus qui la constituent, qui produisent la ville et la font évoluer à la fois
dans le temps et dans l’espace. Ces dynamiques intègrent une quadruple dimension : économique, culturelle,
démographique et juridique. Le temps est l’élément qui fait évoluer la ville dans la durée, qui fonde
progressivement sa complexité. L’espace quant à lui est le support matériel de la ville : le site, l’environnement
naturel et les formes d’occupation du sol. Les formes urbaines partagent quelques caractéristiques de
base :
• le tracé des voies et des espaces publics, support des flux et des réseaux ;
• le découpage parcellaire, support matériel et juridique de l’investissement social du territoire ;
• l’occupation du sol, c’est-à-dire les caractéristiques du bâti et des aménagements des surfaces non
bâties.
L’évolution urbaine "naturelle" est celle du "marché", celle qui traduit les rapports de forces au sein
de la société. Mais cette évolution peut être corrigée par les nécessités de l’intérêt général, et l’urbanisme
avec la politique sont des instruments de cette correction. Pour la sociologue JANE JACOBS, le dynamisme
économique des villes se fait à cause de ses congestions et de ses dysfonctionnements [142], car c’est la
richesse du creuset urbain, son bouillonnement qui conduisent à la création économique et culturelle : plus
la ville est grande, plus les fonctions urbaines sont diversifiées, plus elle a de chance d’inventer de nouveaux
métiers, de nouvelles productions, donc de continuer à croître.
Le droit qui régit à la fois la possession et l’usage du sol est un élément majeur qui façonne la ville de
manière essentielle, à la fois dans l’espace et dans le temps. C’est donc un élément fondateur de la ville.
L’homme est un être social complexe qui, au-delà de ses besoins de base, a des besoins spécifiques
qui varient d’une culture à une autre, d’une époque à une autre, d’un groupe social à un autre. Ce sont les
sociétés organisées qui peuplent la ville et la font évoluer en fonction de leurs besoins, de leurs désirs et
de leurs ambitions. Comme le rappelle JACQUES DONZELOT [77], les ghettos sont d’abord issus du choix
de « l’entre soi » des plus riches. Ainsi, les évolutions sociologiques les plus récentes en France, comme
l’augmentation du nombre de divorces, de familles monoparentales, la diminution du nombre de personnes
par foyer et par logements, et l’augmentation globale de la richesse et des exigences en matière de confort
au cours des quarante dernières années, ont conduit à une modification radicale des besoins en terme de
logements, de services urbains, de transport.
Finalement, la ville est intimement liée à l’évolution démographique parce que c’est elle qui forge la
croissance ou le déclin de la population qui est un facteur qui interagit fortement avec les dynamiques économiques
et sociales. Lorsqu’une dynamique de croissance économique existe, la croissance de la population
vient souvent la renforcer. La ville n’est pas un support statique pour l’économie et la population. Elle est
en perpétuelle évolution et il existe une interaction forte entre les différentes composantes économiques,
démographiques et sociales.
2.2 La ville perçue comme une entité vivante
Les villes naissent et se développent. Elles peuvent aussi avoir des périodes de décroissance ou de stagnation
et, enfin, elles peuvent mourir. Après une catastrophe, les habitants les abandonnent pour s’installer ailleurs,
à côté ou beaucoup plus loin.2.3. DE LA VILLE À L’AIRE URBAINE 21
Naissance des villes Une ville naît de l’action d’un essaim d’hommes groupés, qui s’installe et agit sur
un territoire. Deux formes de création peuvent être distinguées : les "agglomérations spontanées" et les
"villes créées". Les villes spontanées se forment par l’action non formalisée du groupe humain sur le lieu
qui lui permet d’exercer une activité et souvent aussi, de se défendre. La géographie a donc une influence
essentielle sur la formation des villes spontanées. Ces villes se structurent plus ou moins bien, en fonction
de la rapidité de leur croissance. C’est le mode de formation de nombreuses villes, mais c’est aussi celui
des bidonvilles. La ville peut aussi naître de la volonté délibérée d’un groupe humain organisé. Ce sont
les "villes créées", les villes neuves ou les villes nouvelles. Des hommes décident de créer une cité pour
répondre à des objectifs liés à leurs activités. Les villes créées le sont par la volonté d’un groupe organisé,
souvent très structuré, hiérarchisé avec un pouvoir fort. Elles le sont avec un objectif précis : colonisation,
commerce, défense, industrie, etc. Le modèle le plus répandu est celui du plan en damier avec un quadrillage
régulier de rues. Mais les villes neuves peuvent ne pas être totalement organisées et la fondation peut se
limiter à la création de grandes structures sans que soit défini l’ensemble des quartiers qui se mettent en
place progressivement au fur et à mesure de l’occupation des habitants.
Développement des villes Après leur fondation, les villes se développent, plus ou moins vite. Certaines
périclitent. Quel que soit leur origine (création ou naissance spontanée), leur développement associe presque
toujours croissance spontanée issue d’une multitude d’initiatives autour d’une voie ou d’un axe et extensions
programmées qu’elles soient d’initiative publique ou privée. En fait, la ville se constitue par stratification.
Reconstruction - transformation Les dynamiques individuelles et collectives des habitants conduisent
à une permanente reconstruction de la ville sur elle-même. Une bonne partie des réglementations urbaines
sont là pour gérer ces transformations du bâti en essayant de ménager l’intérêt collectif en canalisant les
initiatives individuelles. Ces transformations peuvent prendre quatre formes : extension de l’emprise, sur-
élévation, reconstruction ou dé-densification. La reconversion des friches est devenue un enjeu à la fois
économique et symbolique des villes centres, face aux extensions périphériques et urbaines. On parle alors
de reconstruire la ville sur la ville comme une alternative à l’extension urbaine.
Cycles de croissance urbaine Des sociologues ont développé un schéma radio-concentrique qui dé-
montre une certaine superposition entre la répartition sociale et la répartition géographique [37] : le centre
est occupé par un noyau constituant la zone d’affaires, et après une zone de transition on trouve un anneau
de résidences occupées par les travailleurs les moins favorisés (ouvriers / immigrés, etc.) puis une zone
résidentielle plus aisée avant des banlieues très chics.
2.3 De la ville à l’aire urbaine
La ville ne constitue plus aujourd’hui un ensemble compact bien défini, placé sur une commune unique.
Elle forme une agglomération qui se développe sur plusieurs communes. Pour parler de ces ensembles composites
qui s’agrègent autour des villes anciennes pour constituer un ensemble urbain, les géographes font
appel à la notion d’aire urbaine. Pour l’INSEE (Institut National de la Statistique et des Études Économiques
pour la France), une aire urbaine est un ensemble de communes, d’un seul tenant et sans enclave, constitué
par un pôle urbain, et par des communes rurales et/ou une couronne périurbaine dont au moins 40 % de
la population résidente dispose d’un emploi et travaille dans le pôle ou dans des communes attirées par
celui-ci.22 CHAPITRE 2. URBANISME
Planification Urbanisme
FIGURE 2.1 – Comparaison entre planification des villes et urbanisme ; d’après [69].
2.4 L’urbanisme
Dans la suite de ce chapitre, les références historiques évoquées à titre d’illustrations concernent prioritairement
la France lorsque l’échelle n’est pas précisée.
Définition D’après l’Encyclopédie Larousse1
, l’urbanisme peut être défini comme l’action réfléchie visant
à disposer, à aménager ou à restructurer physiquement et socialement l’espace en vue d’assurer l’unification
la plus harmonieuse et la plus efficace des fonctions que remplit un site donné. Il est inséparablement une
théorie et une pratique dont l’exercice entraîne le recours à une technique. L’urbanisme intervient dans la
disposition des bâtiments, la structure des réseaux de communication et des équipements publics, et, plus
généralement, dans l’aménagement du territoire urbain.
En France, les premiers urbanistes sont apparus au tout début du 20ème siècle et cette appellation était
alors essentiellement réservée aux architectes. D’ailleurs, LE CORBUSIER (architecte urbaniste, de son
vrai nom Charles Édouart Jeanneret) soutient dans « Manière de penser l’urbanisme » publié en 1946 que
« l’urbaniste n’est autre chose que l’architecte ». Toutefois, l’ouverture de l’urbanisme à la sociologie et
à l’économie a progressivement permis de remettre en cause un tel formalisme. De nos jours, le métier
d’urbaniste est exercé par des architectes, des ingénieurs, des administrateurs, des sociologues, des géographes
et des économistes. L’urbaniste ne prend pas les décisions : il se situe au niveau de la conception
et de l’organisation des transformations de l’ordre spatial dans le cadre de procédures administratives et de
réglementations juridiques relatives à l’acquisition et à l’utilisation des sols.
De la planification des villes à l’urbanisme FRANÇOISE CHOAY, historienne des théories et des formes
urbaines et architecturales, explique que les doctrines de l’urbanisme se fondent sur une analyse formalisée
des besoins et des conditions de la réalisation urbaine [43]. Ce serait donc le caractère analytique des
contraintes et des besoins qui distinguerait l’urbanisme des pratiques antérieures de planification des villes.
Comme l’indique la Figure 2.1 , les principales différences entre la planification des villes et l’urbanisme
sont la disparition des rites de création et l’introduction de deux phases majeures préalable au projet proprement
dit : l’analyse de la situation existante qui doit conduire à un diagnostic et une phase de programmation
urbaine qui peut être sommaire ou très élaborée. De plus, il y a désormais itération lorsque la croissance est
1http ://www.larousse.fr/encyclopedie/divers/urbanisme/1003372.5. NAISSANCE DE L’URBANISME MODERNE ET APPLICATIONS PRATIQUES 23
continue : une fois un morceau de ville produit, le site urbain est modifié et il faut reprendre le processus au
stade de l’analyse et du diagnostic.
De l’utopie à la réalité La transformation de la société passe par l’invention de formes urbaines nouvelles.
JEAN-BAPTISTE ANDRÉ GODIN, disciple de CHARLES FOURIER 2
et fabricant de poêles ayant fait fortune
dans l’industrie, dessine les plans du Familistère de Guise [213] qu’il construit à proximité de son usine à
partir de 1859 : une véritable ville dans la ville où vivront pendant près d’un siècle jusqu’à 2 000 personnes.
Il s’agit d’un « palais social » qui vise à assurer le développement moral de l’ouvrier et de sa famille et
dans lequel les ouvriers disposent d’un confort étonnant pour l’époque : "un allègement aux souffrances des
classes ouvrières".
Des cités ouvrières aux lotissements populaires Pour éviter les problèmes d’éloignement à une époque
où le transport individuel et collectif est inexistant, d’autres patrons pragmatiques construiront à proximité
de leurs sites industriels des logements pour leurs employés les plus méritants. Mais ce modèle est
rapidement critiqué car, en concentrant les ouvriers, le logement collectif devient "foyer d’immoralité" ou
"phalanstère de la misère et du crime", selon certains contemporains. La maison individuelle paraît alors
être la solution car elle permet d’éviter une trop grande concentration de familles ouvrières, politiquement
et moralement dangereuse :
• elle permet à l’ouvrier d’améliorer son ordinaire grâce au jardin ;
• d’occuper ses heures de loisir de manière à éviter qu’il ne fréquente les cabarets ;
• de stabiliser la famille en le rendant propriétaire, donc responsable.
C’est ainsi que naquirent les premiers lotissements populaires.
Émergence du logement social C’est au cours du 20ème siècle que le logement social va se développer,
avec l’apparition d’une exigence nouvelle qui va profondément modifier la ville et l’urbanisme : l’idée
qu’il faut loger tout le monde dans des logements décents. La responsabilité de la création de ce logement
va devenir, à partir des années 50 et leur transformation en HLM, une prérogative de l’État qui mettra en
œuvre la construction de logement à grande échelle avec les grands ensembles.
2.5 Naissance de l’urbanisme moderne et applications pratiques
Concernant l’invention de modèles pour une ville adaptée au monde moderne, deux visions principales
s’opposent :
• d’un côté, il y a ceux qui, pour pallier les maux de la ville industrielle, prônent la création d’une ville
verte, plus proche de la nature : faire la ville à la campagne ;
• de l’autre, il y a ceux qui, fascinés par Manhattan, voient la métropole verticale comme un modèle
qu’il s’agit de rationaliser et d’ordonner. Cette vision privilégie la ville en tant que creuset du développement
économique au détriment de l’amélioration des conditions de vie de la population.
Évolution de la ville traditionnelle A côté de ces visions opposées, quelques architectes cherchent à marier
densité, formes de la ville traditionnelle et conceptions hygiénistes. C’est le propos d’HENRI SAUVAGE,
considéré comme l’un des principaux architectes français du premier tiers du 20ème siècle, qui propose de
créer un nouveau type urbain : l’immeuble à Gradins [178]. A la place des jardins, les appartements sont
dotés de vastes terrasses pouvant être plantées. L’îlot entier est pensé comme une vaste pyramide. Même si
LE CORBUSIER conçoit lui aussi un projet d’immeubles à gradins, ce type sera un peu oublié après guerre,
2Philosophe français, à l’origne du concept de Phalanstère, un lieu de vie communautaire et harmonieux.24 CHAPITRE 2. URBANISME
mais va réapparaître à la fin des années 60 et dans les années 70 avec les recherches innovantes pour un
habitat intermédiaire.
Pendant la guerre, LE CORBUSIER va poursuivre ses réflexions en élaborant une doctrine nouvelle
connue sous le nom de "Charte d’Athènes" [55] qu’il publiera ensuite sous le titre "La Ville fonctionnelle"
en 1941. Il s’agit d’une théorie sans modèle qui propose des concepts simples, voire simplistes : "le soleil,
la verdure et l’espace sont les trois premiers matériaux de l’urbanisme". Pas de modèle formel, mais des
préceptes doctrinaires facilement applicables et facilement interprétables. La "Charte d’Athènes" prescrit
un zoning strict, c’est-à-dire un classement des grandes fonctions urbaines par catégories. Seules les fonctions
quotidiennes liées à l’habitation sont intégrées aux unités d’habitation. Ce document aura une très
grande influence sur tout l’urbanisme d’après la seconde guerre. Même s’ils n’appliquent pas à la lettre ses
préceptes, les grands ensembles en sont les fils directs, un peu déshérités, car bien souvent ils n’intègrent
pas les équipements prévus, et la qualité des espaces verts, fondateurs du nouvel urbanisme, laisse à désirer.
Urbanisme moderne : quand les doctrines idéologiques se substituent à l’analyse scientifique Dans
la pratique, la plupart des projets d’urbanisme ne s’appuient pas sur une connaissance approfondie des sites
et des environnements sociaux sur lesquels ils vont agir. Ils substituent la phase d’analyse de l’existant et
du diagnostic à des doctrines, qui tiennent lieu de théorie scientifique. Les fonctions urbaines sont réduites
à quatre grandes catégories : habiter, travailler, circuler, se cultiver.
L’urbanisme moderne largement influencé par la "Charte d’Athènes" est conçu comme le moyen de
faire une ville saine. Du point de vue de la composition urbaine, les réalisations s’appuient sur quelques
principes majeurs :
• la volonté de créer un espace vert majeur au cœur de l’opération ;
• l’orientation des édifices en fonction de l’ensoleillement ;
• la ségrégation des circulations ;
• l’autonomie d’implantation des bâtiments par rapport à la voirie ;
• la volonté d’intégrer les équipements nécessaires à la vie quotidienne au parc ou au bâtiment.
Plus besoin d’analyse approfondie de la réalité puisqu’il faut raser l’existant, faire table rase pour reconstruire
une ville nouvelle idéale.
2.6 Conséquences des politiques successives
Ensembles urbains figés, coûteux et difficiles à entretenir Aux objectifs directement liés à la doctrine
de l’urbanisme moderne, l’État français en surimpose deux autres :
• résoudre la crise du logement ;
• créer une industrie du bâtiment digne de ce nom.
L’urbanisme moderne cherche à disposer d’un "sol libre" où l’on peut bâtir sans contrainte : l’immeuble est
déterritorialisé et le sol n’appartient plus à ses habitants, mais seulement au gestionnaire, impersonnel ou
collectif. Ce qui limite les possibilités d’évolution de la ville. Les formes urbaines de l’urbanisme moderne
posent deux autres problèmes. Le premier est celui d’une extension extraordinaire des surfaces collectives
qu’il faut aménager puis entretenir. Le second est celui d’une diminution des traitements minéraux au profit
des espaces végétaux. Or un espace vert est beaucoup plus fragile qu’un espace urbain minéral et doit
régulièrement être entretenu. Lorsque les réalisations sont de qualité, que les espaces verts sont entretenus,
qu’il n’y a pas de problèmes sociaux, l’urbanisme moderne produit des résidences agréables où l’on habite
dans la verdure. Sans doute l’urbanisme moderne, coûteux dans sa structure comme dans son entretien,
aurait-il dû être réservé aux riches ?
Progression de l’étalement urbain et mobilité accrue C’est à partir du milieu des années 60, que les
gouvernements, très critiques vis-à-vis de la production des grands ensembles, décident de mettre en place2.7. THÉORIES URBAINES APRÈS L’URBANISME MODERNE 25
une politique plus favorable aux maisons individuelles. Ce retournement politique, conjugué à l’enrichissement
global de la population au cours des « trente glorieuses » (50-70) vont permettre aux classes moyennes
de réaliser leur rêve : habiter une maison individuelle. Sous couvert de mieux répondre aux aspirations des
familles françaises, cette nouvelle politique répond à plusieurs objectifs :
• mieux mobiliser les ressources financières des ménages, ce qui permet un certain désengagement de
l’État à l’égard du financement du logement ;
• élargir le champ d’intervention et de profit des banques ;
• offrir de nouveaux débouchés aux grandes entreprises de construction, par le lancement de nouveaux
produits leur permettant de rentabiliser leurs investissements dans l’industrialisation du bâtiment.
Ainsi, au lieu de se concentrer, les nouvelles extensions urbaines sont éclatées, augmentant considérablement
les surfaces urbanisées. Les modes de vie changent avec comme caractéristique, celui d’un accroissement
de la mobilité. On se déplace en permanence, et pas seulement pour le travail, mais aussi et de plus en
plus pour le loisir.
Le naufrage des grands ensembles Au début des années 60, les conditions matérielles de vie dans les
grands ensembles sont plutôt mauvaises dès qu’on sort de son logement bien équipé mais le climat social
est bon. La dégradation du climat social des grands ensembles commence dans les années 70 et s’étend au
début des années 80, à cause de trois facteurs principaux :
• la libéralisation de la construction de la maison individuelle qui conduit les classes moyennes à partir
pour réaliser leur rêve ;
• la politique de regroupement familial qui conduit les familles des migrants à remplacer les classes
moyennes dans les grands ensembles, alors que ce type de logement est totalement inadapté aux
modes de vie d’étrangers qui sont des ruraux déracinés ;
• le chômage qui, à partir de la crise pétrolière de 1973, touche beaucoup les habitants des grands
ensembles, en particulier les travailleurs immigrés, ce qui déstabilise leurs structures familiales.
Ceux qui restent sont ceux qui ne peuvent pas partir. Dès lors, on assiste à une concentration des problèmes.
On constate une augmentation des loyers impayés qui conduit alors certains organismes HLM à minimiser
l’entretien de leur patrimoine, ce qui induit une spirale de dégradation matérielle et symbolique du lieu.
La construction des grands ensembles engendre un étalement urbain relativement limité, mais une forte
fragmentation : les zones bâties sont rarement reliées à l’existant et constitue des enclaves séparées de la
ville proprement dite. C’est d’ailleurs l’un de leurs problèmes majeurs.
Changement de politique : la rurbanisation, étalement urbain à grande échelle Dans une circulaire
de 1973, OLIVIER GUICHARD alors en charge du ministère de l’Urbanisme, arrête la construction des
grands ensembles. La nouvelle politique va engendrer un étalement urbain encore plus significatif avec
une troisième poussée pavillonnaire prenant la forme de ce que BAUER et ROUX ont appelé justement la
rurbanisation [19]. L’automobile diminue les distances, et désormais, une partie croissante de l’espace rural
est utilisé par les urbains. La rurbanisation modifie profondément la structure de la ville et la vie des citadins
qui, bien qu’ils soient urbains dans leur mode de vie, peuvent vivre à la campagne. C’est une nouvelle phase
de transformation de la ville. Le parc d’habitat se modifie en profondeur pour atteindre, dans les années 90,
54 % de maisons individuelles contre 46 % de logements collectifs.
2.7 Théories urbaines après l’urbanisme moderne
Bilan critique de l’urbanisme moderne La volonté de rendre la ville claire et fonctionnelle conduit le
modèle de l’urbanisme fonctionnaliste à supprimer la mixité fonctionnelle des quartiers alors que, lorsqu’on
regarde l’histoire de la ville, tout laisse penser que c’est un fondement essentiel de la dynamique du fait
urbain. Par ailleurs, elle conduit aussi à supprimer le découpage foncier qui est un autre élément matériel26 CHAPITRE 2. URBANISME
fondateur de la ville. L’urbanisme moderne se réduit ainsi à la production d’espaces figés, sans réalité sociale
et ne répondant pas aux aspirations évolutives des habitants. De tous côtés vont apparaître des propositions
réhabilitant la ville traditionnelle qui cherchent à revenir à des formes urbaines plus classiques.
Redécouverte de la valeur de la ville ancienne et réhabilitation Les Italiens ont toujours préservé les
centres anciens alors que les Français les éventraient pour remplacer les îlots par des tours et des barres.
Ce seront les premiers à proposer de réhabiliter les villes pour améliorer les logements anciens plutôt que
de les raser et reconstruire. Un certain nombre d’architectes-enseignants vont mettre au point des méthodes
d’analyse du bâti existant dites "typo-morphologiques" qui consistent à regarder l’existant dans le détail
soit pour le réhabiliter soit pour proposer des projets s’en inspirant. Il s’agit d’un urbanisme scientifique qui
s’appuie sur les études, sur la connaissance du bâti mais aussi sur la connaissance des populations.
La défense de la ville européenne Dans les années 70-80, une proposition de retour à la ville classique
européenne va se mettre en place. Avant, la diversité urbaine résultait de son évolution, de l’empilement
progressif de ses couches. Maintenant, il faut créer de la diversité esthétique instantanée. Cet urbanisme
nous propose une vision de la ville ancienne avec des décors pittoresques mais une fonctionnalité contemporaine,
une ville idéale et humaine, comme elle n’a jamais existé. Aujourd’hui, beaucoup de promoteurs
et certains élus ont adopté cette vision avec plus ou moins de talent et plus ou moins de cohérence.
Modernité et urbanité Dans les années 80, les architectes sont presque unanimes à critiquer les projets
prolongeant l’urbanisme moderne. De leurs recherches ressort alors la volonté de réinventer un nouvel îlot
qui s’inspire des expériences du début du siècle, avant l’urbanisme moderne : un îlot ouvert dans lequel
le centre est occupé par un vaste jardin. Ce retour à l’architecture urbaine est largement répandu en Europe.
Cela ne veut pas dire pour autant que les préceptes modernistes soient totalement abandonnés. En
d’autres lieux, comme en Asie, en Chine, à Honk-Kong ou à Singapour par exemple, on construit encore de
grands ensembles, avec des tours gigantesques qui empilent les fonctions et qui semblent bien fonctionner
socialement.
La congestion urbaine et le troisième âge de la ville Parallèlement à ce qu’est devenu l’urbanisme
officiel en Europe, réalisé avec plus ou moins de brio, deux doctrines se sont affirmées. D’un côté, il y a des
architectes dans la mouvance du Hollandais REM KOOLHASS qui milite pour développer "la congestion
urbaine". Son plan d’Euralille cherche notamment à renforcer la mixité avec la superposition des fonctions,
même lorsque cela n’est pas « naturel ». De l’autre coté, il y a l’architecte et urbaniste français CHRISTIAN
DE PORTZAMPARC qui prétend inventer "le troisième âge de la ville" [64], représentant une synthèse entre
l’urbanisme moderne, aéré et vert et l’urbanisme traditionnel d’îlot. Il essaye de mettre en place des règles
complexes permettant de concilier densité et végétal en évitant la monotonie de l’îlot HAUSSMANNIEN.
C’est ainsi qu’OLIVIER MONGIN, écrivain français et directeur de la revue ESPRIT, n’hésite pas à appeler
les architectes et urbanistes de tous bords à un véritable travail de couture, avançant l’hypothèse « qu’avec
le troisième âge de la ville se joue l’avenir de la démocratie, tout simplement » [194].
Urbanisme durable et éco-quartiers Depuis quelques années, se développe ce qu’on appelle les "écoquartiers"
qui sont des projets urbains globaux à vocation écologique. Ce mouvement en plein développement
est né en Allemagne et en Hollande avec quelques exemples pionniers en Autriche, en Grande
Bretagne et dans les pays Scandinaves, et il a fini avec quelques décennies de retard par atteindre la France.
Il n’y a pas de norme ni de recette d’éco-quartier. Leur forme et contenu varie en fonction des lieux et des
enjeux. Tous les éco-quartiers n’ont pas les mêmes ambitions en terme d’économie énergétique, d’énergies
renouvelables ou en terme de déplacements.2.8. FORMES ET STRUCTURES DE LA VILLE CONTEMPORAINE 27
Urbanisme réglementaire et écologie Officiellement les PLU3 devraient être attentifs à l’environnement.
Dans les faits, l’interprétation de ce que doit être la protection de l’environnement varie et fait que les PLU
ne sont pas toujours réellement écologiques. Par exemple, certains articles du règlement imposent des règles
sur la hauteur ou l’aspect du bâtiment qui peuvent aller à l’encontre de la pose de panneaux solaires, de
toitures végétalisées, etc.
2.8 Formes et structures de la ville contemporaine
Nous sommes aujourd’hui dans une civilisation urbaine où le modèle de croissance radioconcentrique reste
le modèle de développement dominant des villes (le modèle « naturel »). Les rocades contribuent à cette
croissance, tout en créant de nouveaux pôles péri-urbains. Les nouveaux lotissements cherchent avant tout
une proximité avec les nœuds d’échanges du réseau. Les rocades génèrent ainsi des situations de périphérie
en rupture avec une croissance continue de l’agglomération. C’est aux nœuds de ces voies (croisements, sorties)
que s’implantent les nouvelles « centralités périphériques » que sont les zones d’activités, les centres
commerciaux du grand commerce qui, au-delà de leur fonction de base, intègrent de nouvelles activités
comme le travail tertiaire (bureaux) ou le loisir (multiplexes, centre de fitness, hôtels restaurants). Ce phé-
nomène peut être redoublé par la création de plusieurs anneaux de rocades, comme c’est le cas à Rennes ou
Paris. C’est le modèle français dominant.
Multiplication des types de tissus Avec l’éclatement urbain des années 1980-90, les formes urbaines se
multiplient : nouveaux villages, lotissements périurbains, lotissements rurbains, zones pavillonnaires diffuses,
villages ruraux, etc, ainsi que les nouvelles « centralités périphériques » : zones d’activités, zones
artisanales, zones commerciales. Ces dernières sont désormais les principaux acteurs de l’économie commerçante
en France : elles représentent 70 % des chiffres d’affaires contre 20 % dans les centres villes et
10 % dans les quartiers. La mutation touche aussi le centre ville qui d’un côté s’embourgeoise et de l’autre
voit sa structure commerciale se transformer. Les commerces se spécialisent (prêt-à-porter) et il devient le
lieu du développement d’annexes au grand commerce à travers le développement d’enseignes franchisées.
Sectorisation de la ville Le fonctionnement de ces fragments urbains diffère grandement de celui des
tissus antérieurs : la plupart sont conçus comme des secteurs autonomes, desservis uniquement par l’automobile
et dont les accès sont limités en nombre. On ne traverse pas ces secteurs comme on le faisait dans
les tissus urbains traditionnels et leur dimension est généralement très supérieure à celle des îlots antérieurs.
Pour ceux qui peuvent choisir leur mode de vie, cette sectorisation peut paraître positive. On peut vivre
entre soi dans un nouveau village, disposant à la fois du bien être de la campagne et, grâce à deux ou trois
voitures, des services urbains. Mais pour les moins favorisés, ceux qui abandonnent le centre ville parce
qu’il est trop cher, les choses sont moins positives. Déjà soumis aux nuisances induites par la voie rapide,
ceux-ci se voient de surcroît écartés du centre-ville et de ses services par des infrastructures rendues quasi
infranchissables.
Ces nouveaux types sont peu reliés aux autres secteurs et très figés dans leurs formes comme dans leurs
programmes. DAVID MANGIN parle de sectorisation de la forme urbaine [180]. De plus, les règlements des
lotissements interdisent toute activité (autre que les professions libérales), limitent fortement les extensions
et interdisent les divisions parcellaires ou la construction en hauteur. Ces tissus urbains sont donc figés à
l’exception de petits ajouts. De la même manière, bien qu’elles soient en permanentes transformations, les
zones d’activités et les zones commerciales n’admettent pas de mixité : on ne peut y implanter de logements.
Dédensification La dédensification de l’agglomération est d’abord liée à l’intégration de territoires périphériques
et rurbains dans l’aire urbaine. L’extension de la zone urbaine fait que désormais de nombreux
3Plan local d’urbanisme28 CHAPITRE 2. URBANISME
secteurs très peu denses sont intégrés. La dédensification touche aussi tous les tissus de centre ville. La
qualité de vie exige plus d’espaces verts avec des cours, des jardins et des logements plus grands. Pour le
public, la densité a mauvaise presse et les électeurs font pression sur les élus pour que les règlements urbains
minimisent les autorisations de construire. Toutes ces évolutions contribuent à faire baisser la densité
des centres urbains. Les seuls secteurs où la densité augmente sont ceux en mutation, banlieues ou friches
urbaines, qui lors du réaménagement sont construits alors qu’ils étaient souvent occupés par de grands
bâtiments de faible densité.
Entrées de ville et ville franchisée En France, première nation touristique au monde, l’apparence et
l’image de la ville ont une importance économique considérable. Toutefois, l’avènement du grand commerce,
en deux décennies, va conduire à une homogénéisation globale des parcours d’entrée de ville, qui
constitue une bien piètre vitrine pour la cité : les entrées des villes françaises sont largement composées de
hangars décorés (bâtiment économique dont la façade est utilisée comme grand panneau d’affichage pour
l’activité commerciale) alors que les canards (édifice ou enseigne géante qui épouse généralement la forme
du produit vendu) sont beaucoup plus rares [275]. Cela relève de trois phénomènes à l’œuvre :
• celui d’une logique d’investissement à court terme : les bâtiments sont en perpétuelle évolution et
sont amortis en quelques années, nous sommes dans la ville jetable ;
• celui d’une visibilité commerciale de la marque : logo, couleurs ou formes de bâtiment doivent être
les mêmes sur tout le territoire, voire dans le monde entier (Auchan, Carrefour, Leclerc, Mc Donald,
Ikéa, . . . ), les particularités locales doivent être gommées ;
• celui d’une visibilité locale du parking démontrant qu’il est simple de se garer.
De manière plus classique et plus conforme à la tradition urbaine européenne, les urbanistes français
requalifient les entrées de villes, en cherchant à les domestiquer et à les rendre plus urbaines. Plusieurs voies
ont été ouvertes pour cela :
• améliorations des aménagements urbains ;
• améliorations architecturales ;
• meilleure intégration du commerce d’entrée de ville dans la structure urbaine globale ;
• mutation du cadre législatif.
2.9 Conclusion
Pour OLIVIER MONGIN, « nous vivons le temps des métropoles encerclées de banlieues explosives, quand
ce n’est pas de bidonvilles menaçants, la ville devient alors une enclave protégeant des barbares » [194].
L’un des enjeux majeurs de l’urbanisme de demain sera donc de parvenir à réhabiliter les quartiers dits
« sensibles » et à transformer les bidonvilles en vraies villes.
Mais cette présentation montre toute la complexité intrinsèque de la structure d’une ville qui nécessite
la mobilisation de nombreuses disciplines complémentaires et parfois opposées pour la comprendre :
sociologie, économie, démographie, politique, histoire, écologie, etc.
La ville constitue un espace sensible en mouvement perpétuel dont il faut contrôler l’évolution en envisageant
le long terme. Et de nos jours, penser sur le long terme, c’est intégrer la notion du développement
durable (ou soutenable).3
Développement durable
Le concept de développement durable, apparu il y a une vingtaine d’années et approuvé par 178 états
lors de la première conférence de Rio en 1992, donne naissance à une conscience de la dégradation de
l’environnement. Depuis, il a souvent été vidé de son contenu ou réinterprété selon les intérêts des forces
en présence et du moment. Selon sa définition officielle (1987), le développement durable correspond à
"un développement qui répond aux besoins du présent, sans compromettre la capacité des générations
futures à répondre aux leurs". Il s’agit de proposer un changement de paradigme pour construire un monde
économiquement efficace, socialement équitable et écologiquement soutenable. À ces trois piliers, s’est
ensuite ajoutée la dimension culturelle [87].
3.1 Enjeux d’un développement soutenable sur le long terme
Les changements globaux Les changements globaux correspondent à l’ensemble des changements qui
s’observent à l’échelle de la planète entière. Mais de nos jours, cette expression fait plus particulièrement
référence aux effets de l’activité humaine sur l’environnement qui regroupent les nombreuses évolutions sociétales
(évolution démographique, mode de vie, . . . ) et environnementales (climat, couche d’ozone, usage
des sols, montée des océans, fonte des glaciers, biodiversité, . . . ). L’importance des changements globaux
est liée à l’incertitude qu’ils font planer sur les générations futures ainsi que sur le devenir des écosystèmes
dont elles dépendent. La complexité de ces changements résulte non seulement de leur dynamique spatiale
et temporelle, mais plus encore de l’interdépendance des différentes problématiques. L’activité humaine
dépasse depuis quelques décennies les capacités de l’environnement et, par conséquent, cette activité ne
se maintient que par la destruction du "capital naturel" qui nous a été confié. Elle doit impérativement se
réinscrire dans les limites de flux de matières premières et d’absorption de déchets autorisées par l’environnement
[173]. Du fait de l’inertie des systèmes naturels, les prochaines années pourraient engager sur des
siècles nos conditions de vie sur la Terre [82].
Deux exemples de l’obstination humaine La perspective d’une accélération de la hausse du niveau
des océans au cours du siècle prochain, éventuellement accompagnée d’une augmentation de la force
ou du nombre de tempêtes, laisse prévoir l’extension de submersions et l’exacerbation des reculs érosifs.
Convient-il alors de s’obstiner à vouloir maintenir un état du littoral qui serait condamné par les lois de la
Nature ? La solution de relocalisation des humains et de leurs activités se heurte à des mentalités collectives
qui évoluent avec lenteur et perçoivent tout repli comme un renoncement [160].
2930 CHAPITRE 3. DÉVELOPPEMENT DURABLE
Concernant la biodiversité, les projections pour le 21ème siècle font état de taux d’extinction d’environ
dix mille fois supérieurs aux taux moyens du passé. Quels que soient les chiffres exacts, nous sommes en
passe de connaître une crise majeure de la biodiversité. Mais cette fois ci, la cause est liée aux hommes
qui ont réussi à bouleverser les équilibres naturels par le biais de la connaissance et de la technique. Le
problème, c’est que cette espèce voit encore mal ce qui justifierait d’abandonner ce chemin [174].
De la croissance à tout prix Concernant le développement durable, il subsiste une ambiguïté liée à l’idée
même que le développement est très souvent associé à une logique de croissance, contrairement à ceux qui
revendiquent la fin de la croissance [87]. Les trois piliers identifiés lors du sommet de Rio (environnement,
économique, social) étant posés équivalents et substituables, le monde des affaires peut justifier une diminution
d’un pilier en contrepartie d’une augmentation sur un autre, le tout étant exprimé en valeur. Or, la
conception marchande de la société et de la nature confère une valeur nulle à celle-ci : le poisson, l’eau ou
la biomasse des sols n’ont pas de prix, leur seul prix apparent se réduisant à leur coût d’extraction. L’économie
marchande dérégulée produit mécaniquement la ruine de l’environnement et la dégradation du monde
vivant. Ne poursuivant aucun but autre que la croissance pour la croissance, le développement durable se
réduit à une mise en bourse de la nature [285].
Des responsabilités partagées Les décideurs qui ont en charge de construire la société de demain doivent
prendre en compte les changements globaux qui sont à l’œuvre pour assurer à nos sociétés un avenir sur le
long terme. Or, la recherche scientifique nourrit parfois l’illusion que la course à la technologie émanant des
travaux scientifiques peut proposer des issues à toute difficulté [82]. Sans prétendre aux miracles, il revient
donc aux scientifiques de toute part de jouer un rôle essentiel pour décrire, comprendre, analyser, modéliser,
prévoir et développer des stratégies adaptées à ces mutations. Dans ce contexte, l’interdisciplinarité est
une aide majeure dans l’analyse et la compréhension des phénomènes et des systèmes complexes, dans le
développement de technologies de rupture ou la compréhension et la conception de réponses aux grands
enjeux sociétaux de la planète [26]. Alors, bien plus que de se côtoyer, les différents champs disciplinaires
scientifiques de tous les horizons doivent absolument collaborer avec obstination, écoute réciproque et
humilité pour contribuer à relever ces défis colossaux qui se dressent face à nous.
Détour philosophique et politique Pour Kant, seuls les êtres raisonnables ont une valeur intrinsèque et
tout le reste est considéré comme moyen ou valeur instrumentale. Cette position "Anthropocentrique" ne
reconnaît de dignité morale qu’aux seuls êtres humains. Le "Biocentrisme" considère lui que tout individu
vivant est, à égalité avec tout autre, digne de considération morale. Certains environnementalistes vont plus
loin avec l’approche "Écocentrique" en considérant qu’il faut accorder de la valeur non pas à des éléments
séparés, mais à l’ensemble qu’ils forment [165].
D’un point de vue plus politique, l’affirmation qui laisse à penser que les sociétés humaines peuvent
avoir un avenir infini dans un monde aux ressources limitées reste un pari hasardeux [202]. Et après plusieurs
années de politiques qualifiées de développement durable, force est de constater la contradiction
entre l’intention de la durabilité et la continuité de pratiques court-termistes [277]. Pour rebâtir les conditions
d’un vrai développement durable, une refonte des régulations doit être opérée pour rendre très coûteux
tout comportement dégradant les écosystèmes et très profitable ceux qui contribuent au maintien ou à l’amé-
lioration des potentiels naturels [285]. L’objectif demeure le développement, mais encadré par une nouvelle
technique de gouvernance, fondée sur la recherche d’un équilibre.
3.2 Dimensions urbaines du développement durable
Le modèle actuel de développement urbain des pays riches n’est pas durable. Si tous les pays se mettaient à
consommer comme nous, les ressources seraient épuisées en quelques décennies. Le développement de la
Chine et de l’Inde selon nos modèles de consommation est un scénario catastrophe.3.2. DIMENSIONS URBAINES DU DÉVELOPPEMENT DURABLE 31
L’enjeu de l’urbanisme en Europe aujourd’hui est celui de créer une ville durable. Pour cela, il est
nécessaire de rendre plus dense et plus compacte la ville lors des mutations. C’est pourquoi on considère
aujourd’hui que les friches sont devenues des enjeux majeurs pour « reconstruire la ville sur la ville ». Il faut
donc veiller à ce que les projets soient denses, mais que cette densité soit acceptable pour le public. Il faut
chercher à densifier le plus possible la ville en fonction du contexte et à recréer des liens entre les secteurs.
Il faut redévelopper ce que DAVID MANGIN appelle la « ville passante » [180]. Mais, parallèlement, il
faut transformer les règlements urbains qui, bien souvent interdisent la densité et les mutations urbaines,
cherchant à préserver chaque fragment en l’état.
Métropolisation La métropolisation peut se comprendre comme l’avènement d’un réseau mondial d’aires
métropolitains connectées entre elles par des réseaux d’échanges. Elle résulte de deux processus :
• la métamorphose du capitalisme qui s’universalise, entraînant des mutations profondes des modes
d’organisation de la production parallèlement à la révolution numérique ;
• la polarisation spatiale croissante au profit des zones les plus développées.
A l’échelle locale, la métropolisation entraîne une restructuration spatiale et économique du marché du
travail qui concerne un territoire plus vaste que la ville centre incluant les banlieues, le périurbain et parfois
les espaces ruraux et naturels. Elle exige une grande mobilité de la part des individus pour effectuer les
trajets entre les espaces résidentiels, les lieux de travail, des loisirs et des services. Dans un monde globalisé,
seule la scène métropolitaine autorise le déploiement stratégique des contraintes économiques, sociales et
environnementales relevant simultanément de l’échelle planétaire et locale. À condition de l’intégrer dans
le territoire métropolitain, la ville représente donc un espace pertinent du développement durable en raison
de sa pérennité historique, de son ancrage dans l’économie globalisée et de ses capacités d’adaptation face
au changement climatique et des enjeux du mieux vivre ensemble [109].
Penser globalement / agir localement Les villes attirant l’essentiel des ressources et étant à l’origine, directement
ou indirectement, de la plupart des émissions, la connaissance et la maîtrise de leur métabolisme 1
constituent des enjeux majeurs.
L’architecte RAYMOND LORENZO note qu’un habitant de la ville de Denver, dont la densité est très
faible, consomme environ 3800 litres d’essence par an alors qu’un habitant de Manhattan en consomme
335 litres, soit onze fois moins. Cela veut donc dire que les formes de la ville, sa densité et les modes de
vie qui leur sont liés ont une influence importante et donc qu’il est possible d’agir à travers l’urbanisme. Il
faut repenser les infrastructures urbaines, mais il faut aussi agir localement, en particulier sur la manière
d’augmenter la densité par des aménagements favorisant un sentiment de faible densité : la présence vé-
gétale et les quartiers mixtes sont des éléments pouvant y contribuer. Il faut avoir des visions globales en
proposant des politiques spécifiques. Mais il faut ensuite que chaque agglomération ait une réflexion locale
sur son impact territorial et sur les moyens de l’améliorer. Comme l’a souvent montré FRANÇOIS ASCHER,
on ne peut plus aujourd’hui faire l’urbanisme du haut vers le bas, comme dans les années 60. Il faut écouter
les habitants de base, faire du bottom / up, de la pédagogie, convaincre mais aussi écouter pour inventer de
nouvelles solutions. Il faut donc avoir une action parallèle et forte à des échelles plus petites comme celle
du quartier.
En fait, il s’agit d’une application du principe « penser globalement, agir localement ».
Mais le renouvellement du parc urbain représentant environ 1 % par an, il ne suffira pas à lui seul à
produire une ville écologique. Il faut donc aussi réfléchir au moyen d’agir sur l’ancien, sur l’existant pour
l’améliorer et le rendre plus performant.
Comprendre et agir sur la forme des villes [71]
1Ensemble des processus par lesquels les villes importent, consomment, transforment, stockent ou exportent énergies et
matières.32 CHAPITRE 3. DÉVELOPPEMENT DURABLE
Les modes de transport ont façonné les villes La forme des villes est en grande partie liée aux
possibilités de déplacement des citadins. Les modes de transport rapide ont transformé la ville. Avec le
chemin de fer, la vitesse moyenne des citadins est passée de 3 km/h à 15 km/h et les villes ont connu une
première période d’étalement urbain caractérisée par des faubourgs et des banlieues disposées en « doigt de
gant » le long des axes ferroviaires. Avec l’automobile, et le passage à une moyenne de 30 km/h, la ville
a pu s’étendre à nouveau mais cette fois ci de façon dispersée : tout terrain étant devenu potentiellement
urbanisable dans un large rayon autour des centres urbains. La ville peut alors s’étaler et s’émietter puisque
les villages proches peuvent être le support d’une urbanisation souvent peu dense.
La vitesse a favorisé l’étalement urbain et les ségrégations La vitesse rend la proximité moins
impérieuse et permet à de nombreux citadins de s’affranchir de la promiscuité. Avec la vitesse et des mé-
canismes fonciers qui renforcent souvent les ségrégations sociales et fonctionnelles, la diversité dans la
proximité n’est plus le principe d’organisation de la ville, seulement celui de certains de ces quartiers. La
vitesse ne fait pas gagner de temps : elle accroît les possibilités de choix et permet l’espacement.
Impacts des choix passés En raison de leurs valeurs patrimoniales, les politiques de mise en valeur
des centres ont été plus fortes en Europe qu’en Amérique du Nord : leur dédensification a donc été moins
marquée. Concernant les politiques foncières visant à limiter la consommation des sols, elles ont été historiquement
puissantes dans un pays dense et vulnérable au risque d’inondation comme les Pays-Bas. Les
fortes densités de l’« Europe rhénane » ont impliqué très tôt une promotion des transports publics alors que
l’« Europe latine » y est restée longtemps indifférente, favorisant un système territorial fortement dépendant
des transports motorisés et d’une énergie peu chère et abondante. En France, le secteur résidentiel ne
compte que pour un quart de l’extension des surfaces urbanisées chaque année. Ce sont les infrastructures
de transports, notamment routes et aéroports, les zones commerciales et les espaces d’activités qui sont
responsables des trois quarts de l’extension spatiale.
Nécessité d’une approche systémique L’action sur la seule densité ne conduit pas nécessairement
à réduire les besoins de déplacement. Sans action simultanée sur la localisation des diverses ressources
territoriales, que ce soit les lieux d’emploi, de loisir, d’équipement ou encore d’habitat, la densification
ne permet pas une réduction des distances pour relier ces différentes ressources. D’autre part, certains
agencements périurbains ou ruraux peuvent se révéler favorables à la marche à pied, au vélo ou au transport
collectif et les zones d’imbrication entre espaces urbanisés et territoires agricoles et naturels peuvent être
intéressantes pour des circuits de proximité alimentaires et la préservation de la biodiversité. Enfin, bien
que décrié, n’oublions pas que l’étalement urbain a permis à de nombreux citadins d’accéder à la propriété.
Une politique relative aux formes de la ville ne peut se résumer à une simple limitation de l’usage des
sols, car agir sur la forme d’une ville, c’est agir sur les systèmes de formation de prix des fonciers, sur
l’organisation des réseaux ou encore sur les mécanismes économiques qui la sous-tendent.
Écologie urbaine D’après le dictionnaire Le Robert, le mot écologie aurait deux sens :
1. étude des milieux où vivent les êtres vivants ainsi que des rapports de ces êtres entre eux et avec le
milieu ;
2. mouvement visant à un meilleur équilibre entre l’homme et son environnement naturel, ainsi qu’à la
protection de celui-ci.
L’écologie urbaine doit partir de l’étude du milieu en incluant non seulement les aspects physico-biologiques
mais aussi les rapports sociaux humains, pour tendre vers un meilleur équilibre entre l’homme et son environnement
naturel, ainsi qu’à la protection de celui-ci. L’écologie ne peut pas se limiter aujourd’hui à "la
protection de la nature" mais doit avoir une vision plus large selon laquelle l’urbain est un milieu global et
que la densité urbaine n’est pas en soi un mal, peut-être même une qualité. La ville intelligente, intéressée3.2. DIMENSIONS URBAINES DU DÉVELOPPEMENT DURABLE 33
à sa propre survie, doit être plus économe et attentive aux composantes de l’environnement, mais aussi aux
équilibres sociaux qui, pour une part, la conditionnent.
Un aménagement écologique, c’est-à-dire répondant aux exigences de développement durable, doit porter
sur une dizaine de thèmes [69] :
• mixité et densité ;
• qualité de l’air ;
• qualité de l’environnement sonore ;
• transport et déplacement ;
• gestion du cycle de l’eau (pluies, eaux usées, alimentation, nappe phréatiques, rivières) ;
• gestion des déchets ;
• énergies : consommer moins et tendre vers les énergies renouvelables ;
• présence de la nature en ville : bio diversité, milieu naturel, faune et flore ;
• paysage et protection du patrimoine ;
• une économie durable.
Éco-quartiers Les planificateurs et gestionnaires de la ville ont utilisé depuis les vingts dernières années
différentes techniques pour limiter les émissions de polluants (en particulier les gaz à effet de serre) par les
transports [253] :
• proximité d’un tramway ou d’un métro ;
• rapprochement des commerces et des écoles ;
• priorité donnée à la marche ou au vélo ;
• réduction de la place de la voiture.
Grâce à la mobilisation des citadins et à la contribution des élus et techniciens locaux, les éco-quartiers
ont souvent dépassés les aspects environnementaux avec :
• une diversité du peuplement renforcée par une forte présence de logements ;
• l’intégration d’établissements pour personnes âgées favorisant l’intergénérationnel ;
• des lieux d’animation multiculturels et multifonctionnels.
Dans cette évolution liée aux éco-quartiers, l’enjeu est double :
• pousser le curseur écologique le plus loin possible ;
• faire en sorte que ce type d’approche ne soit pas réservé aux grandes opérations, mais imprègne toutes
les opérations, même les plus petits lotissements.
Pour ROLAND CASTRO, architecte et urbaniste de renom habitué des plateaux de télévision et des
stations radiaphoniques, les éco-quartiers posent effectivement la question des villes de demain. Mais au
terme éco-quartier qu’il n’aime pas beaucoup, il préférerait qu’on emploie le terme quartier-éco, parce que
l’objectif principal consiste d’abord à faire un quartier, un lieu que l’on habite, que l’on a envie de voir et
qui nous sourit. Ensuite seulement, il s’agit de sublimer la contrainte lorsqu’elle arrive pour ne pas la subir.
Dans notre cas, tout ne doit pas être subordonné à la contrainte écologique, ce qui pourrait alors conduire à
faire très mal les morceaux de la ville. Proposer une série de logements, de maisons de diverses formes, de
taille variable, mais à chaque fois dans un scénario de trajet, de rapport à l’autre, donner le sentiment qu’on
peut être à la fois chez-soi et avec les autres si on le veut : c’est vers cela qu’il faut tendre. De nos jours,
beaucoup d’architectes tentent de faire des logements qui ne soient pas alignés, des logements qui soient
dans un rapport les uns avec les autres, qui participent à la formation des rues, des places ou des venelles.
Des logements qui font les centres et qui fabriquent de la marche, du trajet, de la promenade. « Il faut faire
les quartiers comme un promeneur, comme un flâneur, et créer de la surprise ! ».
Renouvellement des grands ensembles Les pratiques actuelles en urbanisme de renouvellement des
grands ensembles en France [1] se concentrent autour du principe d’une recomposition urbaine visant à :34 CHAPITRE 3. DÉVELOPPEMENT DURABLE
• désenclaver les sites par la recomposition des rues, des parkings, la création de moyens de transports
collectifs, l’introduction d’équipements publics ;
• permettre une certaine mixité par la démolition des bâtiments posant le plus de problèmes (généralement
les immeubles les plus hauts, en particulier les tours) et la création de nouveaux bâtiments
valorisant le foncier, généralement des logements en accession pour les classes un peu moins pauvres
et des immeubles locatifs proposant un type de logement spécifique améliorant l’offre ;
• améliorer la qualité des lieux et les possibilités d’appropriation par les habitants grâce à la transformation
des espaces de proximité des immeubles.
Deux instruments majeurs sont aujourd’hui utilisés :
• la démolition- reconstruction ;
• la résidentialisation.
La démolition - reconstruction Pendant longtemps, l’État est resté réticent à l’idée de démolir des
bâtiments qui n’étaient pas toujours amortis. Ce n’est qu’à partir du milieu des années 90, que l’idée de
démolition va s’imposer avec, pour objectif, de modifier l’image des quartiers et d’inverser les processus de
dévalorisation. L’idée globale est que, pour modifier en profondeur ces quartiers, il faut recréer de la mixité
sociale et que, pour cela, il faut favoriser l’intervention d’opérateurs privés dont la production s’adresse aux
classes moyennes. On démolit donc beaucoup aujourd’hui et l’on reconstruit, soit sur place, soit en lisière
des zones, soit parfois un peu plus loin, des logements selon des formes urbaines plus traditionnelles :
des rues, des places, de petits immeubles avec un nombre limité de cages d’escalier et, généralement, des
hauteurs limitées.
La résidentialisation L’action sur le bâti ne répond pas à tous les problèmes, mais elle est utile. C’est
un des moyens de participer à une transformation positive du lieu. La résidentialisation est une forme particulière
d’action qui s’oppose dans son concept à la démolition / reconstruction : on requalifie les espaces
collectifs et les espaces publics, afin de transformer les formes urbaines issues des théories de l’urbanisme
moderne. La résidentialisation vise à "configurer un ou plusieurs immeubles et leurs abords en une unité
résidentielle clairement identifiée, matérialisée par un marquage plus ou moins symbolique de ses limites".
Cette requalification des espaces de proximité, publics et privés des grands ensembles, permet de gérer le
problème des poubelles, du nettoyage des espaces publics et privés. Mais aussi d’améliorer le confort du
logement : on peut ajouter des balcons, créer des jardinets pour les logements du rez-de-chaussée. En modi-
fiant le statut du sol et les formes urbaines, la résidentialisation répond aux besoins des habitants en créant
des lieux bien différenciés et supprime l’indétermination des espaces du quotidien au-delà du logement.
3.3 Enjeux à l’export du savoir-faire français en matière de ville durable
Le Paris de Haussmann a été interprété dans nombre de grandes villes à travers le monde. A l’échelle de la
planète, il est reconnu que Londres, New York, Paris et Tokyo sont observées et influencent les orientations
des autres grandes villes qui sont le réceptacle des populations qui s’y agglutinent [41].
Compte tenu de ces éléments et forts de leur expérience en matière de ville durable, certains acteurs
français se mobilisent et se regroupent pour exporter leur savoir faire. C’est le cas par exemple de VIVAPOLIS2
, une marque française de la ville durable qui cherche à fédérer de nombreux acteurs autour de quatre
caractéristiques fortes qui définissent la « French touch » :
• l’homme positionné au cœur de chaque projet pour améliorer les conditions de vie de l’habitant ou de
l’usager ;
2www.vivapolis.fr3.4. LA VOITURE AU CŒUR D’UNE NOUVELLE RÉVOLUTION INDUSTRIELLE ? 35
• la performance pour atteindre une consommation réduite des ressources naturelles et une intégration
optimale des fonctions de la ville ;
• une gouvernance forte et participative pour pouvoir organiser la ville, la projeter dans le futur, la
financer, définir des règles et la faire fonctionner au quotidien ;
• une adaptation systématique au contexte local reposant plus sur une démarche ou une vision que sur
un modèle tout fait : à chaque cas correspond une solution particulière en fonction du climat, de la
géographie des lieux, de la culture, de son histoire.
La France possède plusieurs champions dans différents domaines :
• en construction : BOUYGUES, VINCI, EIFFAGE ;
• en mobilité : ALSTOM ;
• en énergie : EDF, GDF SUEZ ;
• en gestion des déchets ou de l’eau : VÉOLIA.
Il y a également en France une multitude de petites et moyennes entreprises qui sont leaders sur des niches
du développement durable. L’objectif est d’arriver à une alchimie de la ville durable en regroupant différents
acteurs français autour d’une vision unique pour être capable de l’exporter. La construction de la ville se fait
partout, et plus particulièrement dans les pays émergents comme le Maroc, la Chine, le Brésil ou la Turquie.
Il faut être capable de travailler ensemble pour apporter des réponses globales aux questions posées afin de
réaliser un quartier ou une ville durable. Dans ce contexte, les collectivités locales françaises pourraient
servir de vitrine à ce qui peut être proposé à l’export.
Autre exemple, la création du Groupement d’Intérêt Scientifique « Modélisation Urbaine » (GISMu)3
qui s’est donné pour objectif de faire converger les besoins entre les mondes de la recherche, de l’ingénierie,
de la maîtrise d’ouvrage et de la maîtrise d’œuvre dans le champ de la modélisation urbaine, depuis la
gouvernance et la conception des villes jusqu’à leur exploitation [130]. Sa vocation consiste à promouvoir
une approche plus intégrée de la modélisation urbaine en abordant les différentes échelles spatiales et temporelles,
en intégrant un développement des villes plus durable, en étudiant différentes typologies de villes
et en explorant des domaines novateurs (comme la modélisation des flux entrants et sortants de la ville).
Cette entité regroupe à elle seule 73 membres dont 13 établissements, 12 entreprises, 38 unités de recherche
et 10 pôles, agences ou autres organisations. Parmi ses nombreuses missions, on retrouve la promotion à
l’exportation du savoir-faire français en matière de modélisation urbaine.
3.4 La voiture au cœur d’une nouvelle révolution industrielle ?
Autrefois un luxe, hier encore une commodité, la voiture est devenue une nécessité pour une large frange de
la population sous l’impulsion d’un mode d’urbanisation qui lui est dévolu et qui s’est largement répandu.
A cause de sa vitesse, des grandes distances qu’elle autorise, d’un très grand choix d’itinéraires et d’un
accès presque continu le long des voies, la voiture éparpille la ville et, avec elle, la demande de livraisons
ou de collectes. Elle favorise la diffusion de l’habitat, la décentralisation des activités ou la concentration de
certains services. Par les effets de coupure des voies rapides dangereuses et bruyantes, elle divise le territoire
et sépare plus qu’elle ne lie de grands pavés voisins. Et dès qu’une artère prend de l’importance, l’arrêt et
la vie en bordure devenant de moins en moins confortable, son accès se limite à quelques points de plus en
plus éloignés ou aléatoires. En conformant la ville à ses possibilités ou besoins, la demande de transport
s’est dispersée loin de l’offre crédible de transport en commun et l’éparpillement croissant a disqualifié les
modes de déplacement doux (marche à pied, vélo).
Cet outil toujours plus envahissant pousse à bitumer et à bétonner à grande échelle des surfaces toujours
plus gigantesques pour réaliser des infrastructures, des voies de circulation et des aires de stationnement qui
lui sont dédiés. Le transport routier de marchandises qui représente 1/3 des émissions de CO2 en ville a su
profiter des infrastructures développées pour la voiture sans supporter les dépenses liées aux dégradations
3http ://www.urban-modelling.org/36 CHAPITRE 3. DÉVELOPPEMENT DURABLE
qu’il occasionne. Le système routier en croissance a dépassé un seuil au-delà duquel il est devenu contreproductif.
Il produit de grandes injustices et complique toujours plus les politiques de redistribution des
richesses, quand ceux qui subissent ses nuisances ne sont pas ceux qui profitent de ses commodités. Les
populations les plus pauvres peuvent rester piégées dans les zones les plus pauvres, les plus polluées ou
bruyantes et les plus privées d’emplois, de services urbains ou de paysages agréables [186].
Néanmoins, les jeunes occidentaux éprouvent de moins en moins d’intérêt pour l’automobile et ils n’ont
plus envie de la grosse voiture de leurs parents. L’imaginaire dominant de notre univers automobile durant
les trente glorieuses n’est plus adapté à cette nouvelle génération qu’il va falloir prendre en compte pour
réinventer les moyens de déplacement de demain. L’automobile doit se redéfinir et on peut faire l’hypothèse
de nouveaux modes de transports situés aux interstices des deux et quatre roues : probablement un modèle
de petite voiture léger et écologique.
Mais pour le moment, des pays comme l’Inde ou la Chine sont dans une dynamique de rattrapage
économique et encore dans la fascination pour un modèle occidental qui n’est pourtant pas viable. Chaque
jour, 1 200 véhicules nouveaux sont immatriculés en Chine et la terre comptera cinq fois plus de voitures
d’ici 2050. Ceci va provoquer une course aux matières premières de plus en plus effrénée au fil des années
à venir, avec des conséquences déjà visibles (par exemple l’intérêt croissant de la Chine pour l’Afrique).
Il va pourtant falloir adopter de nouveaux modes de croissance écologiquement responsables et le modèle
énergivore apparu au début du 19ème siècle va devoir se réinventer. C’est une nouvelle révolution industrielle
qui est en train de se dessiner sous nos yeux, et la voiture est au cœur de ce bouleversement [20].
3.5 Utopies
3.5.1 Une « Utopie Concrète » pour Paris
Le Grand Paris ROLAND CASTRO fait partie d’une génération d’architectes et urbanistes qui a énormément
réfléchi et appris des échecs du passé, une génération qui a beaucoup déconstruit la pensée des
temps modernes. Sa pensée intègre l’aspect politique et citoyen d’une architecture urbaine. Il est partisan
de la réhabilitation par le remodelage des grands ensembles. Il a également initié le mouvement politique de
l’Utopie Concrète pour transformer sans révolution la société vers plus d’égalité républicaine et de justice.
Il y défend l’idée d’avancer des utopies concrètes et évolutionnaires pour redonner du sens à la politique.
Pour lui, l’utopie concrète : c’est la vérité de demain. Tout comme les congés payés ou l’abolition de la
peine de mort étaient des utopies en leurs temps, elles sont devenues des réalités de nos jours.
Il a été choisi par le président NICOLAS SARKOZY pour encadrer une équipe pluridisciplinaire lors de
la consultation sur le Grand Paris : un projet de loi adopté le 19 juillet 2013 et visant à créer une métropole
qui regroupera, dès 2016, Paris et trois départements de la petite couronne, doté de compétences en matière
de logement et d’aménagement du territoire. Ce projet a été initié sous FRANÇOIS MITTERRAND4
, lancé
par NICOLAS SARKOZY et repris sous FRANÇOIS HOLLANDE. Il s’agit donc d’un projet qui dépasse de
loin les clivages politiques habituels de la France (gauche / droite).
Lorsque ROLAND CASTRO décrit ce projet, il considère un territoire réel plus grand que celui retenu
par la loi, qu’il dit enfermée dans des limites administratives trop étroites. Pour lui, le Grand Paris s’étend
sur une zone de 40 km par 40 km, concerne 10 millions d’habitants et regroupe 400 communes. Ce projet
porte l’ambition de faire une métropole multipolaire caractérisée par une multitude d’éléments attractifs
en dehors du centre historique. A cette échelle, le Grand Paris sera aussi grand que Berlin ou le Grand
Londres. Le Grand Paris va permettre de faire la "ville à la campagne" avec un territoire beaucoup plus
riche du point de vue végétal ou même agricole, un espace métropolitain dans lequel chaque quartier est
attractif, sympathique, caractérisé par le plaisir d’y habiter et partagé par tous, ou chaque quartier « vaut
bien » n’importe quel autre. C’est en cela que le Projet du Grand Paris représente une utopie concrète.
Mais en dehors des aspects techniques, ce projet est soumis à d’importantes crispations politiques liées
4Projet Banlieues 89 comportant un volet Grand Paris, confié à Roland Castro et Michel Cantal-Dupart en 1983.3.5. UTOPIES 37
d’une part à l’insuffisance d’une implication forte au plus haut niveau de l’état, et d’autre part à la présence
de nombreux « barons » locaux qui disposent d’une influence importante et qui ne servent pas systématiquement
la cause collective. Pour ROLAND CASTRO, le manque de budget identifié pour financer le projet
n’est pas la question la plus grave car il y a beaucoup d’économies à réaliser en réformant des formes d’administration
du territoire devenues superfétatoires avec le temps (notamment en supprimant les conseils
généraux). De plus, le projet de loi relatif au Grand Paris prévoit :
• l’objectif de création d’un million d’emplois supplémentaires en Île-de-France sur les quinze prochaines
années5
;
• l’obligation de construire 70 000 logements par an.
Paris ville-monde Dans sa note ouverte d’octobre 2013 adressée au Président de la République et intitulée
« Vivre un Grand Paris » [41], Michel CANTAL-DUPART interpelle à sa manière François HOLLANDE
pour lui faire part de son inquiétude face aux orientations de ce projet qui sont contraires aux convictions
qu’il porte. Dans son document, il dresse un bilan complet de la situation et suggère sept objectifs pour
redresser la barre.
Raccommoder les quartiers Il n’y aura pas de Grand Paris possible dans une ville à plusieurs vitesses
: il ne s’agit pas de réaliser des opérations comme des éco-quartiers qui poussent de toute part sans
se soucier de l’évolution des quartiers dans lesquels ils s’insèrent. Plus que de revisiter les Quartiers Prioritaires,
il faut véritablement désenclaver les cités. Quand ils existent, les fleuves sont des éléments intéressants
pour fédérer une ville car ils ne subissent pas les limites administratives.
Premier et dernier logement Les petits logements disponibles pour les jeunes (premier logement)
sont souvent inaccessibles pour cause de loyer prohibitif et c’est la même chose pour un nombre important
de retraités (dernier logement) qui doivent quitter la capitale parce que la vie et les logements y sont devenus
trop chers : ce phénomène contribue à déséquilibrer la ville. Pour corriger ce phénomène, il est possible
d’augmenter encore la densité de la ville dans des proportions raisonnables en utilisant ses réserves foncières
aériennes qui sont vastes sans pour autant faire de grandes tours. D’autre part, il peut être intéressant de
revisiter les immenses zones d’activités et leurs parkings pour proposer une évolution foncière lorsqu’il est
possible d’y accueillir des logements. Au lieu de rajouter des bureaux déjà en nombre et parfois vacants,
il faudrait leur préférer des programmes d’habitation pour arriver à un équilibre, notamment à proximité
immédiate des gares pour inciter les habitants à utiliser les trains plutôt que des voitures (lorsqu’on construit
des bureaux à proximité immédiate des gares, c’est l’effet inverse qui se produit : les gens quittent leur
domicile avec leur véhicule et tentent par tous les moyens possibles de rejoindre leur lieu de travail en
voiture).
Les chemins de l’écolier L’école est un lieu d’apprentissage de la ville, tant par le contenu de ses
enseignements que par le chemin emprunté, itinéraire qui mène du domicile aux portes de l’école et fait
découvrir aux écoliers les réseaux de la ville. Contrairement au parvis des mairies et des églises, on soigne
rarement celui des écoles qui mériterait pourtant d’être plus accueillant pour recevoir les parents qui s’y
regroupent en attendant leurs écoliers.
Cultiver le bien être Concernant l’implantation hospitalière, une position centrale dans l’agglomération
peut être idéale à condition que les accès soient aisés et que soit prévue, pour le personnel soignant, une
possibilité d’un habitat adapté de proximité. Si l’implantation est périphérique, l’accès à une intermodalité
est impératif. Le plateau technique innovant et performant reste à l’hôpital, mais l’hôpital doit trouver des
moyens de se déployer en ville au plus près du milieu de vie de ses patients, pour leur confort. Concernant
5D’après l’étude d’impact annexée au projet de loi (source : http ://www.senat.fr/rap/l09-366/l09-3667.html)38 CHAPITRE 3. DÉVELOPPEMENT DURABLE
les possibilités de restauration des habitants et des visiteurs, la convivialité d’un Grand Paris passe par le
bien manger. Paris est une ville magnifique, riche d’une poésie fabuleuse, mais qui gagnerait tout de même
à offrir un meilleur accueil aux touristes venus du monde entier pour la rencontrer.
Donner accès à toute la ville Il est essentiel de pouvoir se déplacer dans toute la ville pour accéder
au savoir, au travail, à la promenade ou aux biens de consommation. Les nouvelles lignes de métro express
et les 70 gares et stations qui seront construites devront être l’occasion de valoriser les quartiers qui les
accueilleront en recherchant l’intermodalité et la transversalité sans imposer un passage obligé par le centre
de Paris.
Gommer l’attrait du vide Il faut délimiter de façon précise et sans tolérer de flou les parcelles urbanisées
et urbanisables des parcelles à vocation agricole pour concevoir un urbanisme d’une certaine densité
(sinon les lisières restent perméables pour les aménageurs) et créer un front de terre semblable à un front de
mer pour offrir de larges perspectives aux paysages franciliens et protéger les terres agricoles qui peuvent
fournir aux citadins des produits régionaux valorisants. Les terres agricoles ainsi protégées pourront évoluer
sereinement pour mieux assurer les besoins alimentaires de la ville qu’elles côtoient.
Valoriser la Seine La Seine est la plus belle avenue de Paris, mais dès qu’on quitte le centre et qu’on
arrive en banlieue, c’est fini ! Elle est pourtant un liant évident à tout le projet parce qu’elle coule à travers
le territoire sans se soucier des limites administratives et parce que se concentrent sur ses rives universités
et centres de recherche qui correspondent à l’image et à l’avenir du Grand Paris. De plus, elle abrite sur ses
berges de nombreuses friches industrielles qui permettraient de qualifier un paysage exceptionnel.
3.5.2 La « Ville Creuse » : un exemple de ville idéale
La ville est le lieu complexe où de multiples forces s’opposent et se disputent. Comment par exemple
réconcilier les attentes légitimes du citadin (plus d’espace, des facilités d’accès aux activités et services,
un cadre de vie de qualité, convivial et sain, etc.) avec une réduction de nos consommations en ressources
naturelles, une diminution de nos pollutions, de nos déchets ou d’un étalement urbain sans fin ? Existe-t-il
une forme de ville optimale capable d’améliorer son fonctionnement, de réduire ses besoins, ses gaspillages
et ses nuisances ? Y a-t-il une forme d’organisation de l’espace qui puisse nous conduire à ces différentes
optimisations ?
JEAN-LOUIS MAUPU6
, bien qu’il ne soit pas urbaniste, s’est risqué sans état d’âme à cet exercice dans
son livre intitulé « La ville creuse pour un urbanisme durable » [186]. La ville utopique qu’il propose repose
sur trois grands principes complémentaires :
• un réseau de transport multiple qui suit une forme hexagonale constituée de 6 nœuds et formant une
boucle (maille ou anneau) parsemée tous les 500 m d’une station de transport collectif (TC) ;
• des constructions avec une densité importante aux abords de la maille, son centre étant réservé à de
grands espaces verts et naturels traversés d’allées, d’une rivière, d’un lac, d’exploitations agricoles,
maraîchères et horticoles, de terrains de sport, d’un cimetière, de jardins et de vergers privés accessibles
aux seuls modes doux et véhicules de service ;
• une mixité des lieux de logement et d’activité jusqu’à même les superposer dès que c’est possible.
Chaque anneau autonome fait environ 4 km de largeur pour 12 km de longueur, son tracé étant enveloppé
d’un bâti mixte et dense pouvant accueillir 60 000 habitants dont 30 000 emplois et 25 000 ménages
comptabilisant de 10 à 20 000 voitures. La ville peut croître en y ajoutant des anneaux supplémentaires sur
le principe d’une structure alvéolaire en nid d’abeilles.
Sur le contour de chaque anneau, on retrouve une ligne de TC aérienne guidée qui comprend 24 stations
ainsi qu’une voie dédiée aux vélos et piétons, et une troisième ligne si possible en sous-sol réservée aux
6
Ingénieur Arts et Métiers, chercheur à l’Inrets : Institut National de Recherche sur les Transports et leur Sécurité.3.5. UTOPIES 39
véhicules utilitaires, aux véhicules de service ou de transport de marchandises ainsi qu’aux voitures particulières
qui se partagent l’espace du niveau inférieur également réservé aux machineries, aux divers réseaux
techniques, aux aires de stockage et à la totalité des parkings publiques et privés. Les activités engendrant
les plus gros trafics de marchandises se situent près ou au niveau de l’artère routière alors que celles qui
induisent un trafic de voyageurs sont positionnées à proximité de la ligne de TC. les lieux de logement et
d’activité sont mélangés et répartis selon leur nécessité en termes de proximité des diverses autres lieux, de
la lumière, de l’air libre ou en direction de la verdure, tout cela pour réduire les besoins de déplacement, la
longueur des trajets et respecter la diversité des attentes.
Toutes les constructions réparties de façon homogène étant à proximité immédiate de la boucle, et plus
particulièrement des stations de TC, la ligne de TC devient très attractive et la plupart du temps, la voiture
n’est plus d’une nécessité absolue. De plus, comme le réseau de TC dessert l’ensemble des lieux fréquentés
sur l’anneau, il est en mesure de capter 1 à 2 voyages par habitant et par jour contre 0,1 à 0,2 en règle
général. Compte tenu de sa structure en boucle, la ligne de TC peut donc être rentabilisée avec 10 fois
moins d’habitants desservis. Pour mieux répondre à la diversité des attentes individuelles, des pavillons,
villas et cabanons peuvent être tolérés dans l’espace de verdure en conservant des règles justes et strictes
d’accessibilité, d’implantation et de construction pour garder à la partie dense la vue et la proximité de la
verdure et des beaux espaces libres.
Pour l’approvisionnement en marchandises, les transporteurs déposent ou prennent leur chargement sur
des plateformes logistiques situées aux entrées de la ville et directement branchées sur les voies interurbaines
rapides ou sur une gare ferroviaire. Un service de véhicule adapté peut alors distribuer et collecter
les colis ou assurer les échanges internes en accédant aux points de livraison et de collecte localisés sur le
court linéaire de voirie couvert qui reste d’accès facile aux poids lourds.
Pour traverser un anneau (diamétralement), il faut compter entre 40 et 60 mn à pieds, 15 mn à vélo et 15
mn en TC. Une ville constituée de 3 hexagones formant un trèfle équivaut à 2,5 anneaux bâtis, soit 150 000
habitants. Un motif de 7 hexagones formant une fleur à 6 pétales équivalent à 5 anneaux, soit une ville de
300 000 habitants. Avec une bande urbanisée de 500 m de large sur une maille complète, on obtient une
densité de 100 hab/ha7
(carré de 500 m de cotés avec une station de TC en son centre, soit 25 ha avec 2 500
hab) où chaque habitant est à moins de 350 m d’une station de TC et à moins de 250 m d’un grand espace
de verdure. Avec une bande urbanisée de 1 000 m de large, la densité tombe à 50 hab/ha 8
et chacun est à
moins de 550 m d’une station de TC. Le grand espace de verdure central devient moins accessible (il reste
à moins de 500 m) mais il est davantage présent dans toute la bande construite.
Avec cette organisation, la ville creuse permet de réduire efficacement les besoins de mobilité et de
transport de biens, elle se caractérise par un trafic concentré sur sa boucle et une forme urbaine attractive
(densité pas trop élevée, logements individuels, proximité de la nature) économe en énergie et matériaux,
produisant peu de déchets et s’approvisionnant en priorité sur son territoire agricole. Elle peut s’accommoder
facilement de la géographie d’un lieu, de sa géologie ou de son histoire et s’y insérer en douceur tout
en le préservant, le tracé choisi pouvant suivre un chemin existant, encercler un petit bourg de caractère ou
l’intégrer comme nœud principal.
Une ville ainsi constituée pourra s’adapter à des temps plus difficiles, en particulier à une mobilité bien
plus coûteuse des biens et des personnes. Pour s’en persuader, récapitulons ici les attraits marquants de cette
ville pour un développement urbain durable, pour être riche de ce dont on n’a plus besoin :
• la structure compacte et dense du bâti favorise les économies (en matériaux de construction, d’énergie
de chauffage ou de climatisation, en eau, en linéaire et raccordement des réseaux techniques) ;
• la possibilité de circuler en zone couverte et continue favorise la marche à pied et l’usage du vélo ;
• la proximité des lieux (services, formation, travail) réduit la longueur, la durée et le coût des déplacements
contraints ;
• la surface occupée par le mode routier, parkings compris, est réduite (5 % de la surface de la maille) ;
7Densité proche de celle d’une cité jardin comprise entre 160 et 200 hab/ha
8Correspond à une densité proche d’une zone pavillonnaire40 CHAPITRE 3. DÉVELOPPEMENT DURABLE
• tout point du bâti principal est à proximité immédiate d’une ligne de TC ;
• continuité de service des TC (deux itinéraires pour se rendre d’un point à l’autre) ;
• proximité constante des espaces verts et de toutes les activités récréatives rendant la densité viable ;
• absence de nuisances liées à la circulation automobile : effet de coupure, bruit, pollution, danger,
bouchon ;
• possibilité d’extension de la ville par ajout de maille (reproduction du motif) sans remise en cause ou
dégradation des conditions existantes ;
• extrême simplicité grâce à une structure annulaire (flux de marchandises entrant et sortant faciles à
rationaliser, moins de carrefours, signalisation simplifiée, séparation des modes de transport, des flux
en eau, ordure, électricité ou de chaleur) ;
• plus d’éventration permanente des voiries par des tranchées ;
• facilité de maintenance des réseaux (bonne accessibilité, détection des fuites de fluides) ;
• pas d’extrémités de ligne de TC pauvres en trafic, pas de tronçon central surchargé.
JEAN-LOUIS MAUPU nous propose une armature de ville sans centre ni banlieue, une nouvelle machine
à habiter organisée tout simplement le long d’une ligne optimale de transport collectif. Mais cela
nécessite une autorité organisatrice indépendante (ou une auto-organisation durable) capable de la projeter,
de la bâtir et de la maintenir, capable aussi de transcender les contradictions de son opinion publique, et
c’est probablement ce dernier aspect qui constitue la principale utopie de son projet.
3.6 Conclusion
L’urbanisme moderne n’est pas durable car il crée des situations figées, non évolutives. De plus, la réalité
de l’évolution sociale des grands ensembles français a rappelé qu’on ne pouvait omettre les dimensions
anthropologiques et sociologiques de la ville et de l’habitat et qu’au-delà de la satisfaction de ses besoins
de base (manger, s’abriter), l’homme est un être social dont les besoins varient en fonction des cultures et
des organisations sociales. Il faut donc penser globalement tout en agissant localement.
L’un des enjeux majeurs d’un urbanisme durable est de redonner une certaine compacité à l’agglomération,
donc à augmenter la densité de ses secteurs périphériques. Pour y parvenir, il faut sans doute changer
les réglementations urbaines en imposant des densités minimales pour limiter la croissance urbaine et permettre
de doter l’agglomération de services performants et plus économiques. Une densité suffisante peut
être retrouvée en reconstruisant la ville sur la ville. L’introduction de la nature dans l’urbain est un facteur
déterminant pour rendre cette densité supportable. Dans ce contexte, il parait également nécessaire de redonner
à la voiture la place qu’elle mérite en ville, ni plus ni moins, et d’imaginer des transports collectifs
accessibles à tous et performants. D’autre part, la mixité sociale et fonctionnelle apparaît essentielle pour
limiter nos besoins en déplacements, et par conséquent limiter nos consommations d’énergies et diminuer
les nombreuses pollutions (qualité de l’air, bruit, danger, etc.) tout en assurant l’équilibre et la cohésion de
ces grands ensembles vivants.
Le développement de nos villes déterminera l’avenir de l’Europe9
[108].
Dans la pratique, il faut néanmoins distinguer deux situations : celle des pays développés qui possèdent
déjà un milieu très urbain et relativement stable et celle des pays en développement qui voient leurs paysages
urbains se métamorphoser sous l’impulsion de populations rurales nombreuses qui viennent s’agglutiner en
périphérie des villes ou dans les bidonvilles.
"Des solutions en matière de ville durable existent, mais on ne sait pas les rendre désirables. La ville
appelle de nouveaux récits, mais trop peu de personnes sont capables de les produire" [20]. Pour mettre en
œuvre ces solutions qui existent en matière de ville durable et les rendre accessibles au plus grand nombre
à défaut de les rendre désirables, de nombreux projets de recherche ont vu le jour ces dernières années pour
proposer des modèles et outils d’aide à la décision dans bien des domaines de l’urbanisme et accompagner
ainsi les décideurs dans des choix éclairés. C’est notamment le cas de ces travaux de thèse qui contribuent
9
Johannes Hahn, Membre de la Commission européenne en charge de la politique régionale.3.6. CONCLUSION 41
au projet de recherche SUSTAINS pour proposer une aide à la décision opérationnelle destinée à la pré-
programmation d’environnements urbains durables.4
Cadre méthodologique et problématique
Dans un premier temps, nous présentons le cadre méthodologique dans lequel s’inscrivent nos travaux en revenant
sur les contributions notables de l’urbanisme au développement durable et en présentant les grandes
lignes du projet de recherche SUSTAINS auquel nous participons. Il s’agit d’un projet de recherche pluridisciplinaire
qui propose de réaliser un outil d’aide à la décision pour la pré-programmation urbaine (4.1.2.1).
En nous associant à ce projet qui regroupe des experts de différents domaines (urbanistes, architectes, statisticiens,
concepteur d’interfaces homme machine ou de simulations 3D, chercheurs, ...), nous ancrons nos
travaux de recherche dans la réalité du terrain en profitant de compétences croisées et complémentaires sur
un domaine reconnu pour être complexe et très difficile à appréhender dans sa globalité. Ce sera également
un bon moyen de valider nos modèles et résultats par des professionnels du domaine.
A partir de ces éléments, nous décrivons notre problématique en détail en faisant l’inventaire des problèmes
de recherche que nous souhaitons adresser dans cette thèse. Après avoir évoqué les principaux
concepts et théories associés à ces problèmes, nous les déclinons en questions de recherche précises et faisons
une série d’hypothèses pour approcher des réponses présumées. Enfin, nous décrivons notre méthode
générale de travail pour y parvenir.
4.1 Synthèse des éléments contextuels
4.1.1 Articulations entre urbanisme et développement durable
La contribution de l’urbanisme au développement durable est une idée largement répandue qui s’inscrit en
France dans la loi de programmation relative au Grenelle de l’environnement avec une obligation pour les
collectivités publiques, de par leurs prévisions et leurs décisions d’utilisation de l’espace, de réduire à la
fois les émissions de gaz à effet de serre (GES) et les consommations d’énergies, notamment les ressources
fossiles [70]. Pour répondre à ces enjeux, les urbanistes préconisent différentes orientations :
• limitation de l’étalement urbain ;
• promotion des transports collectifs et de la marche à pied ;
• meilleure répartition des activités et des logements dans l’espace.
Malgré ces recommandations apparues dès les années 70, la ville a évolué de manière assez éloignée de
ces grands principes. Certaines études [185, 196, 209, 11, 262, 287, 36] contestent même l’efficacité de
l’urbanisme dans ces domaines, en évoquant :
• des impacts limités en comparaison de ceux attendus dans les domaines de l’automobile (amélioration
4344 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE
des moteurs) et du bâtiment (meilleure isolation) ;
• des coûts de mise en œuvre très importants ;
• des effets perçus sur le long terme inadaptés face à l’engagement de diminuer, en France, les émissions
de gaz à effets de serre par quatre d’ici à 2050.
Néanmoins, les modes d’organisation spatiale des villes, et notamment la densité, ne sont pas neutres
du point de vue des émissions de gaz à effet de serre. Il a été établi que, selon que l’on vit dans une zone
bien desservie et bien équipée, ou que l’on vit dans une zone peu dense et dépendante de l’automobile, la
consommation d’énergie pour la mobilité varie dans un rapport de 1 à 3 pour des personnes comparables en
termes de niveau de vie et d’âge. Ces variations sont principalement imputables aux distances parcourues
pour réaliser les activités quotidiennes. Les habitants des cœurs urbains réalisent une part plus importante
de leurs déplacements à pied ou en transport en commun, mais le gain obtenu par les habitants des zones
denses peut être contrebalancé par des déplacements saisonniers ou de fin de semaine plus importants,
l’accès à un jardin réduisant la mobilité de loisir grâce à « l’effet barbecue »
1
.
Outre la densité, de nombreuses études montrent que la répartition des ressources (logements, emplois,
services, etc.) à l’intérieur de l’espace urbain joue un rôle très important sur la consommation énergétique
et l’émission de GES du fait des déplacements. Le levier d’action principal est moins la forme urbaine ou
la densité que la manière dont s’agencent les individus, activités et réseaux de transport pour faciliter une
accessibilité peu émettrice de GES et peu consommatrice d’énergie.
Enfin, certains supposent qu’un prix élevé de l’énergie pourrait avoir un impact beaucoup plus efficace
que l’urbanisme et l’aménagement du territoire pour réduire les émissions de GES. Mais jouer sur le seul
effet du prix conduirait à faire l’impasse sur les conséquences sociales de telles mesures, les ménages
pauvres situés principalement dans les espaces périurbains à faible densité étant parmi les plus vulnérables
face à une augmentation du coût de l’énergie. Pour assurer l’équité sociale inscrite dans les principes du
développement durable, il est nécessaire de prévoir un aménagement urbain qui autorise au plus grand
nombre des déplacements quotidiens indispensables à la vie économique, sociale et culturelle de toutes les
villes, même en cas d’usage rare ou cher de l’énergie.
En complément des réductions de GES et des consommations d’énergies, le renforcement des liaisons
piétonnières, l’amélioration des réseaux de transport collectifs, une plus grande imbrication des logements
et des activités, etc. contribuent à la qualité urbaine dans ses différentes dimensions (sociale, environnementale
et économique). Ces principes d’aménagement jouent notamment un rôle majeur sur l’acceptabilité
sociale de la transition énergétique en marche.
Dans le cadre de nos travaux, nous nous intéressons plus particulièrement à une organisation de l’espace
urbain (occupation des sols) qui puisse satisfaire les objectifs suivants :
• densité maîtrisée ;
• proximité de la nature ;
• mixité sociale et fonctionnelle ;
• viabilité économique des projets urbains ;
• aménagement à l’échelle d’une ville nouvelle ou pour le renouvellement complet d’un quartier ;
• bien être des habitants (en évitant le bruit, en favorisant les modes de transport doux, . . . ).
4.1.2 Un champ d’application moteur de la recherche théorique
Les travaux de recherche relatifs à cette thèse s’inscrivent dans le cadre du projet de recherche national FUI2
SUSTAINS (http ://www.sustains.fr/). Ce projet propose de réaliser un outil d’aide à la décision pour la pré-
programmation urbaine (cf. définition dans la section ci-dessous) et le choix des systèmes énergétiques. Cet
outil doit permettre d’appréhender la complexité des modèles urbains (résidentiels, industriels, services pu-
1Dans un espace périurbain, on est généralement de gros consommateurs de kilomètres automobiles pour aller travailler, mais
le week-end, on a tendance à rester chez soi pour profiter du jardin et faire un barbecue.
2Fonds Unique Interministériel.4.1. SYNTHÈSE DES ÉLÉMENTS CONTEXTUELS 45
blics) dans ses dimensions sociales, économiques, énergétiques, de mobilité et de durabilité. L’intégration,
la visualisation et la manipulation de ces dimensions dans une plateforme informatique3 opérationnelle de la
ville visent à replacer les différents acteurs (élus, financeurs, société civile) au sein du processus de décision
en se focalisant sur deux enjeux : environnement et énergie.
Ce projet, commencé en 2011, s’est achevé le 11 février 2014 lors d’une présentation des principales
avancées scientifiques et résultats obtenus en présence de tous les acteurs impliqués, des différents financeurs
et représentants de structures associées au développement urbain.
4.1.2.1 Pré-programmation urbaine
Face à la nécessité d’opérer des choix de développement urbain qui s’inscrivent dans une perspective durable,
les collectivités sont amenées à réaliser des arbitrages complexes, en mesurant a priori les consé-
quences environnementales et économiques des solutions envisagées.
Pour être accompagné dans ces choix difficiles, il est désormais essentiel d’utiliser une méthodologie
et un outil permettant de modéliser la programmation d’environnements urbains dans une phase amont,
aussi bien pour la création de villes nouvelles que pour la restructuration urbaine. Cette phase constitue la
pré-programmation urbaine (PPU), étape préalable au lancement d’une étude urbaine complète. Elle permet
d’établir dans une démarche systémique les éléments de programmation (proportion de maison d’habitation,
immeuble collectif, bureau, zone artisanale ou industrielle, équipement, espace vert, etc.) essentiels à
intégrer dans la conception d’une ville durable. Elle fournit sur une emprise territoriale donnée des études
de capacité d’accueil d’un ensemble urbain avec tous les éléments de programmation y compris les équipements
publics induits à partir d’un taux d’emploi spécifié.
La pré-programmation comprend le positionnement des centralités et axes urbains, la répartition des
intensités (niveaux de densité urbaine, de mixité fonctionnelle, de mobilité) et des espaces de respiration,
l’organisation en quartiers et en îlots, le tout en fonction d’une population donnée, d’un taux d’emploi, d’une
emprise territoriale et d’un ensemble de descripteurs tels l’équilibre des aménagements logements/emplois,
la diversification des surfaces ou la création d’espaces de vie collectifs polyvalents.
4.1.2.2 Description générale du projet
Le projet SUSTAINS, réalisé en collaboration étroite entre des praticiens de la ville, des experts du domaine
de la production et distribution énergétique, et des chercheurs, consiste à :
• concevoir un modèle théorique de développement urbain durable reposant sur l’expérience pluridisciplinaire
de praticiens de l’aménagement urbain (Établissements Publics d’Aménagement de
Marne-la-vallée : ÉPAMARNE). Ce modèle de pré-programmation urbaine est construit autour de la
notion d’intensités urbaines intégrant niveau de densité, mixité fonctionnelle et support de mobilités.
• étudier et réaliser un modèle informatique interactif qui génère une planification urbaine à partir
des règles du modèle théorique de développement urbain durable et de contraintes posées sur les
indicateurs (par exemple le maintien d’indicateurs dans des fourchettes de valeurs). Ce modèle doit
permettre une visualisation de la ville et de ses indicateurs, ainsi qu’une interaction avec celle-ci (par
exemple modification des seuils ou déplacement des éléments de programmation). Cette démarche
inverse de conception consiste en (i) l’expression sous forme de contraintes des propriétés désirées de
la ville au travers des nombreux indicateurs qui la caractérisent (habitat, énergie, transport, services),
(ii) la génération d’une planification urbaine par résolution de ces contraintes (création d’un maillage
routier, identification des quartiers et des îlots, caractérisation de la nature des ilôts) et (iii) l’interaction
avec cette planification à différents niveaux (répartition spatiale, agencement des quartiers,
seuillage des indicateurs) en maintenant la satisfaction des contraintes et la cohérence de l’ensemble.
• concevoir et développer un module de simulation et d’optimisation des schémas énergétiques. Ce
module permet de modéliser les besoins énergétiques d’un ensemble urbain (zones résidentielles,
3On utilisera le terme de « plateforme » par ailleurs dans ce document pour faire référence à cette suite logicielle.46 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE
FIGURE 4.1 – Échanges entre les modules attribués aux différents acteurs du projet SUSTAINS : ① Surface
à aménager et autres paramètres ② Objectif en nombre d’îlots de chaque type (maisons, immeubles d’habitation,
commerces, écoles, bureaux, . . . ) ③ Adresse du fichier de configuration ④ Contenu du fichier de
configuration dans lequel est assigné à chaque îlot symbolique une fonction urbaine (maisons, immeubles
d’habitation, commerces, écoles, bureaux, . . . ) ⑤ Données sous la forme d’un fichier KML ⑥ Entrées issues
du traitement relatif au fichier KML ⑦ Volumes annuels de consommation par mode sous la forme
d’un fichier CSV ⑧ Fichier KML dans lequel a été inclus l’ensemble des résultats énergie et transport ⑨
Fichier 3D de base ⑩ État du traitement du fichier 3D et index du projet. (Schéma extrait du rapport de fin
de projet SUSTAINS.)
industries, services publics), de simuler les profils de production/distribution pour répondre à cette
demande et d’évaluer l’impact environnemental ainsi que les coûts complets correspondants.
• expérimenter et valider le modèle à différentes échelles de villes (éco-quartier, ville,. . . ) en utilisant
les données socio-économiques, écologiques et d’aménagement fournies par des projets en cours
menés par ÉPAMARNE.
La figure 4.1 présente les modules répartis entre les différents acteurs impliqués dans le projet SUSTAINS
ainsi que les flux d’échanges qui viennent constituer et enrichir une pré-programmation urbaine.
Cette thèse coïncide avec le module « LINA / Moteur IA4 » de la figure 4.1 qui a la charge de produire
un modèle informatique interactif (cf. section "Description générale du projet" ci-dessus).
4.2 Le cadre méthodologique
Notre travail s’intéresse d’une part aux contributions notables de l’urbanisme au développement durable
et se positionne d’autre part au cœur du projet de recherche SUSTAINS. La figure 4.2 illustre de façon
synthétique le cadre méthodologique qui s’articule autour d’une plateforme globale d’aide à la décision
pour la conception d’environnements urbains durables :
4Moteur IA pour "Moteur d’Intelligence Artificielle" : ce module informatique apporte l’intelligence nécessaire (artificielle)
pour répartir au mieux et de façon automatique les éléments urbains sur la ville, tout en proposant une interaction utilisateur
nécessaire à l’obtention d’une solution de compromis entre les décideurs.4.2. LE CADRE MÉTHODOLOGIQUE 47
FIGURE 4.2 – Conception d’un environnement urbain durable en 4 étapes : (1) paramétrage des contours du
territoire urbain, des propriétés, des axes principaux, des centralités et des zones d’intensités ; (2) calcul du
nombre de formes urbaines par niveau d’intensité ; (3) positionnement automatique des formes urbaines sur
la ville en respectant un équilibre entre les trois piliers d’un développement durable (économique, social,
et environnemental) sans privilégier l’un au détriment des autres ; (4) manipulation interactive des formes
urbaines avec maintien des contraintes et préférences. Les deux dernières étapes sont au cœur de notre
travail de thèse.
1. le concepteur fixe les contours de la ville, l’emplacement des centralités et l’emprise de chaque niveau
d’intensité sur une grille régulière.
2. un système expert (basé sur des règles métier) calcule le nombre de formes urbaines5 de chaque type
(maison, bureau, commerce, industrie, ...) par niveau d’intensité en fonction d’un taux d’emploi et
des capacités d’accueil du territoire ainsi délimité, de façon spécifique pour chaque pays.
3. les formes urbaines sont automatiquement réparties sur la grille régulière en respectant les contraintes
de placement et en favorisant les préférences entre les formes urbaines, le tout traduisant un équilibre
entre les différentes propriétés sociales, économiques et environnementales d’une ville durable.
4. les décideurs manipulent l’environnement urbain tandis que la cohérence des contraintes et des pré-
férences est maintenue.
Nous cherchons à simuler une organisation spatiale optimisée d’un espace urbain durable dans le cadre
d’une pré-programmation de façon à :
• respecter certaines contraintes structurelles ;
• tout en favorisant des préférences de placement liées aux formes urbaines.
5On parle ici du type dominante d’occupation du sol pour chaque cellule de la grille, à ne pas confondre avec la forme globale
de l’espace urbain. C’est cette signification qui primera dans la suite de ce document.48 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE
4.2.1 Un carroyage symbolique régulier
Pour représenter la ville, nous utilisons une représentation symbolique prenant la forme d’un carroyage
régulier où chaque carreau est desservi par quatre rues ou artères rectilignes (avenues, rues, dessertes, ...).
Une fois définies, les voies de communication restent fixes sans entraîner de rétro-action avec les formes
urbaines qui seront affectées aux carreaux. A notre niveau, nous nous intéressons plus particulièrement à la
répartition des formes urbaines sur la ville (dans chaque carreau) et non aux formes géométriques qu’elle
peut prendre. Une déformation à la marge de cette trame pourra être opérée par la suite (par exemple pour un
rendu 3D plus réaliste) afin de l’adapter aux courbes du terrain ou aux traits de l’architecte et de l’urbaniste,
sans pour autant modifier fondamentalement les résultats précédents.
Les données et ratios utilisés pour la conception de la plateforme, notamment le modèle urbain (fi-
gure 4.2, étape 2), s’appuient sur différentes réalisations urbaines afin de prendre en compte les contraintes
techniques, commerciales, économiques, sociales et environnementales. Ce faisant, la plateforme SUSTAINS
ne peut être exploitée en l’état que dans le cadre d’un développement urbain d’au moins cent cinquante
hectares, plat et non urbanisé. Mais ces limitations ne concernent pas directement nos travaux qui
peuvent être exploités avec ou en dehors de cette plateforme.
4.2.2 L’îlot comme unité de travail
Maintenant que nous avons identifié l’échelle globale d’un projet, il nous reste à définir la plus petite unité
de travail pertinente pour notre travail. En France, pour cette taille de projet6
, une concertation préalable
et une communication portant sur les enjeux et les objectifs de l’aménagement doivent être organisées et
des séances de présentation au public sont généralement prévues pour évaluer différents scénarios7
. Lors de
cette phase pouvant coïncider avec l’étape de pré-programmation, les résultats présentés au grand public ne
doivent pas apparaître trop réalistes pour favoriser le dialogue et renforcer l’idée que toutes les décisions ne
sont pas arrêtées. Rappelons également que cette étape de PPU (Pré-Programmation Urbaine) doit proposer
une vision à "gros grain" aux décideurs pour qu’ils ne s’embarrassent pas de détails superflus et qu’ils restent
focalisés à un niveau suffisamment général dans le but de prendre des décisions stratégiques qui engageront
le développement futur d’une ville entière ou d’un quartier sur le long terme. Dans ces circonstances, un
découpage du territoire en cellules fixes de 80 m x 80 m correspondant à un îlot urbain standardisé semble
suffisamment précis pour caractériser le niveau de granularité le plus fin d’une étude, sans devoir descendre à
la parcelle ou au bâtiment. Ce choix renforce une représentation symbolique de la ville (pouvant néanmoins
faire apparaître des bâtiments "simples") caractéristique d’une ébauche de projet pouvant encore évoluer.
4.2.3 Résolution optimale et résolution interactive
Intéressons-nous maintenant aux contextes de génération des différents scénarios. Les résultats que nous
fournirons seront intégrés dans la plateforme selon deux protocoles :
• le premier protocole correspond à une recherche initiale de solutions pouvant être lancée sur plusieurs
heures en ayant éventuellement recours à des ressources matérielles conséquentes ;
• le second protocole correspond à la modification interactive par les décideurs d’une solution initiale
pré-calculée (i.e. issue du premier protocole).
Dans le premier protocole, nos algorithmes sont utilisés pour fournir une solution initiale (ou plusieurs
propositions) dans un temps de résolution limité mais fixé à l’avance, l’échéance pouvant être de l’ordre de
quelques heures à une nuit entière pour générer les différents scénarios de base. Dans le second protocole,
6La concertation préalable est obligatoire en France pour les aménagements d’espaces publics dépassant le seuil de 1,9 million
d’euros d’investissement (cf. articles L 300-2 et R 300-1 du Code de l’Urbanisme).
7Un scénario correspond au résultat d’une simulation préalable retenue compte tenu de ses caractéristiques et pouvant repré-
senter (ou être à la base) une solution potentielle. Différentes simulations permettent généralement d’obtenir différents scénarios
présentant des caractéristiques différentes en fonction des choix opérés lors des processus de génération.4.3. PROBLÉMATIQUE 49
une solution initiale (basée sur un scénario) est projetée sur une grande table tactile et les décideurs interagissent
avec la solution pour l’adapter à leurs visions ou décisions. Nos outils doivent alors tenir compte
des modifications imposées par les utilisateurs tout en maintenant la cohérence des contraintes et des pré-
férences dans un contexte ne laissant guère que quelques secondes tout au plus à la procédure de réparation
pour opérer. Dans le premier cas, la priorité peut être donnée à la qualité des solutions produites alors que
dans le second, c’est le temps de réponse qui devient prioritaire. Notre problème revient alors à positionner
au mieux les formes urbaines issues du modèle urbain (figure 4.2, étape 2) sur chaque cellule libre de la
grille, chaque cellule représentant un îlot urbain, ceci quel que soit le contexte de résolution (correspondant
à nos deux protocoles). Sans en avoir la certitude à ce stade, nous faisons l’hypothèse qu’il sera possible
de répondre aux exigences de ces deux contextes (pour la résolution initiale et les réparations interactives)
grâce à une procédure d’optimisation unifiée capable de répondre de façon appropriée à chaque situation.
4.2.4 Positionnement de la PPU par rapport aux plateformes de conception urbaine
existantes
Si il existe beaucoup de modélisations urbaines sur des sujets spécifiques, il n’y a pas précisément de modélisation
relative à la pré-programmation urbaine. La PPU se positionne en amont des outils de simulation
actuels. Elle vient compléter une chaîne méthodologique dans une tâche de programmation urbaine qui
consiste à (i) modéliser une ville par ses caractéristiques et (ii) à simuler son évolution.
Parmi ces outils de simulation, on peut noter l’existence de la plateforme américaine URBANSIM [283]
classée dans la catégorie des modèles d’urbanisation (Land-Use model). Ce logiciel peut fonctionner en
interaction avec différents modèles externes de transport pour constituer un modèle complet de type LUTI
(Land Use Transportation Integrated model).
En infographie, de multiples recherches se focalisent sur la création de villes nouvelles. Mais bien
souvent, ces contributions s’attachent plus à la représentation esthétique des villes (en essayant de les imiter
avec le plus de réalisme possible) qu’à leurs dimensions fonctionnelles. Néanmoins, les travaux récents de
Vanegas et al. [273] tentent de combler ce vide en intégrant dans leurs outils les modèles d’évolution de la
suite URBANSIM sans toutefois proposer une interaction utilisateur permettant de modifier en temps réel
les caractéristiques de la ville et sans que cette plateforme soit conçue à l’intention expresse des urbanistes
et des décideurs.
Finalement, il existe des logiciels élaborés pour les urbanistes (comme CommunityViz [158]) qui proposent
des outils de conception automatisés et interactifs. Toutefois, ils se positionnent le plus souvent à
une échelle très détaillée (parcelle, bâtiment) et la phase de conception pouvant être assimilée à la PPU reste
pauvre en automatismes, privilégiant des tâches manuelles et répétitives assimilables à du dessin.
4.3 Problématique
Nous évaluons mieux après ces quelques pages l’étendue et la complexité du sujet traité dans cette thèse.
Pour l’aborder de façon méthodique, nous proposons de décomposer notre problématique en trois grandes
sections complémentaires :
• proposer un modèle de pré-programmation urbaine ;
• rechercher une bonne organisation spatiale de la ville à partir du modèle de PPU dans un contexte
batch ou interactif ;
• imaginer une interaction avec l’utilisateur capable de maintenir la cohérence globale d’une solution.
4.3.1 Proposer un modèle de pré-programmation urbaine
Le modèle proposé doit nécessiter très peu de données en entrée, ces données pouvant être limitées aux
éléments suivants :50 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE
• les contours du territoire à aménager ;
• l’emprise de chaque intensité ;
• le nombre et la position de chaque centralité ;
• un carroyage régulier définissant les axes de transport principaux et secondaires (avenues, rues et
dessertes) ;
• les zones non constructibles (rivières, forêts à préserver, . . . ) ;
• le nombre de chaque forme urbaine à répartir sur la ville, ces formes urbaines étant ventilées par
niveau d’intensité.
Le carroyage permet de découper le territoire en cellules régulières où chaque cellule représente un îlot
urbain. Une cellule peut être fixe ou libre. Pour une cellule fixe, la forme urbaine est imposée (rivière, forêt,
. . . ) alors que pour une cellule libre, aucune forme urbaine ne lui est affectée. Tout l’enjeu consiste à associer
à chaque cellule libre la meilleure forme urbaine possible en fonction des formes urbaines à répartir sur la
ville. La partie relative à la modélisation est très délicate compte tenu du nombre important de notions
à traiter et de la difficulté à les représenter. De plus, il faut appréhender le problème dans sa globalité
(approche systémique), avec par exemple une action simultanée touchant à la localisation des diverses
ressources territoriales, la densification ou encore des agencements favorables aux modes de transport doux
ou collectifs.
Par rapport à cette section, les questions suivantes se posent alors :
• une phase d’analyse approfondie avec des experts de l’aménagement urbain permettra-t-elle d’identifier
les propriétés d’un modèle de PPU pertinent avec si peu de données disponibles en entrée ?
• est-il possible de transposer ou d’adapter un modèle américain aux autres continents ?
• notre modèle sera-t-il circonscrit à la création d’une ville nouvelle ou pourrait-il être utilisé pour
l’extension d’une ville existante ou la réhabilitation d’un quartier (friche industrielle, . . . ) ?
• comment définir et représenter les règles de placement des formes urbaines pour satisfaire aux critères
d’un développement durable ?
• une propriété donnée du problème doit-elle être traduite en contrainte ou en préférence ?
• le modèle proposé sera-t-il suffisamment simple pour être compréhensible par des utilisateurs non
experts (décideurs), critère essentiel pour son adoption ?
• quel formalisme doit-on adopter pour représenter notre modèle ?
4.3.2 Rechercher une bonne organisation spatiale de la ville à partir du modèle de
PPU dans un contexte batch ou interactif
L’objectif consiste à générer (contexte batch) ou à maintenir (contexte interactif) une ville durable optimisée
et réaliste. Pour cela, nous allons exploiter notre modèle de PPU pour répartir au mieux et de façon automatique
les formes urbaines (calculées par le modèle urbain) sur chaque cellule libre du carroyage. On entend
par libre une cellule dont la forme urbaine n’a été imposée ni par le modèle urbain, ni par l’utilisateur.
Reste alors à répondre aux difficultés suivantes :
• y a-t-il toujours une solution au problème posé ?
• inversement, si il existe plusieurs solutions au problème, alors ces solutions sont-elles nombreuses et
pouvons nous trouver la meilleure solution ?
• existe-t-il des méthodes capables de résoudre efficacement notre problème et seront-elles en mesure
de passer à l’échelle pour des villes réelles de différentes tailles ou de différentes natures ?
• est-ce que la qualité des résultats obtenus peut être garantie ?
• face à une instance d’un problème particulier, est-t-il possible de prédire les temps ou la puissance de
calcul nécessaire ?
• les méthodes de résolution retenues pourront-elles s’adapter à la fois au contexte batch et au contexte
interactif ou bien faut-il prévoir une méthode dédiée à chaque contexte ?
• faudra-t-il dégrader le modèle pour le rendre compatible avec la partie interactive ?4.4. MÉTHODE GÉNÉRALE DE TRAVAIL 51
• ces méthodes pourront-elles être intégrées dans un solveur unifié ?
• si la taille du problème devient trop importante, la résolution pourra-t-elle encore se faire sur un
ordinateur classique ou bien faut-il prévoir une grille de calcul pour pouvoir augmenter la taille des
problèmes à traiter tout en conservant des temps de calcul raisonnables ?
4.3.3 Imaginer une interaction avec l’utilisateur capable de maintenir la cohérence
globale d’une solution
Bien qu’elle soit abordée en dernier, cette section occupe une place essentielle dans notre problématique
de par son aspect « aide à la décision » en lien directe avec les utilisateurs. Dans cette partie, les décideurs
doivent interagir directement avec un scénario et le système informatique sous-jacent doit être en mesure
de répondre en temps réel aux actions opérées pour maintenir de façon automatique la cohérence globale
de la solution en cours.
Bien qu’il faille représenter des scénarios réalistes sur une table tactile de grande surface avec des
quartiers, des îlots, des parcelles et des bâtiments de différentes natures (maison d’habitation, immeuble
collectif, bureau, usine, etc.) en y intégrant les rues, espaces verts, espaces naturels et équipements publics,
nous limiterons nos travaux à une représentation symbolique (et non géométrique) de la ville discrétisée par
une grille uniforme où chaque cellule représente un îlot urbain associé à une forme urbaine dominante.
Plus précisément, nous devrons répondre aux interrogations suivantes :
• quelles seront les manipulations proposées à l’utilisateur, seront-t-elles limitées ou étendues, aurontelles
une portée locale ou globale ?
• faut-il prévoir plusieurs échelles de modification ou des niveaux hiérarchiques pour appréhender le
problème interactif ?
• des contraintes peuvent-elles être violées suite à une opération, et si oui, quelles sont ces contraintes ?
• quelle forme doit prendre le processus de résolution : doit-il rester actif pendant toute la phase d’interaction
ou peut-on le relancer en réponse à un événement particulier ? Quels peuvent-être ces différents
événements et comment les propager à la procédure de résolution ?
• peut-on gérer la réparation d’une solution comme une résolution initiale et faudra-t-il incorporer des
données supplémentaires dans le modèle pour gérer l’interaction ?
• avec l’utilisation de tables tactiles multi-touch, faut-il prévoir plusieurs utilisateurs opérant des modi-
fications simultanées sur le même scénario ?
• en retour à chaque action, comment informer les décideurs des conséquences de leurs choix, à partir
de quels indicateurs ?
• comment représenter ces indicateurs et pourront-ils être calculés en temps réel ?
• sur quels critères pourra-t-on évaluer la pertinence du processus interactif ?
4.4 Méthode générale de travail
Pour répondre à toutes les questions qui se posent, nous allons étudier des projets qui se sont confrontés à
des problématiques voisines pour enrichir nos connaissances et trouver la bonne façon de les aborder. Nous
nous appuierons également sur des professionnels du secteur, en particulier les urbanistes, architectes et
concepteurs d’IHM8
impliqués dans le projet SUSTAINS, afin d’appréhender toutes les notions importantes
à intégrer. Grâce à des confrontations directes et régulières, des réponses concrètes pourront être apportées
au fil des rencontres. Plus tard, le point de vue des relecteurs de nos articles de recherche constituera
probablement une source utile tout comme les présentations scientifiques et les discutions associées.
Nous considérons que la réalisation de prototypes constitue un moyen objectif et efficace pour évaluer
différentes classes de méthodes sur nos problèmes, les comparer et savoir si elles répondent bien aux objec-
8
Interface Homme Machine52 CHAPITRE 4. CADRE MÉTHODOLOGIQUE ET PROBLÉMATIQUE
tifs fixés. Bien que la partie IHM ne soit pas directement de notre ressort, nous allons tout de même proposer
une procédure de saisie et de rendu graphique très simple gérant l’interaction avec les utilisateurs pour appréhender
l’ensemble des difficultés relatives aux modifications temps réel d’une solution et proposer en
retour des moyens pertinents d’informer les utilisateurs des conséquences de leurs choix.
Un aspect essentiel concerne la validation des résultats. Pour cela, nous travaillerons sur différentes
instances de nos problèmes : dans un premier temps avec des instances « jouets » plus ou moins grosses
pour les mises au point et l’évaluation des performances au sens informatique (temps de calcul, qualité des
résultats), et dans un second temps, avec des instances réelles provenant de Marne-la-vallée. A chaque fois,
les résultats seront soumis à des professionnels de l’aménagement urbain pour être validés.
Pour ce qui concerne la cohabitation de nos recherches avec le projet SUSTAINS, elle constitue une
réelle opportunité mais revêt également bien des difficultés. Par exemple, cela nécessite de synchroniser
l’avancement de la thèse avec le calendrier du projet en ne perdant pas de vue les objectifs communs et
les échéances qui ont été définis, ce qui peut favoriser une certaine rigidité. De plus, les décisions sur des
sujets aussi vastes que l’urbanisme peuvent dans certains cas déchaîner les passions ou donner lieu à des
discutions sans fin. D’un point de vue opérationnel et en l’absence d’une plateforme technique commune,
les différents modules doivent communiquer par le biais de services distants répartis sur les sites de chaque
partenaire en respectant des normes précises pour permettre aux différents services de travailler sur des
données partagées. Et compte tenu des accords de consortium, certains documents ou algorithmes peuvent
rester confidentiels de part et d’autre. Sous oublier que l’interdisciplinarité nécessite l’adoption d’un vocabulaire
commun pour réussir à se comprendre, une ouverture d’esprit sur des problématiques qui ne sont
pas directement en lien avec ses propres thèmes de recherche ou encore une adaptation permanente à des
niveaux de réflexion qui peuvent être très généraux ou très précis. Pour faciliter les choses, nos réalisations
doivent pouvoir fonctionner à la fois de façon intégrée avec la plateforme SUSTAINS, et de façon complè-
tement autonome pour ne pas être confronté à ses limitations (indisponibilité d’un module, bugs, retards,
expérimentations sur des échelles différentes, . . . ).
En tout état de cause, nous faisons ici l’hypothèse forte que les avantages d’une collaboration pluridisciplinaire
surclasseront largement tous les inconvénients, et qu’au final la plupart des difficultés se révéleront
être très probablement des opportunités (rigueur, consensus, organisation, partage du savoir, . . . ).
4.5 Conclusion
À partir d’une synthèse des éléments contextuels qui portent d’une part sur l’apport de l’urbanisme au
développement durable et d’autre part sur le projet de recherche SUSTAINS auquel nous participons, un
cadre méthodologique suffisamment précis a pu être identifié. Ces éléments nous ont permis de dégager
une problématique détaillée relative à cette thèse que nous avons décliné en trois grands aspects portant
sur la conception d’un modèle urbain, les possibilités de résolution correspondantes et la proposition d’une
interaction avec les utilisateurs.
Pour répondre aux nombreuses questions posées et aux difficultés scientifiques qu’elles soulèvent, nous
allons commercer par dresser un état de l’art complet qui porte sur trois sujets complémentaires :
• les problèmes d’optimisation combinatoire sous contraintes et les méthodes de résolutions associées ;
• les systèmes interactifs d’aide à la décision ;
• la modélisation urbaine et les problèmes de positionnement.II
État de l’art
535
Problèmes d’optimisation combinatoire sous
contraintes
Comment trouver le plus court chemin passant par vingt-cinq villes données sans devoir examiner un à un
les milliards de trajets possibles ? Ce sont de tels problèmes qu’informaticiens et mathématiciens étudient
depuis plusieurs décennies pour trouver des méthodes de résolution efficaces capables de fournir des solutions
avec un temps de réponse acceptable. Trouver une bonne solution consiste parfois à faire gagner
du temps ou de l’argent, mais avec les avancées scientifiques et techniques, nous devons faire face à de
nouveaux problèmes. C’est le cas par exemple de l’optimisation combinatoire appliquée à la génomique où
l’on s’efforce de décrypter l’information génétique d’un organisme vivant.
Les enjeux liés à la résolution des problèmes combinatoires sont donc essentiels, que cela soit sur le plan
scientifique pour produire du savoir algorithmique, ou sur le plan pratique pour améliorer la performance de
systèmes de plus en plus complexes (systèmes mécaniques, traitement d’images, électronique, . . . ). C’est
ainsi que l’optimisation combinatoire occupe une place très importante en recherche opérationnelle et en
informatique. De nombreuses applications peuvent être modélisées sous la forme d’un problème d’optimisation
combinatoire telles que le problème du voyageur de commerce, l’ordonnancement de tâches, le
problème de coloration de graphes, etc.
Après l’identification des caractéristiques essentielles relatives aux problèmes combinatoires, nous ferons
l’inventaire des principales méthodes capables d’adresser ces problèmes, ces méthodes pouvant être
classées dans la catégorie des méthodes complètes ou incomplètes. Nous nous intéressons plus précisé-
ment à deux méthodes de résolution efficaces applicables à ces problèmes : les méthodes complètes1 de
programmation par contraintes (PPC) et les techniques de recherche locale (RL) qui sont des méthodes
incomplètes2
.
Il existe bien d’autres techniques de résolution, comme les algorithmes génétiques [133], de colonies de
fourmis [78], l’optimisation par essaims particulaires [150] ou encore les systèmes multi-agents [81, 92].
Néanmoins, le sujet est si vaste qu’il est impossible ici d’aborder toutes les techniques de résolution en
détail.
Les problèmes d’optimisation étant de plus en plus complexes et les besoins en ressources ne cessant
d’augmenter, les métaheuristiques réputées pouvoir attaquer des problèmes très difficiles peuvent à leur tour
être limitées face à ces nouvelles exigences. Nous verrons alors comment le parallélisme permet d’étendre
les capacités de ces techniques sans remettre en cause leurs fondements.
1Peuvent prouver l’insatisfiabilité ou l’optimalité
2A l’inverse, elles ne sont pas en mesure de prouver l’insatisfiabilité ou l’optimalité
5556 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
Ce chapitre constitue une synthèse des travaux et documents de référence suivants : [16, 251, 226, 14,
76, 30, 47, 115, 44, 12].
5.1 Caractéristiques des problèmes combinatoires
Les problèmes de nature combinatoire possèdent un nombre fini de configurations possibles, mais ce
nombre est très grand, de sorte qu’une résolution par une simple énumération n’est pas concevable dans
la pratique. Ces problèmes sont souvent faciles à définir mais habituellement difficiles à résoudre [127].
5.1.1 Problème d’optimisation combinatoire
Explosion combinatoire Rechercher le chemin le plus court ou le plus rapide entre deux points est un
problème assez simple à résoudre. Mais quand le nombre d’étapes croît, le nombre de possibilités augmente
au-delà de ce que l’on peut énumérer de tête, et même au delà de ce que peuvent examiner les ordinateurs
les plus puissants en un temps raisonnable : il s’agit de l’explosion combinatoire.
Il existe bien souvent un nombre exponentiel de solutions à un problème en fonction de sa taille. Le
problème du voyageur de commerce (Traveling Salesman Problem, TSP) est un problème caractéristique
d’optimisation combinatoire. Pour ce problème, il s’agit de trouver un chemin qui passe une fois et une
seule par chaque ville en minimisant la distance totale parcourue pour revenir au point de départ. Si n
représente le nombre de villes et S l’ensemble des partitions d’un ensemble à n éléments, alors |S| =
(n−1)!
2
correspond au nombre de chemins possibles pour un problème symétrique.
Une résolution du problème avec une énumération exhaustive consiste à générer tous les trajets possibles,
à calculer leurs distances et à choisir le trajet ayant la distance minimale. La table 5.1 illustre le
phénomène d’explosion combinatoire pour le problème du voyageur de commerce avec un nombre croissant
de villes à parcourir.
TABLE 5.1 – Problème du voyageur de commerce : temps de calcul nécessaire pour trouver le trajet le plus
court en réalisant une énumération exhaustive de tous les trajets possibles en fonction du nombre de villes
(un trajet pouvant être évalué en une microseconde). D’après [24].
n |S| Temps de calcul
5 12 12 microsecondes
10 181 440 0,18 seconde
15 43 milliards 12 heures
20 6 E+16 19 siècles
25 3 E+23 9,8 milliards d’années
Pour repousser les limites et résoudre des problèmes d’optimisation combinatoire de plus grande taille
en un temps raisonnable, on peut certes compter sur l’augmentation des capacités matérielles mais bien plus
encore sur l’innovation algorithmique [24].
Definition 1 (Problème d’optimisation combinatoire). Un problème d’optimisation combinatoire est géné-
ralement caractérisé par un ensemble fini de solutions admissibles S et une fonction objectif f : S → R
qui associe une valeur à chaque solution admissible. La résolution du problème d’optimisation consiste à
déterminer la ou les solutions de S minimisant ou maximisant f.
Lorsque la fonction f représente un coût ou une perte, on parle d’un problème de minimisation. Lorsque
la fonction f représente un gain, on parle d’un problème de maximisation.5.1. CARACTÉRISTIQUES DES PROBLÈMES COMBINATOIRES 57
5.1.2 Complexité
Un algorithme nécessite deux ressources importantes pour résoudre un problème : du temps et de l’espace.
La complexité en temps d’un algorithme correspond à une estimation du nombre d’instructions (ou
d’étapes) à exécuter pour résoudre les instances d’un problème de taille n, cette estimation étant donnée en
ordre de grandeur dans le pire cas, c’est à dire pour l’instance la plus difficile à résoudre. La complexité
d’un problème est équivalente à la complexité du meilleur algorithme (au sens du plus rapide) pouvant
résoudre ce problème. Comme les problèmes combinatoires ne possèdent pas tous la même difficulté, on
utilise une classification définie par la théorie de la complexité pour cerner le niveau de difficulté lié à leur
résolution [214]. Cette classification prend ses sources en 1971, lorsque Stephen COOK et Leonid LEVIN
ont formulé quasiment au même moment deux classes importantes de problèmes de décision :
• la classe P : correspond à l’ensemble des problèmes de décision algorithmiques pouvant être résolus
en un temps polynomial (problèmes relativement faciles à résoudre) ;
• la classe N P : correspond à l’ensemble des problèmes de décision algorithmiques tels que, si une solution
possible est donnée, il est possible de vérifier cette solution en un temps polynomial (problèmes
faciles à vérifier mais difficiles à résoudre).
Un problème de décision correspond à une question mathématique qui a toujours une solution pouvant
s’exprimer par "oui" ou par "non". Un problème d’optimisation peut toujours être réduit à un problème de
décision.
La classe de complexité P contient l’ensemble de tous les problèmes de décision pouvant être résolus
par un algorithme de complexité polynomiale3
. Cette classe regroupe les problèmes qui peuvent être résolus
efficacement. La classe de complexité N P rassemble quant à elle les problèmes de décision pouvant
être résolus par un algorithme de complexité polynomiale pour une machine non déterministe, c’est à dire
capable d’évaluer en parallèle un nombre fini d’alternatives. La classe N P englobe ainsi la classe P. La
résolution des problèmes N P peut nécessiter l’examen d’un grand nombre de cas, éventuellement exponentiel4
, mais chaque cas doit pouvoir être examiné en un temps polynomial. Pour les problèmes les plus
difficiles de N P, on ne trouve jamais d’algorithme polynomial pour résoudre chaque cas avec une machine
déterministe. Ces derniers problèmes définissent la classe des problèmes N P-complet.
Definition 2 (N P-complet). Un problème est dit N P-complet si :
• il est dans N P ;
• et il est au moins aussi difficile que tout problème de N P.
Si on ne tient pas compte de la clause d’appartenance à la classe N P, on trouve la classe des problèmes
N P-difficile qui fait référence aux problèmes d’optimisation dont les problèmes de décision associés sont
N P-complet. Ces problèmes N P-difficile sont au moins aussi difficiles à résoudre que n’importe quel
problème de N P [252]. Pour ces problèmes N P-difficile, on présume qu’il n’existe pas d’algorithme polynomial
pour les résoudre à l’optimalité, c’est à dire un algorithme dont le temps de calcul soit proportionnel
à n
i
, n étant le nombre de variables inconnues du problème et i une constante entière.
Definition 3 (N P-difficile). Un problème est dit N P-difficile si il est au moins aussi difficile que tout
problème de N P. La catégorie N P-difficile inclut également les problèmes qui ne sont pas des problèmes
de décision.
Beaucoup de problèmes académiques populaires sont N P-difficile, parmi eux, nous pouvons citer :
• les problèmes d’affectation-localisation : problème d’affectation quadratique (Quadratic Assignment
Problem ou QAP), problème d’affectation généralisé (Generalized Assignment Problem ou GAP),
problème de localisation d’équipements (Facility Location Problem), problème de P-médian ;
3Complexité polynomiale notée O(n
i
) : quand n double, le temps d’exécution est multiplié par 2
i
; n étant le nombre de
variables inconnues du problème et i une constante entière.
4Complexité exponentielle notée O(i
n) : quand n double, le temps d’exécution est élevé à la puissance 2 ; n étant le nombre
de variables inconnues du problème et i une constante entière.58 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
• les problèmes de regroupement : Partitionnement de données (Data Clustering), Coloration de graphe
(Graph Coloring)
• le problème de couverture par ensembles (Set Cover Problem ou SCP).
En fait, une majorité des problèmes de la vie réelle [104, 266] appartiennent à la classe des problèmes
N P-difficile et ne possèdent pas de solution algorithmique efficace valable pour les résoudre à l’optimalité
lorsque la taille du problème augmente.
5.1.3 Problèmes de satisfaction de contraintes
Un très grand nombre de problèmes combinatoires appartient à la famille des problèmes de satisfaction de
contraintes (Constraint Satisfaction Problem ou CSP) : configuration, planification, ordonnancement, affectation
de ressources, etc. Étant donné un ensemble de contraintes, portant chacune sur un sous-ensemble
donné de variables auxquelles on cherche à affecter une valeur, la question centrale est de savoir s’il existe
une possibilité de satisfaire simultanément toutes ces contraintes et, le cas échéant, quelles valeurs peut-on
affecter à chaque variable pour satisfaire toutes les contraintes [27]. Ces problèmes partagent une description
commune, basée sur un formalisme très simple, qui autorise en général une modélisation claire et
intuitive.
Definition 4 (CSP). Un problème de satisfaction de contraintes (CSP) est défini par un triplet (X, D, C) tel
que :
• X = {x1, · · · , xn} est l’ensemble des variables (les inconnues) du problème,
• D = {D (x1), · · · , D (xn)} est l’ensemble des domaines et D (xi) correspond à l’ensemble fini des
valeurs possibles pour la variable xi
,
• C = {C1, C2, ..., Ck} représente l’ensemble des contraintes et Cj est une relation entre certaines
variables de X. Une contrainte définit les combinaisons de valeurs des variables autorisées. C’est une
relation logique (une propriété devant être vérifiée) entre différentes variables. Ainsi, une contrainte
restreint les valeurs que peuvent prendre simultanément les variables.
Definition 5 (Affectation). On appelle affectation (ou configuration) le fait d’instancier certaines variables
à des valeurs prises dans leurs domaines respectifs. Une affectation est dite totale si elle instancie toutes les
variables et partielle si elle n’en instancie qu’une partie. Une affectation (totale ou partielle) est consistante
si elle ne viole aucune contrainte, et inconsistante si elle viole une ou plusieurs contraintes.
Definition 6 (Espace de recherche). L’espace de recherche d’un CSP P = (X, D, C) est l’ensemble des
configurations possibles noté S, tel que :
S = D (x1) × D (x2) × · · · × D (xn)
L’espace de recherche est égal au produit cartésien de l’ensemble des domaines des variables et il croît de
façon exponentielle avec le nombre de variables.
Definition 7 (Solution). Une solution d’un CSP P = (X, D, C) est une affectation totale s ∈ S qui satisfait
toutes les contraintes (consistante). S correspond à l’ensemble des solutions de P tel que :
S = {s ∈ S | ∀c ∈ C, s satisfait c}
Résoudre un CSP consiste alors à trouver une solution réalisable, un nombre donné de solutions réalisables
ou toutes les solutions réalisables.5.1. CARACTÉRISTIQUES DES PROBLÈMES COMBINATOIRES 59
5.1.4 Problèmes d’optimisation sous contraintes
Beaucoup de problèmes combinatoires peuvent également s’exprimer comme des problèmes d’optimisation
sous contraintes (Constraint Satisfaction and Optimization Problem ou CSOP).
Un problème d’optimisation sous contraintes est un problème pour lequel on cherche parmi l’ensemble
de toutes les solutions réalisables la meilleure solution selon une fonction qui définit un objectif donné. La
fonction objectif a pour rôle d’évaluer la qualité d’une solution tandis que les contraintes permettent d’éliminer
les configurations qui ne sont pas des solutions. Le problème est alors double : le premier consiste à
trouver l’ensemble de toutes les solutions réalisables et le deuxième à trouver dans cet ensemble la meilleure
solution qui minimise ou maximise la fonction objectif. On parle d’un problème de minimisation quand la
qualité d’une solution est donnée par une fonction objectif à minimiser et d’un problème de maximisation
quand la qualité d’une solution est donnée par une fonction objectif à maximiser. L’étude d’un problème
d’optimisation révèle habituellement des contraintes impératives (structurelles ou dures) et des contraintes
indicatives (préférences ou molles) [46]. Les solutions retenues doivent respecter les contraintes impératives
qui limitent l’espace de recherche tandis que les contraintes indicatives doivent être respectées autant que
possible, le niveau de satisfaction de ces dernières devant être encodé dans la fonction objectif.
Definition 8 (CSOP). Un problème d’optimisation sous contraintes (CSOP) est défini par le quadruplet
(X, D, C, f) avec :
• X = {x1, · · · , xn} est l’ensemble des variables du problème,
• D = {D (x1), · · · , D (xn)} est l’ensemble des domaines,
• C = {C1, C2, ..., Ck} représente l’ensemble des contraintes,
• f est une fonction objectif définie sur un sous-ensemble de X (à minimiser ou à maximiser).
La fonction f permet de définir une relation d’ordre total entre n’importe quelle paire de solutions dans
S. Nous avons vu à la section 5.1.2 qu’on pouvait associer un problème de décision à chaque problème
d’optimisation, le but étant de déterminer s’il existe une solution pour laquelle la fonction objectif soit
supérieure (respectivement inférieure) ou égale à une valeur donnée. Ainsi, la complexité d’un problème
d’optimisation est liée à celle du problème de décision qui lui est associé. En particulier, si le problème de
décision est N P-complet, alors le problème d’optimisation est N P-difficile [252].
5.1.4.1 Multiobjectif versus multicritère
Pour certains problèmes combinatoires, plusieurs objectifs contradictoires doivent être optimisés en même
temps. Par exemple, lors de la préparation d’un voyage, il peut être demandé de choisir entre différents
modes de déplacement (avion, train, bateau, voiture, etc.) de façon à minimiser le coût de transport tout en
minimisant le temps du trajet.
On recense essentiellement deux approches associées à ces problèmes [51] : les techniques de géné-
ration (que nous appellerons multiobjectif) et les techniques à base de préférences (que nous nommerons
multicritère). Les techniques basées sur les préférences consistent à synthétiser les informations relatives à
différents points de vue ou aspects. Il s’agit de ramener un problème multiobjectif à un problème simple
objectif. Elles utilisent une méthode pour classer les objectifs et ainsi trouver une solution qui optimise
le classement. Ce classement peut être réalisé par une variété de moyens allant d’une simple somme pondérée
des objectifs à une fonction d’utilité complexe [33, 3]. Les techniques de génération quant à elles
recherchent dans un ensemble très grand de solutions celles qui satisfont au mieux l’ensemble des objectifs.
Pour cela, elles identifient les configurations optimales de Pareto où chaque configuration est telle qu’il est
impossible d’améliorer le score de l’une sans diminuer le score de l’autre.
Dans un contexte d’aide à la décision, les problèmes contiennent souvent une multitude d’aspects simultanés
à prendre en considération pour la prise de décision. Pour S. BEN-MENA [25], l’approche multicritère,60 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
capable d’intégrer tout type de critère5
, permet alors de se diriger vers un compromis judicieux plutôt qu’un
optimum qui n’a pas toujours de sens. Une technique classique consiste alors à encoder chaque aspect du
problème dans la fonction objectif, en attribuant à chaque critère un éventuel poids pour lui accorder plus
ou moins d’importance par rapport aux autres critères [234]. Bien que cette approche du « critère unique
de synthèse » soit soumise à une compensation possible entre critères ou à une forte sensibilité aux changements
d’échelle, les méthodes d’agrégation complète peuvent s’avérer intéressantes ou tout simplement les
seules utilisables [240].
5.1.5 Problèmes d’optimisation dynamique sous contraintes
Les problèmes d’optimisation dynamique sont présents dans beaucoup d’applications réelles et représentent
à ce titre un défi important. Ils sont caractérisés par des éléments en entrée du problème qui changent au fil
du temps [266]. Par exemple, ces changements peuvent être liés à des machines qui tombent en panne, à
une qualité variable de matières premières ou encore à l’introduction de nouvelles tâches à planifier. Cela
peut concerner des problèmes classiques comme le problème de tournées de véhicules (Vehicle Routing
Problem ou VRP), les problèmes d’ordonnancement de tâches ou des problèmes plus spécifiques comme le
contrôle de réactions chimiques liées à des conditions de température et de pression [168].
Bien que le formalisme et les algorithmes CSP permettent de représenter et de traiter de nombreux problèmes
d’intelligence artificielle et de recherche opérationnelle, le cadre CSP montre des limitations face à
des problèmes dynamiques du monde réel dans lesquels la définition du problème est modifiée incrémentalement.
La notion de CSP dynamique (Problème de Satisfaction de Contraintes dynamique ou Dynamic
Constraint Satisfaction Problem) a été introduite par [68] pour représenter de telles situations. Un DCSP
est une séquence de CSP dont chaque élément diffère du précédent par l’ajout et/ou le retrait de certaines
contraintes.
Concernant la fonction objectif associée au problème d’optimisation, et bien qu’elle soit déterministe,
elle change également au fil du temps au gré des modifications qui interviennent en entrée du problème [144] :
fdynamic(s) = ft(s) où t représente le temps au cours duquel la fonction objectif est évaluée. Et lorsque
la fonction objectif change, il y a de fortes chances pour que la solution optimale du problème change
également.
Compte tenu de ces éléments, les principales difficultés à surmonter pour un problème d’optimisation
dynamique sont [34, 198] :
• détecter le changement dans l’environnement lorsqu’il se produit ;
• répondre à ce changement pour suivre la nouvelle solution optimale.
Le processus de recherche doit alors s’adapter rapidement au changement de la fonction objectif. Le but
n’est plus seulement de trouver l’optimum global, mais de le suivre aussi fidèlement que possible dans le
temps [168]. Le principal défi consiste à réutiliser l’information des recherches précédentes pour s’adapter
au changement du problème au lieu de résoudre à nouveau le problème.
5.2 Résolution des problèmes d’optimisation combinatoire
Les problèmes d’optimisation combinatoire constituent une catégorie de problèmes très difficiles à ré-
soudre [215]. La résolution d’un problème d’optimisation combinatoire consiste à explorer un espace de
recherche afin de minimiser ou maximiser une fonction objectif pour trouver la meilleure solution, définie
comme la solution globalement optimale ou optimum global. Cette résolution est habituellement délicate
puisque le nombre de solutions réalisables croît généralement avec la taille du problème, rendant un parcours
exhaustif impraticable en pratique.
5Un critère permet de mesurer les préférences du décideur vis-à-vis d’une action. Par exemple, pour l’achat d’une voiture :
coût à l’achat, confort, sécurité, économie à l’usage ; ou pour le choix du meilleur emplacement pour la construction d’une station
d’épuration : nuisances olfactives, coût d’acheminement de l’eau, . . .5.2. RÉSOLUTION DES PROBLÈMES D’OPTIMISATION COMBINATOIRE 61
FIGURE 5.1 – Méthodes classiques d’optimisation. D’après le livre [266].
La complexité en taille ou en structure de l’espace de recherche d’une part et de la fonction objectif
d’autre part peut conduire à utiliser des méthodes de résolution différentes en fonction du problème ou
de l’instance à traiter. Intuitivement, on pourrait penser que la difficulté d’une instance d’un problème est
proportionnelle au nombre de variables, à la taille du domaine par variable et au nombre de contraintes.
Dans les faits, il est le plus souvent impossible de prévoir avec certitude l’efficacité d’une méthode donnée
pour un problème particulier. Le théorème "no free lunch" ("pas de dîner gratuit, NFL") [288] nous indique,
sous certaines hypothèses, qu’une méthode de résolution ne peut prétendre être la plus efficace sur tous les
problèmes.
Les méthodes de résolution liées aux problèmes d’optimisation peuvent être regroupées en deux grandes
familles (figure 5.1) :
• les méthodes dites complètes (ou exactes) qui obtiennent les solutions optimales et garantissent les
résultats ;
• les méthodes dites incomplètes (ou approchées) qui trouvent rapidement des solutions de bonne qualité
sans garantir l’optimalité.
L’optimisation combinatoire couvre un large éventail de techniques et fait toujours l’objet de recherches
intensives sur de nombreux domaines d’application (finance, transport, surveillance, biologie, . . . ) de sorte
qu’il est impossible de toutes les aborder ici en détail. Nous nous limitons dans un premier temps à un
panorama non exhaustif de chaque famille pour avoir une idée très générale des méthodes existantes.
5.2.1 Panorama des méthodes complètes
Les algorithmes complets (ou exacts) évaluent l’espace de recherche dans sa totalité en réalisant une énumération
intelligente. Ils donnent la garantie de trouver la solution optimale pour une instance de taille finie
dans un temps limité et permettent de prouver son optimalité [222].
5.2.1.1 La programmation linéaire
La programmation linéaire propose un cadre de modélisation mathématique permettant de résoudre des
problèmes d’optimisation avec des algorithmes efficaces comme la méthode du simplexe [62] ou les mé-
thodes de points intérieurs [148]. On parle de programme linéaire en nombres entiers (PLNE) lorsque les62 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
valeurs des variables du programme linéaire doivent être des nombres entiers et de programme linéaire
mixte (PLM) lorsque certaines variables doivent être entières et d’autres pas. Relaxer un PLNE ou un PLM
consiste en général à supprimer certaines de ses contraintes ou à les remplacer par des contraintes plus
faibles. Le problème résultant est souvent plus simple à résoudre que le problème original et sa solution optimale
peut être soit réalisable pour le problème original, donc optimale pour ce dernier, soit non réalisable
et avoir un coût proche de l’optimum du problème original.
5.2.1.2 L’algorithme de séparation et évaluation
L’algorithme de séparation et évaluation (Branch and Bound) [163] utilise une méthode arborescente de
recherche basée sur l’idée d’énumérer implicitement les solutions possibles d’un problème de PLNE pour
trouver la meilleure solution sans passer par une énumération explicite trop gourmande en temps. Cet algorithme
est composé de trois éléments principaux :
• la séparation : consiste à diviser le problème en sous-problèmes où chaque sous-problème contient
un ensemble de solutions réalisables tel que l’union de leurs espaces de solutions forme l’espace
des solutions du problème père. Cela revient à construire un arbre (arbre de recherche ou arbre de
décision) permettant d’énumérer toutes les solutions. Ainsi, en résolvant tous les sous-problèmes et
en gardant la meilleure solution trouvée, on est assuré d’avoir résolu le problème initial.
• l’évaluation : permet de réduire l’espace de recherche en éliminant les sous-ensembles qui ne contiennent
pas la solution optimale. Le principe consiste à mémoriser la solution de plus bas coût (pour un problème
de minimisation) rencontrée pendant l’exploration et à comparer le coût de chaque nœud parcouru
avec celui de la meilleure solution. Si le coût du nœud considéré est supérieur au meilleur coût
trouvé, on peut arrêter l’exploration de la branche car toutes les solutions de cette branche seront
nécessairement moins bonnes.
• une stratégie de parcours : en largeur, en profondeur ou le meilleur d’abord.
5.2.1.3 Les méthodes de coupes
Les méthodes de coupes ou plans sécants introduites par GOMORY [119] permettent de simplifier un PLNE
en relaxant certaines de ses contraintes. Si la solution optimale du problème relaxé est une solution valide
pour le problème original, alors elle correspond à l’optimum recherché. Sinon, des contraintes du problème
initial sont violées par la solution courante. Il s’agit alors de trouver un sous-ensemble de ces contraintes
appelées coupes, puis de les ajouter à la relaxation avant de la résoudre à nouveau. La procédure se poursuit
jusqu’à ce que la solution obtenue soit réalisable pour le problème original, ou que les procédures
d’identification des coupes n’arrivent plus à trouver de contraintes violées. Dans ce dernier cas, le coût de
la dernière solution trouvée est une borne inférieure du coût optimal pour un problème de minimisation
(respectivement une borne supérieure pour un problème de maximisation).
L’algorithme Branch and cut utilise des méthodes de coupes pour calculer de bonnes bornes inférieures
au cours de la procédure d’évaluation de la méthode de séparation et évaluation afin d’améliorer ses performances.
5.2.1.4 La méthode de génération de colonnes
La méthode de génération de colonnes [110, 13] est une méthode efficace pour résoudre des programmes
linéaires pour lesquels le nombre de variables (colonnes) et trop important pour qu’on puisse les représenter
de manière explicite. L’objectif est de résoudre un problème réduit avec un ensemble limité de variables.
Le problème initial est appelé problème maître, et le problème réduit est appelé problème restreint. Le
problème restreint est plus simple à résoudre, mais si l’ensemble de ses variables ne contient pas celles qui
donnent la solution optimale pour le programme maître, il faut rajouter au problème restreint des variables
pouvant être utilisées pour améliorer la solution. Un sous problème associé au problème maître consiste5.2. RÉSOLUTION DES PROBLÈMES D’OPTIMISATION COMBINATOIRE 63
à chercher la meilleure variable à rajouter dans le problème restreint : il doit trouver la variable la plus
prometteuse pour améliorer la solution.
La méthode de génération de colonnes peut être combinée avec un processus de séparation et évaluation
pour résoudre un PLNE, donnant alors naissance à la méthode appelée Branch and price [145].
5.2.1.5 La programmation dynamique
La programmation dynamique repose sur le principe d’optimalité de BELLMAN [23] selon lequel une sé-
quence optimale est composée de sous-séquences optimales. La solution optimale d’un problème peut alors
être déduite en combinant des solutions optimales d’une série de sous-problèmes. On commence par les
sous-problèmes les plus petits et on remonte vers les sous-problèmes de plus en plus difficiles en tirant
profit des résultats des problèmes déjà obtenus. La difficulté réside dans la formulation d’une séquence
de décisions permettant de calculer la solution du problème en fonction des solutions des sous-problèmes.
Son efficacité dépend de la propriété récursive et de l’efficacité des procédures de résolution des problèmes
intermédiaires.
5.2.1.6 La programmation par contraintes
Dans l’absolu, la programmation par contraintes (PPC) se situe au même niveau qu’un CSP et englobe à la
fois des méthodes de résolution exactes et approchées (e.g. Constraint-Based Local Search [272], CBLS).
Par abus de langage, nous réduisons la PPC au champ des méthodes de résolution complètes.
La programmation par contraintes (Constraint Programming) [16, 97, 9, 233] est une approche très
populaire qui repose sur le formalisme CSP avec une recherche arborescente incluant des notions liées à
la consistance locale des contraintes : elle effectue une recherche énumérative complète en inférant des
réductions de l’espace de recherche à partir des contraintes du problème. La recherche réalise un parcours
de l’espace de recherche par un jeu d’affectations et de retours arrières [169]. Souvent représentée par un
arbre, la recherche énumère toutes les instanciations possibles jusqu’à trouver une solution ou conclure qu’il
n’y en a pas. La propagation quant à elle vient assister la recherche en essayant de déduire de nouvelles
informations à partir de l’état courant des domaines. À partir d’une instanciation partielle, le mécanisme de
propagation tente de supprimer des valeurs impossibles des domaines des variables, réduisant ainsi la taille
de l’espace de recherche.
5.2.2 Panorama des méthodes incomplètes
Les méthodes incomplètes reposent en grande partie sur l’utilisation d’heuristiques [2, 127]. Elles explorent
une sous-partie de l’espace de recherche au moyen de techniques variées afin d’en extraire au plus vite
une solution qu’on espère de bonne qualité. Contrairement aux méthodes complètes, celles-ci ne sont pas
en mesure de prouver l’optimalité des solutions trouvées. L’efficacité d’une méthode incomplète réside
dans l’équilibre entre deux grandes notions : l’intensification d’une part et la diversification d’autre part.
L’intensification consiste à scruter une zone précise de l’espace de recherche afin d’en extraire un optimum
local (et si possible l’optimum global) alors que la diversification permet de déplacer la recherche dans des
zones variées et prometteuses de l’espace de recherche non encore explorées. Dans la classe des algorithmes
approchés, on peut distinguer trois sous-classes :
• les algorithmes d’approximation ;
• les heuristiques ;
• les métaheuristiques ;
5.2.2.1 Les algorithmes d’approximation
L’approximation d’un problème d’optimisation N P-difficile consiste à obtenir des informations sur sa solution
optimale sOpt sans la connaître. En général, il s’agit de résoudre un problème plus simple que le64 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.2 – Principe lié aux algorithmes d’approximation. D’après [239].
problème original, pour transformer ensuite la solution optimale sOpt0 du problème simplifié en une solution
s du problème original (voir la figure 5.2). La difficulté est de garantir une distance maximale entre
l’approximation s et l’optimum sOpt du problème original. Le problème simplifié est souvent obtenu en
relâchant des contraintes du problème original. Plus formellement, un algorithme d’approximation que l’on
note ρ-approximation est un algorithme polynomial qui renvoie une solution approchée garantie au pire
cas à un facteur ρ de la solution optimale [274]. Parfois, le facteur d’approximation dépend de la taille
de l’instance du problème. Toutefois, pour certains problèmes N P-difficile, il est impossible de faire des
approximations. De plus, ces algorithmes sont spécifiques au problème ciblé et les approximations fournies
sont souvent trop éloignées de la solution optimale, ce qui freine leur utilisation pour beaucoup d’applications
réelles [266].
5.2.2.2 Les heuristiques
Le terme heuristique peut avoir différentes significations et être employé dans différents contextes, y compris
par exemple dans le cadre des méthodes exactes pour le choix d’une variable ou d’une valeur particulière
à évaluer (e.g. dans un arbre de décision). Nous l’employons ici pour représenter trois notions
distinctes :
• soit une classe de méthodes approchées d’optimisation conformément à la classification proposée
dans la figure 5.1. Dans ce cas, les métaheuristiques représentent une déclinaison de cette famille ;
• soit des méthodes d’optimisation gloutonnes capables de construire une solution en partant d’une
configuration initialement vide et en choisissant à chaque étape la meilleure composante possible à
insérer dans la solution (par exemple une variable de décision et une valeur de son domaine) sans
jamais remettre en cause cette décision par la suite.
• soit des algorithmes problèmes-dépendants (spécifiques) connectés aux métaheuristiques pour fournir
une implémentation concrète aux méthodes d’optimisation abstraites, la partie abstraite étant repré-
sentée par les métaheuristiques.
5.2.2.3 Les métaheuristiques
Dans certaines situations, on doit chercher en un temps raisonnable des solutions de bonne qualité sans
pour autant garantir l’optimalité. Les métaheuristiques contournent le problème d’explosion combinatoire
en n’exploitant délibérément qu’une partie des combinaisons prometteuses. Par conséquent, elles peuvent5.3. DISCUSSION SUR LE CHOIX D’UNE MÉTHODE DE RÉSOLUTION 65
ne pas trouver la solution optimale, et encore moins prouver l’optimalité de la solution trouvée. En géné-
ral, elles n’offrent pas non plus de garantie d’approximation. En contrepartie, elles permettent d’obtenir
rapidement de bonnes solutions pour les problèmes de grandes tailles ou très difficiles.
Certaines métaheuristiques partent d’une solution valide qu’elles modifient légèrement à chaque itération
dans le but de l’améliorer. Au lieu de compter sur une solution unique pour découvrir de meilleures
solutions, certaines métaheuristiques utilisent plusieurs solutions de départ. Elles combinent alors les propriétés
de différentes solutions en espérant trouver des solutions de meilleure qualité.
Alors qu’une heuristique est souvent définie comme une procédure spécifique exploitant au mieux
la structure d’un problème dans le but de trouver une solution de qualité raisonnable en un temps de
calcul aussi faible que possible [206], les métaheuristiques sont des algorithmes génériques qui peuvent
être utilisés pour résoudre une grande variété de problèmes d’optimisation et d’instances différentes. Elles
peuvent être vues comme des méthodes générales de niveau supérieur (méta) utilisées pour guider la stratégie
de conception d’heuristiques sous-jacentes, ces dernières étant adaptées au problème d’optimisation
à résoudre. On retrouve au niveau des métaheuristiques les méthodes basées sur une solution unique qui
manipulent et transforment une seule solution pendant le processus de recherche tandis que les algorithmes
à base de population travaillent avec une population entière, c’est à dire un ensemble de solutions qui évolue
au fur et à mesure des itérations [286, 266].
Métaheuristiques basées sur une solution unique Les métaheuristiques basées sur une solution unique
regroupent les méthodes dites de recherche locale (ou à base de voisinages). Les méthodes de recherche
locale (RL) sont des algorithmes itératifs qui, à partir d’une solution de départ complète, explorent l’espace
de recherche en se déplaçant pas à pas d’une solution à une autre. Dans cette catégorie, nous pouvons
citer parmi les plus populaires les méthodes de descente, la recherche locale itérée (Iterated Local
Search, ILS) [177], le recuit simulé (Simulated Annealing, SA) [153, 42] et la recherche tabou (Tabu Seach,
TS) [111, 112, 113, 115, 125].
Métaheuristiques basées sur une population de solutions Les métaheuristiques basées sur une population
de solutions utilisent la population comme facteur de diversité et font intervenir plusieurs stratégies
d’évolution de cette population conduisant à des méthodes telles que les algorithmes génétiques (Genetic
Algorithm) [133, 118], la recherche par dispersion (Scatter Search, SS) [114, 116], l’algorithme des colonies
de fourmis (Ant Colony Optimization, ACO) [78] ou encore l’optimisation par essaims particulaires
(Particle swarm optimization, PSO) [150].
5.3 Discussion sur le choix d’une méthode de résolution
Nous savons qu’aucune méthode ne surclasse toutes les autres pour tous les problèmes. La complexité donne
une première indication sur la difficulté d’un problème. Lorsque le problème à résoudre est N P-difficile,
une méthode complète peut nécessiter un temps de calcul qui croît de façon exponentielle avec la taille
du problème à traiter [127]. Dans ce cas, l’utilisation d’une méthode incomplète peut s’avérer nécessaire
pour obtenir une solution approchée de bonne qualité en un temps raisonnable. Néanmoins, bien d’autres
facteurs doivent être pris en compte comme la taille des instances, leur structure, le nombre de solutions
admissibles, la rapidité de calcul de la fonction d’évaluation, etc.
Bien évidemment, compte tenu du nombre très important de méthodes de résolution existantes, il n’est
pas envisageable d’implémenter chaque méthode pour sélectionner la meilleure !
Pour Marc SEVAUX [244], lorsqu’on est face à un problème d’optimisation difficile, on commence par
réaliser la modélisation du problème qu’on essaie ensuite de transformer en un problème de programmation
mathématique pour tenter de le résoudre. La programmation mathématique permet alors d’obtenir des
bornes sur le problème et permet également de mieux appréhender sa difficulté. Une fois les bornes obtenues
avec quelques solutions éventuelles, on peut commencer à mettre en œuvre des métaheuristiques,66 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
notamment des techniques de recherche locale6
(appartiennent à la catégorie : Single-solution based Metaheuristics).
Nous verrons dans la suite de ce document que nous avons implémenté plusieurs méthodes caracté-
ristiques de ces différentes familles sur certaines instances de notre problème. Pour obtenir des bornes et
d’éventuelles solutions, nous avons commencé par évaluer une méthode complète sur notre problème. Ayant
alors une meilleure vision de sa difficulté, nous avons enchaîné sur des méthodes de résolution incomplètes
basées à la fois sur des heuristiques de construction (gloutonnes) pour générer des solutions initiales et sur
des métaheuristiques pour améliorer le plus rapidement possible ces solutions initiales.
Néanmoins, compte tenu de la complexité de notre modèle, de sa mise au point incrémentale au fur et
à mesure des réunions d’analyse avec les urbanistes et des échéances imposées pour finaliser le projet de
recherche SUSTAINS, il était essentiel que ces méthodes puissent reposer sur un formalisme unique, expressif,
facile à modifier et capable d’intégrer de nouvelles contraintes en fonction des nouvelles demandes
des utilisateurs.
Le panorama des méthodes de résolution que nous venons d’aborder montre que les techniques d’exploration
arborescente ou de programmation linéaire permettent de calculer des solutions optimales. Mais
pour être efficaces sur de grosses instances, ces méthodes de résolution doivent être couplées à des techniques
sophistiquées (méthodes de coupes, branch and cut, génération de colonnes, branch and price, . . . ).
On constate également que le formalisme relatif à ces méthodes s’adapte difficilement à de nouvelles
contraintes [267]. À travers cette étude très générale, il apparaît également que le formalisme CSP ré-
puté pour sa grande souplesse et son expressivité peut être exploité à la fois par les méthodes complètes
de programmation par contraintes et par les métaheuristiques de recherche locale, cette dernière approche
ayant donné naissance à la Constraint-Based Local Search [272].
Compte tenu de cette proximité entre PPC et RL à travers le formalisme CSP, nous proposons de mettre
en perspective, dans les sections suivantes, ces différents procédés en insistant plus particulièrement sur les
métaheuristiques de recherche locale qui regroupent de nombreuses méthodes. L’inventaire des principales
techniques nous permettra alors d’identifier les méthodes de RL les plus appropriées à nos problématiques.
Mais tout d’abord, soulignons que pour résoudre des problèmes industriels de plus en plus complexes,
la tendance actuelle est à l’hybridation de différentes méthodes pour s’appuyer sur les points forts de diffé-
rentes techniques sur le principe qui pourrait s’apparenter à : "l’union fait la force". Une autre voie consiste
à utiliser la parallélisation, avec une décomposition qui intervient soit au niveau des traitements (algorithmes),
soit au niveau de l’espace de recherche, soit sur l’évaluation de la fonction objectif, cette fois sur
le principe : "diviser pour mieux régner". Notons que ces deux approches ne sont pas exclusives et qu’elles
peuvent tout à fait cohabiter.
5.4 Programmation par contraintes
En programmation par contraintes (PPC), un problème est défini par un CSP (voir définition 4 page 58)
permettant de représenter un grand nombre de problèmes. Par exemple, une contrainte "x + 3∗y = 12" qui
restreint les valeurs que l’on peut affecter simultanément aux variables x et y.
Il existe de nombreuses méthodes pour résoudre les CSP :
• les méthodes de résolution complètes dont les plus élaborées exploitent les notions de consistance, de
filtrage et de propagation ;
• les méthodes de résolution incomplètes représentées par les métaheuristiques (i.e. Constraint-Based
Local Search [272, 47]) ;
• les méthodes hybrides qui combinent des méthodes complètes et incomplètes [76].
Nous décrivons ici les méthodes de résolution complètes basées sur les notions de consistance et faisant
appel aux techniques de filtrage et de propagation de contraintes.
6On parlera indifféremment de "méthodes de recherche locale" ou de "métaheuristiques à base de voisinages".5.4. PROGRAMMATION PAR CONTRAINTES 67
Résoudre un CSP consiste à trouver une affectation pour chaque variable satisfaisant l’ensemble des
contraintes. La notion de consistance repose sur la satisfaction des contraintes afin de réduire l’espace de
recherche pour rendre moins difficile la résolution du problème [76].
5.4.1 Principes de la PPC
La PPC utilise une approche de construction qui bâtit pas à pas une solution en partant d’une solution
partielle initialement vide qu’elle cherche à étendre à chaque étape. Pour cela, elle détermine la prochaine
variable, choisit une valeur dans son domaine et l’ajoute pour obtenir un nouvelle solution partielle, ce
processus étant répété jusqu’à ce que l’on obtienne une solution complète (ou la preuve qu’il n’y a pas
de solution). Durant la recherche d’une solution, une méthode de construction fait intervenir des heuristiques
pour effectuer (i) le choix de la variable et (ii) le choix de la valeur à affecter à cette variable. La
programmation par contraintes s’articule autour de quatre éléments majeurs :
• le CSP,
• les algorithmes de filtrage,
• la propagation,
• la recherche de solutions.
5.4.1.1 CSP (ou réseau de contraintes)
Étant donné le CSP P = (X, D, C), la résolution de P consiste à affecter des valeurs aux variables, de
telle sorte que toutes les contraintes soient satisfaites. Une solution est une "affectation totale consistante",
c’est-à-dire une valuation de toutes les variables du problème qui ne viole aucune contrainte.
Lorsqu’un CSP n’a pas de solution, on dit qu’il est surcontraint : il y a trop de contraintes et on
ne peut pas toutes les satisfaire. Dans ce cas, on peut souhaiter trouver l’affectation totale qui viole le
moins de contraintes possibles. Un tel CSP est appelé max-CSP, car on cherche alors à maximiser le
nombre de contraintes satisfaites. D’autres formalismes ont été proposés parmi lesquelles les CSP valués
(VCSP) [241]. Le formalisme VCSP introduit une graduation dans la violation des contraintes. Une valeur
(appelée valuation) est associée à chaque contrainte, cette valuation traduisant l’importance de la violation
de la contrainte. Une solution du problème est une affectation totale qui peut éventuellement violer certaines
contraintes et dont l’importance des violations est minimale suivant un critère et un ordre donnés.
Inversement, lorsqu’un CSP admet beaucoup de solutions différentes, on dit qu’il est sous-contraint. Si
les différentes solutions ne sont pas toutes équivalentes, dans le sens où certaines sont mieux que d’autres,
on peut exprimer des préférences entre les différentes solutions via un CSOP (voir définition 8). L’objectif
consiste alors à trouver une solution qui minimise (respectivement qui maximise) la fonction objectif liée
au CSOP.
5.4.1.2 Filtrage
La programmation par contraintes utilise pour chaque sous-problème une méthode de résolution spécifique
à ce sous-problème afin de supprimer les valeurs des domaines des variables impliquées dans le sousproblème
qui, compte tenu des valeurs des autres domaines, ne peuvent appartenir à aucune solution de
ce sous-problème. Ce mécanisme est appelé filtrage (voir algorithme 1). En procédant ainsi pour chaque
sous-problème, donc pour chaque contrainte, les domaines des variables vont se réduire, réduisant par la
même occasion l’espace de recherche associé au problème. Un algorithme de filtrage (ou de réduction de
domaines) est associé à chaque contrainte. Par exemple, pour la contrainte (x < y) avec D(x) = [10; 20] et
D(y) = [0; 15], un algorithme de filtrage associé à cette contrainte pourra supprimer les valeurs de 15 à 20
de D(x) et les valeurs de 0 à 10 de D(y). Un algorithme de filtrage associé à une contrainte binaire (qui porte
sur deux variables) réalise la consistance d’arc si il supprime toutes les valeurs des variables impliquées dans
la contrainte qui ne sont pas consistantes avec la contrainte. Par exemple, pour la contrainte x + 3 = y avec68 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
les domaines D(x) = {1, 3, 4, 5} et D(y) = {4, 5, 8}, un algorithme de filtrage établissant la consistance
d’arc modifiera les domaines pour obtenir D(x) = {1, 5} et D(y) = {4, 8}.
Algorithme 1 : Algorithme naïf de filtrage d’après la version proposée par Philippe DAVID (http:
//www.emn.fr/z-info/pdavid/Enseignement/IA/poly-ia/csp/arc-consistance.html).
Fonction Revise (x, y)
begin
1 SUPPRESSION ← Faux ;
2 forall (valeur valx de D(x)) do
3 if (il n’existe pas de valeur valy dans D(y) support de valx) then
4 Supprimer valx de D(x);
5 SUPPRESSION ← Vrai ;
6 return SUPPRESSION ;
end
5.4.1.3 Propagation
Après chaque modification du domaine d’une variable, il est utile de réétudier l’ensemble des contraintes
impliquant cette variable car cette modification peut conduire à de nouvelles déductions. Autrement dit,
la réduction du domaine d’une variable peut permettre de déduire que certaines valeurs d’autres variables
n’appartiennent pas à une solution. Ce mécanisme est appelé propagation. Dès lors qu’un algorithme de
filtrage associé à une contrainte modifie le domaine d’une variable, les conséquences de cette modification
sont étudiées pour les autres contraintes impliquant cette variable : les algorithmes de filtrage des autres
contraintes sont appelés afin de déduire éventuellement d’autres suppressions. On dit alors qu’une modi-
fication a été propagée. Ce mécanisme de propagation est répété jusqu’à ce que plus aucune modification
n’apparaisse.
5.4.1.4 Recherche de solutions
Afin de parvenir à une solution, l’espace de recherche va être parcouru en essayant d’affecter successivement
une valeur à toutes les variables. Les mécanismes de filtrage et de propagation étant bien entendu
relancés après chaque essai puisqu’il y a modification de domaines. Parfois, une affectation peut entraîner
la disparition de toutes les valeurs d’un domaine : on dit alors qu’un échec se produit ; le dernier choix
d’affectation est alors remis en cause, il y a "backtrack" ou "retour en arrière" et une nouvelle affectation
est tentée (voir algorithme 2). Une méthode de retour arrière avec une stratégie de recherche en profondeur
d’abord consiste à fixer à chaque étape la valeur d’une variable. Aussitôt qu’un échec est détecté, un retour
arrière est effectué, i.e., une ou plusieurs instanciations déjà effectuées sont annulées et de nouvelles valeurs
recherchées [29]. Par exemple, un algorithme typique avec retour arrière pour la résolution d’un problème
de satisfaction de contraintes cherche à prolonger à chaque étape l’assignation courante de manière consistante.
En cas d’échec, un retour arrière est effectué sur la dernière variable instanciée possédant encore des
valeurs non essayées [179]. Les méthodes avec retour arrière sont en général complètes et de complexité
exponentielle. Pour réduire le nombre de retour arrière (et le temps de recherche), on utilise les techniques
de filtrage décrites précédemment afin d’anticiper le plus tôt possible les échecs.
5.4.2 Complément sur les contraintes
Une contrainte est une relation entre différentes variables. Cette relation peut être définie en extension en
énumérant les tuples de valeurs appartenant à la relation (x = 0 et y = 1) ou en intension en utilisant des5.4. PROGRAMMATION PAR CONTRAINTES 69
Algorithme 2 : Backtrack (version rudimentaire) d’après la version proposée par Philippe DAVID
(http://www.emn.fr/z-info/pdavid/Enseignement/IA/poly-ia/csp/backtrack.html).
Procédure Backtrack(V-ins, var-courante, V-non-ins, val)
begin
1 var-courante ← val ;
2 if (l’instanciation courante est consistante) then
3 if (V-non-ins est vide) then
4 l’instanciation courante est une solution ;
else
5 soit y la prochaine variable à instancier
6 forall (valeur valy de D(y)) do
7 faire Backtrack(V-ins ∪ {var-courante}, y, V-non-ins −{y}, valy) ;
end
propriétés mathématiques connues (x < y). En fonction du nombre de variables sur lesquelles elle porte
(arité), on dira qu’une contrainte est unaire si elle porte sur une seule variable (x∗x = 4), binaire si elle met
en relation deux variables (x 6= y) ou encore n-aire si elle met en relation un ensemble de n variables. On
distingue différents types de contraintes en fonction des domaines de valeurs des variables. Il y a notamment
les contraintes numériques (sur les réels, les entiers) et les contraintes booléennes. Les contraintes peuvent
être exprimées sous différentes formes : formules mathématiques, tables de valeurs compatibles, etc.
5.4.3 Résolution des DCSP
Ayant résolu un problème P, il s’agit de résoudre un problème P
0
dérivé de P par l’ajout d’un ensemble
de contraintes Ca et le retrait d’un ensemble de contraintes Cr. Ce qui revient finalement à résoudre une
succession de problèmes statiques et permet au passage de s’appuyer sur les nombreux travaux existants
relatifs à la résolution de ces derniers.
5.4.4 Résolution des CSOP
Dans le cas de la résolution d’un CSOP, on veut à la fois (i) trouver une solution qui satisfait l’ensemble des
contraintes donné et (ii) optimiser une fonction définissant un objectif. Le but est de trouver une solution
pour P = (X, D, C) qui minimise (respectivement qui maximise) la fonction objectif f. Pour la résolution
des problèmes d’optimisation, on distinguera donc deux types de solutions :
• les solutions du problème de satisfaisabilité, c’est-à-dire celles qui ne tiennent pas compte de la fonction
f,
• les solutions optimales, c’est-à-dire les solutions du problème de satisfaisabilité qui minimisent (respectivement
qui maximisent) la fonction objectif f.
Definition 9 (Optimum global). Pour un problème de minimisation, une solution s
∗ ∈ S est un optimum
global (ou solution optimale) si f(s
∗
) ≤ f(s) pour tout élément s ∈ S. (et respectivement f(s
∗
) ≥ f(s)
pour un problème de maximisation).
Résoudre à l’optimalité un problème consiste à trouver une solution s
∗
correspondant à un optimum
global. Pour la résolution d’un CSOP, nous supposons qu’une variable x est ajoutée à la liste des variables
X de P avec x = f(X). L’approche la plus intuitive est de trouver une solution optimale par la résolution70 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
d’une séquence de CSP. Initialement, un algorithme de backtracking7
est utilisé pour trouver une solution
qui satisfait toutes les contraintes. Chaque fois qu’une solution s est trouvée, une contrainte s’ajoute au CSP
avec la forme x > f(s) qui exclut toutes les solutions qui ne sont pas meilleures que s pour un problème
de minimisation (respectivement x < f(s) pour un problème de maximisation). Ce processus est répété
jusqu’à ce que le CSP résultant soit infaisable ; dans ce cas la dernière solution trouvée est optimale.
5.4.5 Conclusion
La PPC permet de résoudre une grande variété de problèmes allant des problèmes de satisfaction de
contraintes aux problèmes d’optimisation combinatoire en passant par les problèmes dynamiques. Pour
cela, elle a su s’adapter à des variantes du CSP (VCSP, DCSP, CSOP, . . . ) imaginées par une communauté
scientifique dynamique afin de représenter ces différentes catégories de problèmes. Pour s’éviter une
énumération exhaustive de toutes les configurations possibles qui lui serait fatale, elle met en œuvre des procédés
élaborés basés sur la consistance pour réaliser un parcours intelligent de l’espace de recherche. Toutes
ces qualités font de la PPC un paradigme de programmation de premier plan pour résoudre les nombreux
problèmes liés à nos sociétés modernes.
5.5 Heuristiques de construction (approchées)
Les méthodes de construction produisent de façon incrémentale des solutions admissibles en partant d’une
configuration initialement vide. Elles insèrent à chaque étape une composante dans la configuration partielle
courante jusqu’à obtenir une solution complète. Elles opèrent ainsi, pas à pas, sans tenir compte de toutes
les conséquences sur le coût de la solution finale. A ce titre, elles sont souvent considérées comme des
méthodes "myopes".
Elles reposent sur une approche "basée sur les modèles" car elles utilisent un modèle pour choisir à
chaque itération la prochaine composante à ajouter à la configuration partielle [294]. A chaque étape, le
modèle doit déterminer le choix de la variable suivante et le choix de la valeur pour cette variable. Les
méthodes de cette classe différent entre elles selon les modèles utilisés et la performance de ces méthodes
dépend largement de leur capacité à exploiter la structure du problème.
Les méthodes de construction se distinguent par leur rapidité et leur grande simplicité. Néanmoins, leur
manque de visibilité sur la solution finale se traduit en général par des solutions produites de faible qualité.
Notre étude porte plus spécifiquement sur les méthodes de construction "gloutonnes" qui sont les plus
connues et les plus simples à mettre en œuvre. A noter toutefois que les algorithmes par estimation de
distributions (Estimation of distribution algorithms, EDA) [164] et l’optimisation par colonies de fourmis
viennent compléter cette catégorie d’heuristiques incomplète.
5.5.1 Algorithmes gloutons
En 1971, J. EDMONDS a introduit pour la première fois dans la littérature une étude sur les heuristiques
gloutonnes dans le cadre de l’optimisation combinatoire [85].
Les algorithmes gloutons (Greedy algorithm) choisissent à chaque étape un composant à insérer dans
la configuration partielle8 pour lequel une heuristique donnée produit un coût minimal (problème de minimisation).
Contrairement aux méthodes exactes avec retour arrière (backtracking), les choix opérés ne sont
jamais remis en cause par la suite. La qualité de la solution produite est directement liée à l’heuristique de
choix utilisée et les premières décisions prises influencent largement la qualité de la solution finale lorsque
7Algorithme à essais successifs qui explore l’arbre des solutions du problème combinatoire en élagant les branches n’aboutissant
pas à une solution et remettant en cause les choix antérieurs lorsqu’on atteint un cul-de-sac (une feuille de l’arbre non
solution du problème).
8On fixe la valeur d’une variable de décision libre (c’est à dire sans affectation).5.5. HEURISTIQUES DE CONSTRUCTION (APPROCHÉES) 71
les variables du problème sont liées. Pour certains problèmes (recherche d’un arbre recouvrant de poids minimum
avec l’algorithme de KRUSKAL), un algorithme glouton conduit à la solution optimale, mais c’est
rarement le cas.
Algorithme 3 : Algorithme glouton déterministe [267]
1 echec ← faux ;
2 c ← ∅ (configuration partielle initialement vide) ;
3 while (c incomplète et echec = faux) do
4 Construire la liste L des éléments insérables dans c ;
5 if (L6=∅) then
6 Évaluer le coût incrémental des éléments de L;
78 Insérer dans c l’élément de L ayant le coût incrémental le plus faible ;
else
9 echec ← vrai ;
10 return c ou echec ;
Selon l’algorithme 3, la configuration c initialement vide peut être vue comme un ensemble d’éléments
(i.e. de variables du problème dont les valeurs sont fixées). A chaque itération, on définit un ensemble
fini L = {e1, e2, · · · , en} constitué d’éléments pouvant être insérés dans la configuration partielle c. Une
fonction objectif définie comme f : L → R permet d’évaluer le coût incrémental de chaque élément de L.
L’élément de L ayant le coût incrémental le plus faible (i.e. celui qui engendre la plus petite augmentation
du coût de c) est inséré dans c. Lorsqu’un élément ei est sélectionné pour faire partie de la solution, il n’est
jamais remplacé par un autre élément. Les algorithmes gloutons sont des algorithmes déterministes [266].
5.5.2 Algorithmes gloutons aléatoires
Les algorithmes gloutons aléatoires (Greedy randomized algorithm) peuvent construire plusieurs configurations
et reposent sur une stratégie gloutonne pour le choix des composants à intégrer à chaque itération
dans les configurations en cours de construction. Néanmoins, l’étape de fixation de la variable courante et
de sa valeur est légèrement modifiée afin de permettre plusieurs choix plutôt qu’un seul à chaque itération.
Les choix potentiels constituent une liste (Restricted Candidate List, RCL) dans laquelle un candidat
sera retenu aléatoirement. Une fois le couple (variable, valeur) fixé, cette liste est mise à jour en tenant
compte de la configuration partielle courante. Cette étape est itérée jusqu’à l’obtention d’une configuration
complète [245].
Une première façon de procéder consiste à choisir aléatoirement le prochain composant parmi les k
meilleurs. Il est aussi possible de faire un choix aléatoire parmi les composants éloignés d’au plus un
certain pourcentage par rapport au meilleur composant trouvé. Enfin, une autre option consiste à choisir le
prochain composant en fonction de probabilités liées à la qualité des différents composants [143].
5.5.3 Conclusion
Les algorithmes gloutons permettent de construire très rapidement des solutions, ce qui constitue déjà un
résultat intéressant pour des problèmes contraints ou/et de très grande taille. Ces procédures sont relativement
simples à concevoir et reposent sur la structure du problème à considérer. Mais les résultats obtenus
grâce à ces techniques sont souvent de faible qualité.
Toutes ces caractéristiques font que les algorithmes gloutons sont des partenaires idéals pour les métaheuristiques
à base de voisinage qui ont besoin d’une solution initiale pour pouvoir fonctionner.72 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
5.6 Métaheuristiques à base de voisinages
Le terme métaheuristique a été introduit pour la première fois par F. GLOVER en 1986 [111]. Les métaheuristiques
permettent de s’attaquer à des instances difficiles de problèmes d’optimisation variés tout en
délivrant des solutions satisfaisantes en un temps raisonnable. En contrepartie, elles n’offrent pas la garantie
de trouver les solutions optimales ni même des solutions dont la qualité serait bornée. Les métaheuristiques
bénéficient d’un intérêt croissant depuis plus d’une vingtaine d’années et elles s’appliquent avec succès à
une large gamme de problèmes complexes et de grande taille. Beaucoup de critères différents peuvent être
utilisés pour regrouper les métaheuristiques :
• inspirée ou non de la nature ;
• avec ou sans mémoire ;
• déterministe ou stochastique ;
• basée sur un solution unique ou sur une population ;
• itérative ou gloutonne.
• etc.
Dans ce manuscrit, nous nous appuyons sur la classification qui distingue celles qui exploitent une
"population de solutions" et celles qui utilisent une "solution unique" pendant le processus de résolution.
Ce chapitre concerne plus précisément les métaheuristiques qui exploitent une solution unique, que l’on
retrouve également sous le nom de "métaheuristiques à base de voisinages" ou "recherche locale".
5.6.1 Généralités sur les métaheuristiques
5.6.1.1 Propriétés
Une métaheuristique est constituée d’un ensemble de concepts fondamentaux qui permet d’aider à la
conception de méthodes heuristiques pour un problème d’optimisation. Ainsi, une métaheuristique est adaptable
et applicable à une large classe de problèmes. C. BLUM et A. ROLI ont proposé dans [30] un ensemble
de propriétés intéressantes qui caractérisent les métaheuristiques :
• les métaheuristiques sont des stratégies qui permettent de guider la recherche d’une solution optimale.
• le but visé par les métaheuristiques est d’explorer l’espace de recherche efficacement afin de déterminer
des solutions (presque) optimales.
• les techniques qui constituent des algorithmes de type métaheuristique vont de la simple procédure
de recherche locale à des processus d’apprentissage complexes.
• les métaheuristiques sont en général non-déterministes et ne donnent aucune garantie d’optimalité.
• les métaheuristiques peuvent contenir des mécanismes qui permettent d’éviter d’être bloqué dans des
régions de l’espace de recherche.
• les concepts de base des métaheuristiques peuvent être décrits de manière abstraite, sans faire réfé-
rence à un problème spécifique.
• les métaheuristiques peuvent faire appel à des heuristiques qui tiennent compte de la spécificité du
problème traité mais ces heuristiques sont contrôlées par une stratégie de niveau supérieur.
• les métaheuristiques peuvent faire usage de l’expérience accumulée durant la recherche de l’optimum
pour mieux guider la suite du processus de recherche.
Ces propriétés définissent le comportement de toutes les métaheuristiques pendant la recherche d’une
solution, en allant de la plus simple à la plus complexe.
5.6.1.2 Quand utiliser une métaheuristique ?
Il n’est pas judicieux d’utiliser une métaheuristique pour résoudre des problèmes lorsqu’il existe des algorithmes
exacts qui sont efficaces pour le faire. Néanmoins, différentes situations justifient l’utilisation d’une
métaheuristique :5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 73
• un problème facile (appartenant à la classe P) avec de très grosses instances. Dans ce cas, des algorithmes
exacts en temps polynomial sont connus mais ils peuvent être trop coûteux compte tenu de la
taille des instances.
• un problème facile avec une contrainte forte de temps réel. Pour des problèmes d’optimisation temps
réel9
, les métaheuristiques sont largement utilisées. Dans cette classe de problèmes, nous devons
trouver une bonne solution en ligne. Même si il existe des algorithmes exacts efficaces pour résoudre
le problème, les métaheuristiques sont utilisées pour réduire le temps de recherche. Les problèmes
d’optimisation dynamique représentent un exemple de tels problèmes.
• un problème difficile (appartenant à la classe N P-difficile) avec des instances de taille modérée et/ou
des structures difficiles.
• des problèmes d’optimisation avec une fonction objectif et/ou des contraintes qui nécessitent beaucoup
de temps de calcul. Certains problèmes d’optimisation réels sont caractérisés par un temps de
calcul énorme de la fonction objectif.
• des modèles non analytiques de problèmes d’optimisation qui ne peuvent pas être résolus de façon
exhaustive : beaucoup de problèmes pratiques sont définis par une boîte noire noyée dans une fonction
objectif.
5.6.1.3 Définition du mot métaheuristique
Il existe beaucoup de tentatives pour définir ce qu’est une métaheuristique sans que l’on puisse toutefois
trouver une définition qui fasse vraiment l’unanimité.
Certaines se concentrent sur l’aspect problème-indépendant comme celle proposée sur le site "the metaheuristics
network"10 : "Une métaheuristique représente un ensemble de concepts utilisés pour définir des
méthodes heuristiques pouvant être appliquées à un large ensemble de problèmes différents. En d’autres
termes, une métaheuristique peut être vue comme un cadre algorithmique général qui peut être appliqué à
différents problèmes d’optimisation avec relativement peu de modifications pour les adapter à un problème
spécifique".
Dans [280], Voß et al. se concentrent quant à eux sur la distinction entre une stratégie de haut niveau et
des mécanismes de bas niveau : "Une métaheuristique est un processus itératif maître qui guide et modifie
les opérations des heuristiques subordonnées pour produire efficacement des solutions de haute qualité.
Elle peut manipuler une solution unique complète (ou incomplète) ou une collection de solutions à chaque
itération. Les heuristiques subordonnées peuvent être des procédures de haut ou de bas niveau, ou une
simple recherche locale, ou juste une méthode de construction".
OSMAN et LAPORTE insistent sur l’intensification et la diversification aussi bien que sur la nature
itérative du processus de recherche [210] : "Une métaheuristique est formellement définie comme un processus
de génération itératif qui guide une heuristique subordonnée en combinant intelligemment différents
concepts pour l’exploration et l’exploitation de l’espace de recherche, des stratégies d’apprentissage sont
utilisées pour structurer l’information afin de trouver efficacement des solutions quasi-optimales".
Parmi ces dernières, nous retiendrons pour définir une métaheuristique (i) l’aspect problème-indépendant
qui offre un cadre générique applicable à tout type de problème et (ii) l’équilibre nécessaire entre l’intensi-
fication et la diversification qui représente un aspect essentiel de toute métaheuristique.
5.6.1.4 Gestion des contraintes
Beaucoup de problèmes d’optimisation sont liés à des contraintes dures qu’on ne peut pas réduire dans la
fonction objectif. Pour permettre aux métaheuristiques de gérer efficacement ces contraintes, différentes
stratégies ont été mises au point [190, 212, 79, 266] :
9Les logiciels embarqués dans les récepteurs GPS (Global Positioning System) utilisent des heuristiques pour trouver un
chemin entre deux points compte tenu du nombre important de nœuds et de la nécessité de fournir une réponse en temps réel.
10http://www.metaheuristics.org/74 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
• rejet ;
• pénalité ;
• réparation ;
• décodage ;
• préservation.
Stratégie de rejet La stratégie de rejet est très simple : seules les solutions faisables sont conservées
durant la recherche et les solutions infaisables sont automatiquement jetées. Cette stratégie est concevable
si la portion des solutions infaisables de l’espace de recherche est réduite.
Stratégie de pénalité Avec la stratégie de pénalité, les solutions infaisables sont prises en compte pendant
le processus de recherche. La fonction objectif non contrainte est étendue par une fonction de pénalité qui
se chargera de pénaliser les solutions infaisables. C’est l’approche la plus populaire. Il existe beaucoup
d’alternatives pour définir les pénalités [105].
Stratégie de réparation Les stratégies de réparation mettent en œuvre des algorithmes heuristiques (procédure
de réparation) qui transforment une solution infaisable en solution faisable [157]. Ces stratégies
spécifiques au problème sont employées lorsqu’un opérateur de recherche peut générer des solutions infaisables.
Stratégie de décodage Cette stratégie utilise des encodages indirects qui transforment la topologie de
l’espace de recherche. Lorsqu’on utilise une représentation indirecte, l’encodage n’est pas une solution
complète du problème. Un décodeur est nécessaire pour exprimer la solution donnée par l’encodage. Selon
l’information présente dans l’encodage, le décodeur aura plus ou moins de travail à faire pour dériver
une solution complète. Le décodeur peut être non déterministe. Les contraintes associées au problème
d’optimisation peuvent être gérées par le décodeur qui garantira alors la validité de la solution dérivée.
La procédure de décodage peut être vue comme une fonction S → S qui associe à chaque configuration
c ∈ S une solution faisable s ∈ S dans l’espace de recherche. La fonction de décodage doit disposer des
propriétés suivantes [63] :
• à chaque configuration c ∈ S correspond une solution faisable s ∈ S ;
• pour chaque solution faisable s ∈ S, il y a une configuration c ∈ S qui lui correspond ;
• la complexité de calcul du décodeur doit être réduite ;
• les solutions faisables dans S doivent avoir le même nombre de configurations associées dans S ;
• l’espace de représentation doit posséder la propriété de localité dans le sens que la distance entre les
configurations de S doit être en corrélation avec la distance entre les solutions faisables dans S.
Stratégie de préservation Une représentation spécifique et des opérateurs garantissent la génération de
solutions faisables. Cette stratégie incorpore des connaissances spécifiques du problème dans la représentation
et dans les opérateurs de recherche pour générer uniquement des solutions faisables. Cette stratégie
est adaptée à des problèmes spécifiques et ne peut pas être généralisée à tous les problèmes d’optimisation
sous contraintes.
5.6.1.5 Réglage des paramètres
La majorité des métaheuristiques nécessite un ajustement méticuleux de beaucoup de paramètres en fonction
du problème à résoudre. Ces paramètres dont les valeurs sont parfois difficiles à définir a priori peuvent
avoir une grande influence sur l’efficacité de la résolution. Néanmoins, il n’existe pas de valeurs optimales
des paramètres pour une métaheuristique qui puissent être applicables à tous les problèmes.5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 75
Deux stratégies sont utilisées pour le réglage de ces paramètres : une initialisation hors ligne et une
initialisation en ligne.
Réglage hors ligne Dans ce mode, les valeurs des différents paramètres sont fixés avant l’exécution de la
métaheuristique.
Réglage en ligne Avec l’approche en ligne, les paramètres sont contrôlés et modifiés dynamiquement ou
de façon adaptative pendant l’exécution de la métaheuristique. La version dynamique prend en charge le
changement de valeur d’un paramètre sans prendre en compte la progression de la recherche alors que la
version adaptative change les valeurs en fonction de la progression de la recherche.
Différentes implémentations ont été proposées pour adapter le paramétrage pendant la phase de résolution
en fonction de l’instance. Avec l’approche Tabou réactive [18], on ajuste automatiquement (version
dynamique) la longueur de la liste tabou. Dans [203], les auteurs proposent une procédure dédiée pour régler
automatiquement (version adaptative) le paramètre « max » (i.e. nombre de voisins maximum à explorer
à chaque mouvement) de la métaheuristique ID Walk également décrite dans leur document. Cette procé-
dure de réglage automatique procède par apprentissage et elle a pu être appliquée avec succès à d’autres
algorithmes pour définir la valeur d’un ou de deux paramètres (e.g. recuit simulé, recherche tabou).
5.6.1.6 Mesures de performance
Pour les méthodes exactes capables de garantir l’optimalité des résultats, le temps de recherche représente
l’indicateur principal pour évaluer la performance des algorithmes. Pour les métaheuristiques n’offrant pas
les mêmes garanties, d’autres indicateurs doivent être pris en compte [15] :
• la qualité des solutions ;
• l’effort de calcul ;
• la robustesse.
Qualité des solutions La qualité des solutions obtenues s’évalue en terme de précision en considérant
une mesure de distance ou un pourcentage de déviation entre la solution obtenue et l’une des solutions
suivantes : solution optimale, borne inférieure, meilleure solution connue ou seuil à atteindre.
Les solutions optimales peuvent être trouvées par des algorithmes exacts. Néanmoins, pour beaucoup
de problèmes complexes, les solutions optimales ne sont pas connues. Dans ce cas, on peut utiliser des
bornes inférieures pour des problèmes de minimisation (et respectivement des bornes supérieures pour des
problèmes de maximisation) proches de ces valeurs optimales. Lorsqu’il s’agit de problèmes classiques, des
instances standards sont généralement disponibles avec les meilleures solutions connues. Enfin, pour des
instances de problèmes spécifiques, un décideur peut définir un seuil à atteindre sur la qualité de la solution
pour qu’elle puisse être acceptée.
Effort de calcul Lors d’une analyse empirique, on relève le temps de calcul exprimé soit en temps CPU,
soit en temps réel écoulé. Mais ces mesures ont l’inconvénient d’être liées aux caractéristiques du matériel
informatique utilisé, de l’infrastructure réseau, du système d’exploitation, etc. Le nombre d’évaluations de
la fonction objectif, indépendant de l’infrastructure informatique, peut également servir de mesure lorsque
le temps de calcul de la fonction est significatif et reste constant. Pour comparer les effets de différents
paramétrages d’une même méthode sur une instance de problème identique, on peut simplement évaluer le
nombre d’itérations de la boucle principale.
Robustesse En général, la robustesse peut être définie par une insensibilité vis à vis d’écarts minimes dans
les instances d’entrée ou vis à vis des paramètres utilisés : plus faible est la variation des solutions obtenues,
meilleur est la robustesse [195]. Pour les métaheuristiques, la robustesse peut également être évaluée par76 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.3 – Fonctionnement général d’une méthode de recherche locale : représentation sous la forme
d’une marche à travers l’espace de recherche en partant d’une solution initiale s0 et en se dirigeant de proche
en proche vers une solution optimale localement s
∗
.
rapport à des problèmes ou instances différentes. Et lorsque des algorithmes stochastiques sont utilisés, la
robustesse peut faire référence à des écarts de comportement de l’algorithme sur différentes exécutions pour
une même instance de problème.
5.6.2 Métaheuristiques de voisinage
Une métaheuristique de voisinage améliore une solution unique pendant toute la phase d’optimisation. Elle
peut être vue comme une marche de proche en proche dans les voisinages, une trajectoire de recherche à
travers l’espace de recherche du problème [57]. La marche (ou la trajectoire) est accomplie par des procé-
dures itératives de génération et de remplacement qui réalisent tour à tour un déplacement de la solution
courante à une solution voisine dans l’espace de recherche. Dans la phase de génération, un ensemble de
solutions candidates est généré à partir de la solution courante alors que dans la phase de remplacement,
on effectue la sélection d’un candidat à partir de l’ensemble des solutions candidates pour remplacer la
solution courante. Cette procédure se répète jusqu’à ce qu’un critère d’arrêt donné soit vérifié.
La recherche locale se base en effet sur l’idée d’amélioration d’une solution donnée s en appliquant
des changements sur ses affectations. Les solutions obtenues en modifiant s s’appellent les voisins de s
et constituent un ensemble qui représente le voisinage de s. Ainsi, la recherche locale commence par une
solution initiale (éventuellement non-consistante) pour se diriger vers une solution optimale (ou localement
optimale) :
• un voisinage est généré autour de la solution courante : il représente l’ensemble des solutions obtenues
en altérant localement la solution courante, par exemple en changeant la valeur de l’une de ses
variables ou en échangeant les valeurs de deux variables.
• une heuristique de sélection détermine l’un des voisins qui devient la solution courante, par exemple
celui qui permet de faire diminuer le plus le coût de la solution (pour un problème de minimisation).
• un critère d’arrêt est testé pour limiter le temps de calcul, par exemple un nombre maximum d’itérations
ou une durée de traitement maximale.
Le fonctionnement général d’une méthode de recherche locale peut être illustré par la Figure 5.3 : S
correspond à l’espace des solutions ; s0, s1, · · · , s4 sont des solutions admissibles et s
*
correspond à une
solution optimale localement.5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 77
FIGURE 5.4 – Optimum global et local pour un problème de minimisation.
Pour un voisinage donné, si on se contente de choisir systématiquement un voisin qui réduit le coût
de la solution courante (pour un problème de minimisation), le processus de résolution se retrouvera obligatoirement
bloqué dans un optimum local où tous les voisins dégradent le coût de la solution courante,
cet optimum local n’étant que très rarement l’optimum global (figure 5.4). C’est pour cette raison que les
métaheuristiques de RL utilisent des stratégies pour s’en échapper, par exemple en autorisant des transitions
défavorables (i.e. choix d’un voisin de coût supérieur) ou en recommençant la recherche avec une nouvelle
solution choisie aléatoirement.
Les algorithmes de RL ne sont pas complets car ils ne maintiennent pas de représentation de la partie
déjà explorée de l’espace de recherche, alors que les algorithmes systématiques le font en structurant l’espace
sous la forme d’un arbre. Ils ne peuvent donc pas garantir que tout l’espace de recherche sera exploré
ni qu’une même solution ne sera pas visitée plusieurs fois. Leur efficacité est donc empirique et dépend
de l’instance considérée. Toutefois, dans la pratique, ils fournissent souvent de très bons résultats en un
temps raisonnable pour une grande variété de problèmes. De plus, ils ont l’avantage de pouvoir résoudre
des problèmes sur-contraints car ils manipulent des solutions éventuellement non-consistantes. Ils peuvent
également fournir une solution à tout moment (algorithme anytime) car l’état courant est une instanciation
totale.
5.6.3 Concepts communs aux métaheuristiques de RL
Nous abordons ici les concepts qui sont communs aux différents algorithmes de recherche locale.
5.6.3.1 Solution initiale
Il existe deux stratégies principales pour générer une solution initiale : l’approche aléatoire et l’approche
gloutonne.
La génération aléatoire d’une solution initiale est rapide. Cette stratégie peut entraîner une déviation
importante en termes de solutions obtenues et constitue à ce titre une bonne base de diversification. Néanmoins,
pour certains problèmes contraints, il peut être difficile de générer des solutions faisables avec cette
technique. Dans ce cas, les algorithmes de construction gloutons représentent une bonne alternative. Géné-
ralement, une heuristique gloutonne peut être utilisée avec une complexité réduite à un temps polynomial.
Par rapport aux algorithmes aléatoires, les algorithmes gloutons conduisent souvent à une solution initiale78 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
de meilleur qualité. Dans ce cas, la RL nécessite généralement moins d’itérations pour converger vers un
optimum local. Mais rien ne garantit que l’utilisation d’une solution initiale de qualité supérieure conduira
systématiquement la RL à un meilleur optimum local. Habituellement, on constate que plus le voisinage est
grand, moins les performances de la RL sont sensibles à la solution initiale [266].
Des règles métier identifiées par des experts ou des solutions déjà implémentées peuvent également
servir de support pour générer une solution initiale.
5.6.3.2 Voisinage
La définition d’un voisinage est une opération délicate qui est requise pour utiliser n’importe quelle mé-
taheuristique de RL. Sa structure joue un rôle essentiel sur les performances. De plus, si elle n’est pas
adéquate au problème donné, la résolution échouera quelle que soit la méthode employée. La modélisation
du problème d’optimisation et le choix du voisinage doivent être effectués de telle sorte qu’il existe au
moins un chemin entre chaque solution s
0 ∈ S menant à une solution optimale s
*
.
Definition 10 (Voisinage). Étant donné une solution s, le voisinage de s est un sous-ensemble de solutions
noté N (s) ⊆ S ; N (s) contenant des solutions directement atteignables à partir d’une transformation
élémentaire donnée de s. Une solution s
0 ∈ N (s) est dite voisine de s.
Un voisin est généré par l’application d’une transformation élémentaire qui réalise une légère perturbation
de la solution s. Par exemple, une transformation élémentaire peut consister à effectuer une permutation
de valeurs entre deux variables (2-échanges) d’une même solution s. Dans ce cas, la taille du voisinage N (s)
est égale à n(n−1)
2
, avec n le nombre de variables du problème.
La structure du voisinage dépend de la transformation autorisée. Ainsi, à partir d’une solution donnée,
on peut établir plusieurs structures de voisinage différentes selon les transformations retenues.
Definition 11 (Optimum local). Une solution s est un optimum local si et seulement si il n’existe pas une
autre solution s
0 ∈ N (s) avec un coût (issu de la fonction objectif) strictement meilleur.
∀s
0 ∈ N (s)
(
f(s) ≤ f(s
0
) pour un problème de minimisation
f(s) ≥ f(s
0
) pour un problème de maximisation
La taille du voisinage pour une solution s correspond au nombre de voisins de s. Utiliser de grands
voisinages peut améliorer la qualité des solutions obtenues dans la mesure où on considère plus de voisins
à chaque itération. Mais dans ce cas, un temps de calcul supplémentaire sera requis pour effectuer chaque
itération. Lorsque le nombre de cycles à opérer est important pour la résolution d’un problème, le temps
additionnel occasionné peut devenir conséquent. Il faut donc trouver un compromis entre la qualité du
voisinage et la complexité nécessaire pour l’explorer. Lorsque la complexité d’exploration d’un voisinage
devient trop importante, ce problème devient à lui seul un problème d’optimisation. Il est alors indispensable
de concevoir des procédures efficaces pour réaliser l’exploration. En général, ces procédures cherchent à
identifier les meilleurs voisins (ou des voisins meilleurs) sans devoir énumérer l’ensemble du voisinage [5].
5.6.3.3 Paysage d’un problème d’optimisation
Le paysage d’un problème d’optimisation combinatoire est défini par le triplet (S, N , f) tel que :
• S : est l’ensemble des solutions réalisables ;
• N : S → 2
S
: est une relation de voisinage qui associe à toute solution s de l’ensemble des solutions
un sous-ensemble N (s) de solutions réalisables appelées voisins ;
• f : S → R : est une fonction objectif qui mesure la qualité des solutions réalisables.
La notion de paysage a été introduite pour la première fois dans la littérature par WRIGHT [289] en
lien avec la biologie. La structure de voisinage a été utilisée pour étudier les dynamiques des systèmes5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 79
FIGURE 5.5 – Paysage lisse d’après [181]. FIGURE 5.6 – Paysage rugueux d’après [181].
FIGURE 5.7 – Paysage d’un problème d’optimisation d’après [181].
biologiques et comprendre les processus d’évolution déterminés par des opérateurs comme la mutation
ou le croisement. Cette notion fut ensuite transposée à d’autres domaines comme celui de l’optimisation
combinatoire [257, 256].
On peut utiliser des termes géographiques pour décrire un paysage : l’espace de recherche représente
le sol, la relation de voisinage connecte les solutions les unes aux autres et la fonction objectif leur affecte
une qualité transcrite en altitude (figure 5.7). On obtient un paysage constitué de vallées, de plaines, de
sommets, de plateaux, de cuvettes, etc. Analyser la structure d’un paysage permet d’appréhender le degré
de difficulté d’un problème et peut aider à concevoir de meilleures représentations du voisinage. Il est
plus facile d’atteindre l’optimum global pour un paysage lisse (figure 5.5) que pour un paysage rugueux
(figure 5.6) où les optima locaux sont plus nombreux : on peut alors expliquer la réussite ou l’échec d’une
métaheuristique sur un problème donné.
Globalement, un paysage peut avoir un relief plat, rugueux ou vallonné [181]. Beaucoup de problèmes
d’optimisation sont caractérisés par un paysage plat dans lequel il y a beaucoup de plateaux, c’est à dire
beaucoup de voisins ayant la même qualité [266]. Lorsqu’une métaheuristique rencontre un plateau, aucune
information ne lui permet de guider sa recherche. Pour casser ces plateaux, une stratégie consiste à intégrer
dans la fonction objectif des informations supplémentaires permettant de discriminer les solutions ayant la
même valeur d’objectif [132, 84].
5.6.3.4 Évaluation incrémentale du voisinage
L’évaluation de la fonction objectif peut nécessiter un temps de calcul important. Une exploration naïve du
voisinage d’une solution s consiste à évaluer complètement la fonction objectif pour chaque voisin s
0 de s.
Lorsque cela est possible, il est plus performant d’évaluer chaque voisin par une évaluation incrémentale
représentée par 4(s, m) où s est la solution courante et m le mouvement (ou transformation) appliqué à s
pour obtenir un voisin s
0
. On limite ainsi l’évaluation à la transformation de s au lieu d’évaluer complète-80 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.8 – Principe de génération du voisinage à partir de la solution courante et sélection d’un voisin
d’après [35].
ment la solution voisine s
0
. Cette évaluation incrémentale peut être simple ou très complexe à implémenter
en fonction du problème et de la structure du voisinage.
5.6.4 Méthodes de descente (Simple Improvement-based Local Search)
Les méthodes de descente (amélioration continue) n’utilisent pas de stratégies avancées et à ce titre nous
les considérons comme des techniques de base pouvant être utilisées par différentes métaheuristiques plus
élaborées. On les retrouve sous le nom "hill climbing" pour les problèmes de maximisation.
Une méthode de descente (first improvement ou simple hill climbing) choisit à chaque étape une solution
voisine meilleure que la solution courante (figure 5.8). Quand plus aucune solution voisine n’améliore la
solution courante, un optimum local est atteint et le processus s’arrête. La méthode de plus forte descente
(best improvement ou steepest ascent hill climbing) est une variante qui choisit à chaque étape la meilleure
solution voisine parmi celles qui améliorent la solution courante.
En termes d’exploration du voisinage, les méthodes de descente (first improvement) font une exploration
partielle du voisinage (algorithme 4) alors que les méthodes de plus forte descente (best improvement)
nécessitent une exploration exhaustive du voisinage (algorithme 5).
L’avantage principal de ces méthodes de descente réside dans leur grande simplicité et leur rapidité.
Historiquement, ces méthodes ont toujours compté parmi les méthodes heuristiques les plus populaires
pour traiter les problèmes d’optimisation combinatoire. Toutefois, elles comportent deux obstacles majeurs
qui peuvent limiter considérablement leur efficacité :
• suivant la taille et la structure du voisinage N considéré, la recherche de la meilleure solution voisine
est un problème qui peut être aussi difficile que le problème initial.
• une méthode de descente est incapable de progresser au-delà du premier optimum local rencontré.5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 81
Algorithme 4 : Méthode de descente
1 Créer la solution initiale s ;
2 while (optimum local non atteint) do
3 repeat
Créer un nouveau voisin s
0
4 en réalisant un mouvement sur s ;
until (s
0 meilleur que s) ou (plus aucun mouvement disponible) ;
if (s
0
5 meilleur que s) then
Passer à la solution s
0
(la solution courante s est remplacée par s
0
6 ) ;
7 return s ;
Algorithme 5 : Méthode de plus forte descente
1 Créer la solution initiale s ;
2 while (optimum local non atteint) do
3 Déterminer le voisinage complet N de la solution courante s ;
4 if (N contient au moins une meilleure solution que s) then
Choisir la meilleure solution s
0
5 dans N ;
Passer à la solution s
0
(la solution courante s est remplacée par s
0
6 ) ;
7 return s ;
Or, les problèmes d’optimisation combinatoire comportent typiquement de nombreux optima locaux
pour lesquels la valeur de la fonction objectif peut être fort éloignée de la valeur optimale.
Pour remédier à ce dernier problème, la solution la plus simple est la méthode de descente avec relance
aléatoire (random restart hill climbing) qui consiste à générer une nouvelle solution de départ de façon
aléatoire et à relancer la méthode de descente. On remarquera cependant que cette solution ne tire aucun
profit des optima locaux déjà découverts. Une autre solution consiste à accepter des voisins de même qualité
que la configuration courante. Cette approche permet à la recherche de se déplacer sur les plateaux, mais
n’est pas suffisante pour ressortir d’un optimum local.
L’efficacité des méthodes de RL repose en réalité sur un équilibre entre deux notions essentielles repré-
sentées par l’intensification et la diversification.
5.6.5 Mécanismes d’intensification et de diversification
Ces deux termes ont été initialement introduits par GLOVER dans le contexte de la recherche tabou
[112, 113, 115] avant d’être généralisés puis vus comme des propriétés essentielles des métaheuristiques.
L’intensification (ou exploitation) insiste sur l’examen en profondeur d’une zone de recherche particulière
alors que la diversification (ou exploration) met en avant la capacité de découvrir des zones de
recherche prometteuses.
L’idée de base de l’intensification est d’exploiter une ou des solutions prometteuses. Elle se fonde sur
les notions liées à l’apprentissage en considérant que les attributs souvent présents dans les configurations
d’élite connues sont favorables, il faut donc les exploiter plus que les autres. Par contre, les attributs rarement
présents dans les configurations d’élite connues sont peu favorables, il faut donc les éviter. De nombreuses
techniques d’intensification ont été proposées [161, 30, 231, 128] :
• relancer la recherche à partir des bonnes solutions déjà rencontrées ;
• reconstruire une solution de départ qui tente de combiner des attributs souvent rencontrés dans les
meilleures configurations ;82 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.9 – Classification (I&D) des composants d’une stratégie de recherche proposée par BLUM et
ROLI [30] (OG = composants exclusivement guidés par la fonction objectif ; NOG = composants I&D
uniquement guidés par une ou plusieurs fonctions autres que la fonction objectif ; R = composants guidés de
façon totalement aléatoire). Le composant repéré par une croix ’X’ situé à mi-chemin entre l’intensification
et la diversification n’est pas stochastique.
• fixer certains attributs qui ont souvent été présents dans les configurations d’élite.
Cependant, l’application du seul principe d’intensification ne permet pas une recherche efficace. En effet,
elle conduit à confiner la recherche dans une zone limitée qui finit par s’épuiser. Le cas de l’amélioration
continue illustrée par les méthodes de descente (voir la section 5.6.4) rapidement piégées dans un optimum
local représente bien ce phénomène.
A contrario, la diversification est un mécanisme qui oblige la recherche à s’éloigner d’une zone où les
solutions sont connues pour se diriger vers d’autres zones inexplorées. HOOS et STÜTZLE ont établi un
lien étroit entre diversification et caractère aléatoire [135]. Pour eux, une part d’aléatoire introduite dans la
phase d’initialisation (pour créer la solution initiale) ou dans les étapes de recherche (en autorisant parfois la
dégradation du score) permet de contourner les principales limitations des méthodes de descente qui restent
piégées dans le premier minimum local rencontré.
De nombreuses techniques de diversification ont été proposées. La technique la plus simple consiste
à construire une nouvelle solution de départ pour relancer la recherche. Les changements de voisinage
(5.6.10.2) sont aussi une forme de diversification permettant d’atteindre de nouvelles solutions. D’autres
heuristiques peuvent réaliser une perturbation aléatoire (modifications aléatoires de la solution courante) ou
encore caractériser les régions visitées pour pouvoir ensuite s’en éloigner.
La recombinaison constitue un autre principe général qui complète l’intensification et la diversification.
Elle consiste à construire de nouvelles configurations en combinant la structure de deux ou plusieurs bonnes
configurations déjà trouvées. Cette idée issue des algorithmes génétiques (le croisement) a été introduite
dans des méthodes de voisinage, notamment dans la méthode de recherche par dispersion (Scatter Search).
Une stratégie de recherche efficace doit donc intégrer à la fois des mécanismes d’intensification et de
diversification et trouver un bon équilibre entre ces deux notions antagonistes. Bien que certains composants
d’une stratégie de recherche ne puissent être clairement catalogués comme participant soit à l’intensification,
soit à la diversification (car ils participent aux deux à la fois), BLUM et ROLI ont proposé
une classification [30] représentée par un triangle dans lequel on place les composants pour les évaluer en5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 83
fonction de leur position à l’intérieur du triangle (figure 5.9). Dans ce triangle, l’effet de l’intensification
diminue lorsque la distance au coin OG augmente tandis que la force de diversification augmente lorsqu’on
s’approche des coins R ou NOG. Ce schéma correspond à une signature simple du composant concerné
(e.g. composant repéré par une croix ’X’ dans la figure 5.9) et permet ainsi de représenter les mécanismes
qu’il met en œuvre en relation avec sa position.
5.6.6 Recherche Locale Itérée (Iterated Local Search, ILS)
La méthode de recherche locale itérée est une métaheuristique simple mais puissante [260, 176, 177, 184].
Il s’agit d’une amélioration des méthodes de descente qui propose une stratégie pour pallier l’arrêt de la
recherche sur le premier optimum local rencontré, problème inhérent aux techniques de descente. A partir
d’une solution initiale soumise à une méthode de descente classique, cette méthode enchaîne les trois étapes
suivantes jusqu’à ce qu’un critère d’arrêt soit satisfait :
• perturbation aléatoire de la solution courante ;
• optimisation de la solution perturbée par une méthode de descente jusqu’à obtenir un optimum local ;
• acceptation (ou non) du nouvel optimum local comme solution courante.
La phase de perturbation est essentielle et elle doit être bien dosée. En effet, si la perturbation est trop
faible, on ne pourra pas s’échapper du bassin d’attraction de l’optimum local précédent. Au contrainte, si la
perturbation est trop importante, l’algorithme se comportera comme une méthode de descente avec relance
aléatoire.
Pour ce qui est de l’acceptation d’une nouvelle solution courante, on peut imaginer un grand nombre de
possibilités comprises entre deux extrêmes qui consistent à (i) accepter le nouvel optimum local uniquement
si il améliore la dernière solution trouvée ou à (ii) accepter systématiquement la nouvelle solution.
Algorithme 6 : Méthode de recherche locale itérée
1 Créer la solution initiale s0 ;
s
∗
2 = Méthode de descente(s0) ;
3 repeat
s1 = Perturbation aléatoire(s
∗
4 , historique) ;
5 s2 = Méthode de descente(s1) ;
if (Acceptation(s
∗
6 , s2, historique)) then
s
∗
7 = s2 ;
until (critère de fin atteint) ;
5.6.7 Recuit Simulé (Simulated Annealing, SA)
Le recuit simulé est une métaheuristique populaire dont le mécanisme de recherche est calqué sur l’algorithme
de Metropolis [189] et les principes de recuit thermodynamiques utilisés en métallurgie. KIRKPATRICK
et al. [153] et CERNY [42] ont été les premiers à s’inspirer d’une telle technique pour résoudre des
problèmes d’optimisation combinatoire.
En partant d’une température élevée où le métal est liquide, on le refroidit progressivement en tentant
de trouver le meilleur équilibre thermodynamique. Chaque niveau de température est maintenu jusqu’à
obtenir un équilibre. Dans ces phases de température constante, on peut passer par des états intermédiaires
du métal non satisfaisants, mais conduisant à la longue à des états meilleurs. La vitesse de refroidissement
a un impact crucial sur la configuration finale, un alignement atomique approprié n’étant possible que si le
procédé de refroidissement est suffisamment lent.
Le voisinage N (s) d’une solution s ∈ S s’apparente à l’ensemble des états atteignables depuis l’état
courant en faisant subir des déplacements infinitésimaux aux atomes d’un système physique. A chaque84 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
itération de l’algorithme, une seule solution voisine s
0
est générée à partir du voisinage N (s). Celle-ci est
acceptée si elle est meilleure que la solution courante s. Dans le cas contraire, la solution s
0
est acceptée
avec une certaine probabilité prob(4f, T) qui dépend de la détérioration de la qualité 4f = f(s
0
) − f(s)
et d’un paramètre T correspondant à la température.
Les changements de température sont effectués sur la base d’un schéma de refroidissement précis. En
règle générale, la température est diminuée par paliers à chaque fois qu’un certain nombre d’itérations est
effectué. L’algorithme est interrompu lorsqu’aucune solution voisine n’a été acceptée pendant un cycle complet
d’itérations à température constante. La performance du recuit simulé est étroitement liée au schéma
de refroidissement considéré.
De nombreuses études théoriques ont été effectuées à ce sujet et plusieurs variantes ont été proposées
[52, 211].
Algorithme 7 : Méthode de recuit simulé
1 Créer la solution initiale s ;
2 Définir la température initiale T0 ;
3 Définir le nombre d’essais pour chaque niveau de température L;
4 Initialiser le compteur de niveau k ← 0 ;
5 while (critère de fin non satisfait) do
6 for (i = 1 to L) do
Créer un nouveau voisin s
0
7 en appliquant à s un mouvement choisi aléatoirement ;
Calculer la différence de coût 4f = f(s
0
8 ) − f(s);
9 if (4f ≤ 0) then
Passer à la solution s
0
(Remplacer la solution courante s par s
0
10 ) ;
else
11 Tirer un nombre aléatoire r ∈ [0, 1] ;
if
r ≤ exp
−4f
Tk
then 12
Passer à la solution s
0
(Remplacer la solution courante s par s
0
13 ) ;
14 Actualiser la meilleure solution trouvée (si nécessaire) ;
15 Définir k ← k + 1 ;
16 Définir la valeur de la température Tk pour le nouveau niveau k ;
17 return la meilleure solution trouvée ;
En début du processus de recherche, le système est chauffé en fixant T à une valeur élevée. L’algorithme
de Metropolis est exécuté pour un nombre déterminé d’itérations, tout en gardant la température fixe. Après
cela, la température diminue lentement et l’algorithme de Metropolis est relancé. Ce plan d’action est ré-
pété jusqu’à ce que le système soit gelé, c’est à dire lorsqu’on a atteint une température très basse et que
pratiquement aucune modification de configuration ne se produit (algorithme 7).
5.6.8 Recherche Tabou (Tabu Search, TS)
Introduite indépendamment par F. GLOVER [111] d’une part et par P. HANSEN [125] d’autre part, la recherche
tabou est une métaheuristique qui construit un voisinage en excluant un certain nombre de confi-
gurations récemment visitées (ou mouvements récents). Elle utilise toujours la meilleure solution voisine
indépendamment du fait qu’elle améliore ou non la qualité de la solution précédente.
Tant qu’on ne se trouve pas dans un optimum local, cette méthode se comporte comme une méthode
de plus forte descente qui améliore à chaque itération la valeur de la fonction objectif en choisissant une
configuration meilleure. Mais lorsqu’elle a atteint un optimum local, la recherche tabou cherche à s’en5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 85
FIGURE 5.10 – Recherche tabou pour un problème de minimisation : déplacement dans l’espace de recherche
en sélectionnant à chaque itération le meilleur voisin dans un voisinage débarrassé des solutions
récentes marquées tabou (pour éviter les cycles). On alterne ainsi entre des phases d’intensification et de
diversification qui poussent la recherche à se diriger vers un optimum global.
échapper en choisissant le voisin le moins mauvais, c’est à dire celui qui détériore le moins le coût de la
dernière solution sélectionnée (figure 5.10).
Pour éviter d’emprunter le chemin inverse (retour à une solution précédente) qui provoquerait un cycle,
la méthode se déplace d’une configuration à une autre en s’interdisant de revenir sur une configuration ré-
cente déjà rencontrée. Elle utilise pour cela une liste tabou qui contient les dernières configurations visitées
et interdites pendant un certain nombre d’itérations, le but étant de donner assez de temps à l’algorithme
pour lui permettre de sortir du minimum local.
Cependant, stocker dans la liste tabou des configurations entières et vérifier si elles correspondent à la
prochaine destination peut être coûteux en espace mémoire et en temps de calcul. Pour éviter ce problème,
une alternative courante consiste à stocker et à interdire un ensemble de mouvements récemment utilisés
(plutôt que des solutions), ces mouvements pouvant ramener à une configuration déjà visitée.
Dans le cas d’une liste tabou basée mouvements, l’interdiction d’emprunter un chemin ne porte pas
uniquement sur les solutions récemment visitées, elle porte plus globalement sur toutes les solutions qui
résulteraient de l’un des mouvements présents dans la liste. Le nombre de ces solutions involontairement
déclarées tabou dépend de la capacité de stockage de la liste tabou et peut varier très fortement en fonction
du problème et de la structure du voisinage. Il arrive même que cette interdiction empêche de visiter
des solutions supérieures (à la meilleure configuration déjà rencontrée) n’ayant pas encore été visitées, ce
qui rend le processus de recherche plus difficile. Pour ne pas interdire l’accès à ces configurations de qualité
supérieure, on peut ajouter un mécanisme dit d’aspiration qui permet d’enlever le caractère tabou à
certains mouvements jugés utiles pour accéder à des solutions de qualité exceptionnelle. D’autres critères
d’aspiration plus sophistiqués ont également été proposés [66, 131].
La durée tabou est un paramètre essentiel qui influence énormément les performances de la méthode,
il est donc crucial de bien la choisir en fonction du problème traité et de l’instance. La durée du statut
tabou peut être soit statique soit dynamique. Une durée statique est fixée en début de résolution et reste
constante durant toute la recherche. Une durée dynamique peut varier au cours de l’exécution. Plusieurs86 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
études [127] ont montré que les résultats obtenus avec les listes tabou dynamiques pouvaient être meilleurs
qu’avec une liste statique. Dans [72, 73], les auteurs proposent des techniques d’apprentissage pour définir
empiriquement les paramètres de durée.
Algorithme 8 : Méthode de recherche tabou
1 Créer la solution initiale s ;
2 Initialiser la liste tabou T ;
3 while (critère de fin non satisfait) do
4 Déterminer le voisinage complet N de la solution courante s ;
Choisir la meilleure solution s
0
5 non tabou dans N ;
Passer à la solution s
0
(la solution courante s est remplacée par s
0
6 ) ;
7 Modifier la liste tabou T ;
8 Actualiser la meilleure solution trouvée (si nécessaire) ;
9 return la meilleure solution trouvée ;
5.6.8.1 La liste tabou
La liste tabou contient habituellement une quantité limitée d’informations pouvant être de différentes natures
[106]. Elle est généralement organisée comme un buffer de type "first in first out". Lorsque le buffer
est plein et qu’un nouvel élément doit y être ajouté, l’élément le plus ancien est supprimé du buffer et
les éléments précédents sont décalés vers la fin. La capacité du buffer détermine la "durée tabou". Notons
qu’une liste tabou de taille fixe ne peut pas éviter avec certitude l’occurrence de cycles. Afin d’améliorer sa
protection contre les cycles, deux approches majeures ont été développées :
• faire varier la taille de la liste au fil du temps [112, 113, 250, 263].
• faire varier la durée tabou de chaque élément [107]. Cette approche nécessite une structure mémoire
adaptée. Les éléments tabou doivent être mémorisés dans un tableau avec une information de durée
tabou, typiquement le numéro d’itération à atteindre pour qu’ils passent du statut tabou au statut non
tabou.
5.6.8.2 Alternance entre intensification et diversification
Afin d’illustrer la stratégie de recherche tabou et le nécessaire équilibre entre intensification et diversification,
revenons sur la Figure 5.10.
Le processus d’optimisation démarre avec la solution initiale s1. Il entame alors une première phase
d’intensification de la recherche en opérant une méthode de descente jusqu’à ce qu’il rencontre un optimum
local (s6). Pour sortir de cette impasse, il a alors deux solutions : soit il revient à la solution s5, soit il avance
à la solution s7. La liste tabou ayant mémorisé les dernières solutions visitées, on suppose que la solution
s5 est interdite. La recherche tabou passe donc à la solution s7 correspondant à la meilleure solution voisine
non tabou. La solution s7 ayant été visitée, elle devient à son tour tabou. La recherche n’a pas d’autre
choix que de poursuivre sa phase de remontée jusqu’à atteindre la solution s10. Cette ascension l’éloigne
peu à peu de la vallée où la recherche était bloquée : il s’agit d’une phase de diversification qui guide la
recherche vers de nouveaux horizons. A partir du point s10, des solutions voisines d’amélioration non tabou
sont accessibles et le processus rentre à nouveau dans une phase d’intensification.
5.6.9 Adaptive Search (AS)
Adaptive Search est une méthode de recherche locale basée contraintes (i.e. Constraint-Based Local Search)
proposée au début des années 2000 [47, 48]. Cette métaheuristique tire parti de la structure d’un problème5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 87
en exploitant les contraintes et les variables d’un CSP donné. Elle peut ainsi guider la recherche avec plus
de précision qu’une simple fonction de coût globale à optimiser, qui mentionnerait uniquement le nombre
de contraintes violées [10]. L’algorithme utilise également une mémoire à court terme, dans l’esprit de la
recherche tabou, pour éviter (i) une stagnation dans un optimum local et (ii) des cycles infinis. De part sa
nature, cette métaheuristique gère de façon intrinsèque les problèmes sur-contraints.
L’algorithme 9 présente un schéma général de la métaheuristique Adaptive Search qui s’articule autour
de trois principes :
• considérer pour chaque contrainte une fonction heuristique capable de calculer un degré de satisfaction
des objectifs : l’erreur courante sur la contrainte ;
• regrouper les contraintes sur chaque variable et projeter les erreurs sur les variables dans le but de
réparer la plus mauvaise variable avec la valeur la plus prometteuse ;
• conserver dans une mémoire à court terme les mauvaises configurations pour éviter les cycles (i.e. à
la manière d’une liste tabou) et proposer un mécanisme de réinitialisation partielle.
Pour chaque contrainte, une fonction d’erreur doit être définie afin de fournir, pour chaque tuple "variable
| valeur", une indication sur son degré de violation. Cette idée a également été proposée indépendamment
par P. GALINIER et J.K. HAO [99], où il est question de "fonctions de pénalité", puis réutilisée dans
la plateforme Comet [272], où les auteurs parlent de "violations".
AS procède à une réparation itérative sur la base des erreurs liées aux variables et aux contraintes, en
cherchant à réduire l’erreur sur la variable ayant le coût le plus élevé. Pour cela, on calcule la fonction
d’erreur pour chaque contrainte, puis on combine pour chaque variable les erreurs de toutes les contraintes
où elles apparaissent, ce qui permet de projeter les erreurs des contraintes sur les variables correspondantes.
La procédure qui permet de transférer les erreurs des contraintes sur les variables est problème-dépendant.
Il s’agit généralement d’une simple somme, ou d’une somme de valeurs absolues, bien que cela puisse également
être une somme pondérée si les contraintes sont données avec des priorités différentes. Finalement,
la variable avec l’erreur la plus importante est désignée comme étant "la coupable" et sa valeur est modifiée.
Pour cette seconde étape, l’heuristique min-conflicts11 [192] est utilisée pour sélectionner la valeur dans le
domaine de la variable qui est la plus prometteuse, c’est à dire la valeur pour laquelle l’erreur totale dans la
configuration suivante est minimale.
Pour éviter d’être piégée dans un minimum local, la méthode AS incorpore un mécanisme de mémoire à
court terme permettant de mémoriser les configurations à éviter (les variables peuvent être marquées tabou
et être gelées pour un nombre d’itérations). Elle intègre également des étapes de réinitialisation. Une réinitialisation
consiste à assigner de nouvelles valeurs aléatoires pour certaines variables, ces dernières étant
également choisies de façon aléatoire. Par exemple, lorsque trop de variables deviennent tabou, l’algorithme
risque d’être piégé autour d’un minimum local. Une diversification peut alors être sollicitée par une réinitialisation
partielle en assignant de nouvelles valeurs à un pourcentage donné de variables du problème,
les variables et les valeurs étant choisies aléatoirement. Une réinitialisation peut être déclenchée lors d’une
itération dès qu’un nombre de variables marquées tabou est atteint.
Par rapport à l’algorithme de base (cf. algorithme 9), une amélioration peut être apportée lorsqu’on
se déplace sur un plateau. Dans ce cas, un système stochastique simple peut être utilisé pour décider de
poursuivre sur le plateau ou de s’en échapper, selon une certaine probabilité.
Bien que cette méthode soit très simple, elle n’en reste pas moins très efficace pour résoudre des problèmes
combinatoires complexes [49]. Soulignons également que cette métaheuristique exploite plusieurs
mécanismes stochastiques. D’une part dans l’algorithme de base pour la sélection d’une variable et d’une
valeur pour trancher entre des choix équivalents. D’autre part, dans la valeur des paramètres de contrôle
pouvant être fixés différemment par l’utilisateur à chaque exécution (% de variables concernées par une ré-
11La méthode min-conflicts cherche à éviter une exploration exhaustive du voisinage à chaque itération comme le fait la
méthode de plus forte descente (ou best improvement). Pour ce faire, une variable en conflit (impliquée dans une contrainte
violée) est choisie aléatoirement et instanciée avec la valeur qui minimise le nombre de conflits, avec un choix aléatoire en cas
d’égalité. Cette heuristique introduite pour des problèmes de satisfaction de contraintes tente ainsi de réparer une configuration
non consistante.88 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
Algorithme 9 : Algorithme de base pour la métaheuristique Adaptive Search, d’après [10].
Input : problème donné au format CSP : certains paramètres de règlage :
• variables Xi avec leurs domaines • TT : # iterations où une variable reste tabou
• contraintes Cj avec fonctions d’erreur • RL : # variables tabou pour déclencher un reset
• fonction pour projecter les erreurs sur les variables • RP : % de variables à réinitialiser
• fonction de coût à minimiser • MI : # max. iterations avant un redémarrage
• MR : # max. de redémarrages
Output : une solution si le CSP est satisfait ou une solution approchée de coût minimal sinon.
1 Restart ← 0 ;
2 Opt_Sol ← ∅ ;
3 Opt_Cost ← MAX ;
4 repeat
5 Restart ← Restart + 1 ;
6 Iteration ← 0 ;
7 Calculer une affectation aléatoire A de variables dans V ;
8 if (cost(A) < Opt_Cost) then
9 Opt_Sol ← A ;
10 Opt_Cost ← cost(A) ;
11 repeat
12 Iteration ← Iteration + 1 ;
13 Calculer les erreurs de toutes les contraintes dans C et combiner les erreurs sur chaque variable;
(en considérant uniquement les contraintes où la variable apparaît)
14 Sélectionner la variable X (non marquée tabou) avec l’erreur la plus forte ;
(si il y en a plusieurs avec le même coût, en sélectionner une de façon aléatoire dans la liste)
15 Évaluer les configurations du voisinage de A à partir de X ;
16 if (aucun changement ne permet d’améliorer le coût) then
17 marquer X comme tabou jusqu’à l’itération numéro : Iteration + T T ;
18 if (le nombre de variables marquées tabou ≥ RL) then
19 réinitialiser au hasard RP % variables dans V (et ne plus les considérer comme tabou) ;
else
Appliquer le meilleur changement à partir de X, donnant la configuration suivante A0
20 ;
A ← A0
21 ;
22 if (cost(A) < Opt_Cost) then
23 Opt_Sol ← A ;
24 Opt_Cost ← cost(A) ;
until (Opt_Cost = 0 (une solution est trouvée) ou Iteration ≥ MI) ;
until (Opt_Cost = 0 (une solution est trouvée) ou Restart ≥ MR) ;
25 output(Opt_Sol, Opt_Cost)5.6. MÉTAHEURISTIQUES À BASE DE VOISINAGES 89
initialisation partielle, nombre maximum de variables marquées tabou pour déclencher une réinitialisation
partielle, . . . ).
5.6.10 Autres métaheuristiques obtenues par recombinaison de méthodes simples
Nous présentons ici quelques méthodes de RL originales qui combinent et exploitent des techniques de
base déjà abordées dans ce chapitre. L’association de techniques simples pour produire des techniques plus
sophistiquées nous permet d’illustrer tout le potentiel que représente l’hybridation de méthodes (complètes
et incomplètes) sans toutefois développer ce dernier aspect [127, 252, 162, 146, 76, 152].
5.6.10.1 Greedy Randomized Adaptive Search Procedure (GRASP)
La méthode GRASP [91, 230] consiste à répéter deux phases successives tant qu’un critère d’arrêt n’est pas
satisfait :
• la première phase construit une solution s par un algorithme glouton aléatoire (Greedy randomized,
section 5.5.2) ;
• la seconde phase utilise une méthode de descente pour trouver un optimum local à partir de s.
La méthode retourne la meilleure solution trouvée.
5.6.10.2 Recherche à voisinage variable (Variable Neighborhood Search, VNS)
Proposée par HANSEN et MLADENOVIC [126] en 1997, la méthode de recherche à voisinage variable est
une métaheuristique récente qui exploite un changement de structures de voisinage pour s’échapper d’un
optimum local. L’idée de base est de faire varier la structure de voisinage en se basant sur le fait qu’une
configuration s reconnue comme un optimum local pour une structure de voisinage donnée peut ne pas être
un optimum local pour une autre structure de voisinage.
Cette méthode fonctionne en plusieurs étapes. Tout d’abord, elle nécessite la définition de différentes
structures de voisinage, notées N1, ..., Nkmax
, allant d’une portée faible à une portée de plus en plus importante.
A partir d’une configuration complète de départ s, une solution s
0 voisine de s est sélectionnée
(de façon aléatoire) en utilisant la structure de voisinage N1 (de plus faible portée). On applique alors une
méthode de descente sur s
0
. Si la solution s
00 obtenue à l’issue de cette première recherche est meilleure que
la solution s de départ alors la solution s est remplacée par s
00 et la recherche reprend à partir de la première
structure de voisinage. Sinon, une autre configuration complète s
0 peut être sélectionnée dans le voisinage
de s en utilisant une structure de voisinage de portée supérieure (soit dans notre cas la structure de voisinage
N2). La même règle est appliquée pour les choix suivants jusqu’à l’obtention d’un critère d’arrêt. A noter
que les règles de changement de structure de voisinage peuvent être plus complexes.
Il peut être intéressant d’utiliser des algorithmes de ce type pour des problèmes disposant de nombreux
minimums locaux.
5.6.10.3 Recherche Locale Guidée (Guided Local Search, GLS)
La recherche locale guidée proposée par VOUDOURIS et TSANG [281] pénalise les propriétés caractéristiques
des solutions qui apparaissent dans un optimum local. Elle consiste à modifier dynamiquement la
fonction objectif pour exploiter ces pénalités et rendre moins attractifs les optima locaux.
La recherche démarre avec une solution initiale et toutes les valeurs de pénalité à zéro. Une méthode
de descente est utilisée jusqu’à ce qu’un optimum local soit trouvé. La solution trouvée est utilisée pour
calculer les nouvelles pénalités. Ces deux dernières étapes sont répétées jusqu’à ce qu’un critère d’arrêt soit
vérifié.90 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
5.6.11 Conclusion
Par rapport à cette étude relative aux méthodes de résolution incomplètes, nous souhaitons mettre en perspective
deux aspects qui nous paraissent essentiels : des différences significatives entre les méthodes d’une
part et des opportunités d’assemblage d’autre part.
D’un point de vue paramétrage, le recuit simulé paraît nettement plus compliqué que la méthode de
recherche tabou par exemple : d’un côté, il faut définir un système de refroidissement par paliers (tempé-
rature initiale, taux de décroissance de la température, durée des paliers de température, . . . ) [181, 245]
alors que d’un autre, il suffit de définir la taille d’une liste. Lorsqu’on doit satisfaire une contrainte de temps
importante, la méthode de recuit simulé ne semble pas bien positionnée non plus avec un temps de calcul
qui reste excessif dans certaines applications [245]. A l’inverse, les méthodes basées sur le principe de
plus forte descente semblent intéressantes pour améliorer très fortement la qualité d’une solution en tout
début du processus de résolution. On notera que la recherche tabou est une méthode aussi agressive qu’une
méthode de descente mais, si le temps le permet, elle sera capable de dépasser le premier optimum local.
Par rapport à un type de problème particulier, des instances de problèmes classiques sont disponibles pour
pouvoir évaluer la pertinence d’une méthode et la comparer aux autres (cf. les librairies : OR-Library12
,
TSPLIB13, QAPLIB14, . . . ). En fonction de la structure d’un problème ou d’une instance, une méthode sera
donc plus ou moins adaptée et obtiendra parfois les meilleurs résultats connus pour certains problèmes. Il
est donc important d’avoir une vision des différentes techniques disponibles pour retenir celle qui est la plus
prometteuse. Par exemple, parmi les métaheuristiques basées sur une recherche locale, la méthode tabou
semble être la plus performante pour résoudre les problèmes d’affectation quadratique. Pour ce probème et
dans la majorité des cas, c’est elle qui présente en effet le meilleur compromis entre qualité des solutions
et temps de calcul [187]. La méthode Adaptive Search quant à elle sait tirer parti de la structure d’un problème
pour guider la recherche en exploitant ses variables et ses différentes contraintes lorsqu’elles sont
exprimées sous la forme d’un CSP. Ces éléments confèrent à cette métaheuristique un intérêt particulier
dans notre contexte de travail.
D’un autre coté, on s’aperçoit que chaque technique apporte son lot de contributions et qu’il est tout à fait
possible de conjuguer certaines méthodes de base entre elles pour réaliser des méthodes plus sophistiquées.
Nous retenons plus particulièrement les procédés suivants qui peuvent être complémentaires :
• partir de solutions initiales différentes construites de façon aléatoire ou par une méthode de construction
gloutonne aléatoire ;
• enchaîner des phases successives constituées de différentes techniques et retourner le meilleur résultat
trouvé ;
• exploiter l’agressivité des méthodes de plus forte descente ;
• réaliser des perturbations aléatoires sur les variables ;
• accepter des solutions moins bonnes ;
• exploiter une mémoire à court terme pour ne pas revenir sur ses pas ou ignorer certaines possibilités
(configurations ou variables) ;
• utiliser la structure du problème pour guider la recherche en exploitant les contraintes et les variables
d’un problème (défini par un CSP).
5.7 Métaheuristiques parallèles (à base de voisinage)
Les métaheuristiques offrent souvent la seule possibilité de résoudre des problèmes complexes du monde
réel. Cependant, même en utilisant les métaheuristiques, les limites de ce qui peut être résolu dans un
temps de calcul raisonnable sont encore trop rapidement atteintes pour beaucoup de problèmes. Dans sa
12http://people.brunel.ac.uk/~mastjjb/jeb/info.html
13http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/
14http://anjos.mgi.polymtl.ca/qaplib/5.7. MÉTAHEURISTIQUES PARALLÈLES (À BASE DE VOISINAGE) 91
thèse [102], Vincent GARDEUX parle de "malédiction de la dimension". D’autre part, les métaheuristiques
n’offrent pas de garanties sur la qualité des solutions fournies et leurs performances dépendent souvent des
caractéristiques particulières du problème ou de l’instance.
La parallélisation des métaheuristiques permet justement d’adresser ces deux problèmes : (i) offrir un
maximum de performances et (ii) rendre les métaheuristiques robustes15 [58]. Elle peut également être
utilisée pour améliorer la qualité des solutions obtenues ou résoudre des problèmes de grande taille [266].
Mais en quoi consiste la parallélisation d’une métaheuristique ? Le calcul parallèle (ou distribué) met
en œuvre différents processus qui travaillent simultanément sur différents processeurs pour résoudre une
instance donnée d’un problème. Le parallélisme correspond à une décomposition de la charge totale de
calcul et à la distribution des tâches correspondantes sur les processeurs disponibles. Concernant les métaheuristiques,
il existe deux types majeurs de décomposition :
• décomposition algorithmique ;
• décomposition de l’espace de recherche ;
D’un point de vue algorithmique, la source principale de parallélisme pour les métaheuristiques concerne
l’évaluation concurrente des voisins, c’est à dire l’exécution concurrente des boucles d’itération pour l’évaluation
des voisins. Au niveau algorithmique, c’est souvent la seule source de parallélisme disponible
car beaucoup d’autres étapes dépendantes du temps sont liées les unes aux autres et nécessitent le calcul
d’étapes précédentes pour être réalisées.
L’espace de recherche du problème peut lui aussi être décomposé et une méthodologie particulière
employée pour adresser le problème sur chaque composante résultant de la décomposition. L’espace de
recherche est partitionné entre différents processeurs et chaque processeur procède à une évaluation séparée
du sous espace qui lui est assigné. Malgré le partitionnement, une énumération exhaustive du sous espace
n’est généralement pas envisageable et on recourt à une méthode exacte ou à une métaheuristique pour
explorer chaque partition. Deux approches peuvent être utilisées pour partitionner l’espace de recherche :
la décomposition de domaine et la recherche multiple.
5.7.1 Évaluation concurrente des voisins
Cette stratégie exploite le potentiel de décomposition intra-algorithme des tâches dans le cadre des boucles
d’évaluation des solutions voisines. Elle ne modifie ni la logique de l’algorithme de base, ni l’espace de
recherche. Son but est d’accélérer la recherche sans modifier le comportement de la métaheuristique sé-
quentielle.
Typiquement, l’exploration est initialisée à partir d’une solution initiale et la recherche se poursuit selon
la stratégie de la métaheuristique de base, seules les boucles de calcul internes sont décomposées et les
tâches correspondantes sont exécutées simultanément par plusieurs processus.
Cette stratégie est souvent implémentée [58] conformément au modèle parallèle de programmation
"master-slave" (figure 5.11) : Le programme master exécute la métaheuristique conformément au modèle
séquentiel en dispatchant en parallèle les tâches de calcul gourmandes sur différents slaves. Le programme
master reçoit et traite l’information résultant des opérations réalisées par les slaves, sélectionne et implé-
mente les mouvements, actualise la mémoire le cas échéant, et décide de poursuivre la recherche selon
différentes stratégies ou de l’arrêter.
Les programmes slaves se contentent de réaliser les évaluations demandées et retournent les résultats
au master, qui, lorsque tous les résultats sont disponibles, poursuit la logique normale de la métaheuristique
séquentielle. Le contrôle complet de l’exécution repose sur master qui décide d’allouer le travail aux autres
processeurs et initie la plupart des communications. Il n’y a pas de communication entre les processus
slaves.
15Robuste s’entend dans le sens d’offrir un haut niveau de performance uniforme pour une large variété de problèmes et de
caractéristiques.92 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.11 – Modèle parallèle de programmation Master-Slave d’après [58].
On parallélise la procédure d’évaluation du voisinage pour identifier la solution courante suivante de
l’heuristique de recherche locale liée à la métaheuristique. Chaque itération de la boucle génère et évalue
un voisin de la solution courante, et peut être exécutée indépendamment des autres itérations. Les calculs
de ces itérations peuvent être réalisés sur plusieurs processeurs réservés pour ces tâches. En fait, le master
regroupe les voisins dans un nombre approprié de tâches qui sont alors transmises aux slaves. A partir de
là, chaque slave peut évaluer chaque voisin appartenant à la partie de son voisinage et retourner le meilleur
voisin trouvé. Le master attend que tous les slaves terminent leur calculs, et lorsqu’ils ont tous répondus,
sélectionne le meilleur mouvement et poursuit la recherche. GARCIA et al. [101] ont proposé une application
de cette stratégie parallèle pour la recherche tabou appliquée à un problème de tournées de véhicules sous
contraintes de fenêtres de temps.
Il n’y a pas de taille optimale prédéfinie pour le nombre de tâches parallèles. Le nombre de processus
à définir est fortement liées au contexte et dépend entre autres du nombre de processeurs disponibles, des
temps de communication inter-processus et de l’architecture matérielle sur laquelle les calculs sont réalisés.
Lorsque l’évaluation des voisins est sensiblement la même, il est courant de partitionner les éléments du
voisinage en autant de groupes que de processeurs disponibles [58].
Lorsqu’une méthode de descente est utilisé pour retourner le premier meilleur voisin (First Improvement),
la procédure de recherche parallèle sera souvent différente de la version séquentielle, et de ce fait,
les deux algorithmes se comporteront différemment. De plus, le gain lié à la parallélisation sera limité
lorsque beaucoup de bons voisins sont facilement accessibles.
5.7.2 Décomposition de domaine
La décomposition de domaine [227] constitue une stratégie intuitivement simple (en apparence) et attrayante
: on divise l’espace de recherche en plus petits ensembles habituellement disjoints et pas nécessairement
exhaustifs, on résout les sous-problèmes correspondants en appliquant une métaheuristique séquentielle
sur chaque sous ensemble, on collecte les solutions partielles respectives et on reconstruit une solution
complète (figure 5.12).
Néanmoins, cette décomposition peut prendre plusieurs formes et un certain nombre de facteurs doivent
alors être spécifiés [58] :
1. la partition est-elle stricte ou bien les sous-ensembles peuvent-ils se superposer ?
2. les processus de recherche doivent-ils considérer des solutions complètes ou bien partielles du problème
(dans ce dernier cas, une solution complète doit être reconstruire à certains moments) ?
3. les mouvements réalisés sur le sous problème sont-ils restreints au sous espace de recherche correspondant
ou bien peuvent-ils intégrer des variables dans les sous espaces voisins créant ainsi une5.7. MÉTAHEURISTIQUES PARALLÈLES (À BASE DE VOISINAGE) 93
FIGURE 5.12 – Décomposition de domaine suivant le modèle de programmation Master-Slave d’après [58].
superposition indirecte des sous-ensembles ?
Un partitionnement "strict" réduit les processus concurrents de la métaheuristique à leur sous-ensemble
respectif et interdit les mouvements impliquant des solutions appartenant à deux sous-ensembles ou plus.
Ceci implique qu’une partie de l’espace de recherche est hors de portée et la métaheuristique parallèle
devient de fait non optimale. Un "recouvrement" permet d’adresser ce problème. Cependant, "le seul moyen
de garantir que toutes les solutions potentielles soient atteignables consiste à faire un chevauchement de la
totalité de l’espace de recherche correspondant à une non décomposition, ce cas étant non pertinent" [58].
En conséquence, un partitionnement strict ou un chevauchement très limité sont des approches préférées
avec une fonctionnalité de re-décomposition généralement incluse pour améliorer la minutie de la recherche
et permettre d’examiner toutes les solutions potentielles : la décomposition est modifiée à intervalle de
temps régulier et la recherche est relancée en utilisant cette nouvelle décomposition. Cette fonctionnalité
permet de définir des décompositions non exhaustives où l’union des sous-ensembles est plus petite que
l’espace de recherche complet. Une fonctionnalité de reconstruction d’une solution complète fait presque
toujours partie de la procédure.
Le processus master détermine les partitions et transmet les sous ensembles aux slaves, synchronise leur
travail et collecte les solutions, reconstruit les solutions (si nécessaire), modifie les partitions, et détermine
les conditions d’arrêt (algorithme 10). Chaque slave exécute de façon concurrente et indépendante une
métaheuristique séquentielle sur son sous espace de recherche assigné et retourne sa meilleure solution
courante après que le master a synchronisé toutes les activités.
Des adaptations sont nécessaires en fonction de la métaheuristique mise en œuvre. Par exemple, Avec
l’utilisation d’une recherche tabou, le master doit reconstruire simultanément une liste tabou globale en
dehors de la mémoire locale des slaves en lien avec la reconstruction de la solution complète avant de poursuivre
la recherche. Le comportement de la recherche et l’effort de calcul réalisé par les métaheuristiques
séquentielles et parallèles, tout comme la qualité des solutions respectives différent dans la plupart des
cas [268]. Imposer un comportement similaire nécessiterait des efforts importants qui emporteraient tout
l’avantage de la parallélisation.94 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
Algorithme 10 : Principe de décomposition de domaine - Processus Master [58]
1 Créer la solution initiale s ;
2 Décomposer l’instance du problème en n sous-problèmes : Sp1, Sp2, · · · , Spn ;
3 while (critère de fin non satisfait) do
4 i ← 1 ;
5 while (i ≤ n) do
execute-slave-process(Spi 6 , s);
7 i ← i + 1 ;
8 Synchronisation des slaves ;
9 i ← 1 ;
10 while (i ≤ n) do
11 si ← result-slave-process();
12 i ← i + 1 ;
13 s ← construction(s1, s2, · · · , sn);
14 Modifier les partitions : Sp1, Sp2, · · · , Spn ;
15 return s ;
5.7.3 Recherche multiple
Dans ce modèle parallèle, des métaheuristiques indépendantes ou coopératives sont utilisées.
La recherche multiple indépendante (independent multi-search) consiste à exécuter en parallèle de multiples
métaheuristiques indépendantes sur l’espace de recherche entier en initialisant les recherches avec des
solutions initiales identiques ou différentes et en sélectionnant à la fin la meilleure solution parmi toutes les
recherches. On parle également de portfolio d’algorithmes, notion introduite par HUBERMAN et al. [138]
qui définit une exécution concurrente de plusieurs algorithmes résolvant un même problème [205]. En
plus de la solution initiale, différents réglages de paramètres peuvent être utilisés pour la métaheuristique,
comme la taille d’une liste tabou par exemple. De plus, chaque composant de recherche d’une métaheuristique
peut être conçu différemment : encodage, opérateur de recherche, fonction objectif, contraintes,
critères d’arrêts, etc. [266]. Cette stratégie peut être vue comme une parallélisation directe de l’heuristique
multi-start16. Cette méthode cherche à accélérer l’exploration de l’espace de recherche en se dirigeant vers
une meilleure solution. Aucun avantage n’est attendu des multiples processus qui s’exécutent en parallèle
hormis celui d’identifier la meilleure solution globale lorsque tous les processus sont terminés. La recherche
multiple indépendante est la stratégie parallèle de recherche la plus simple et offre généralement de bonnes
performances, ce qui explique la popularité de cette stratégie pour la parallélisation des métaheuristiques
à base de voisinage. On trouve notamment plusieurs exemples de mise en œuvre pour la recherche tabou
[228, 265, 31] sur différents problèmes. Le paradigme master-slave est bien adapté à ce modèle : un
slave implémente toute la métaheuristique tandis que le master définit les différents paramètres à utiliser
par les slaves et détermine la meilleure solution trouvée à partir de toutes les solutions produites par les
différents slaves.
Les versions coopératives vont plus loin et intègrent des mécanismes de partage pendant la recherche en
cours, l’information obtenue permettant de diversifier la recherche. Le comportement global de recherche
de la métaheuristique parallèle émerge des interactions locales, ce qui modifie le comportement de la mé-
taheuristique de base. En général, ce partage permet de produire un résultat collectif avec de meilleures
solutions qu’une recherche parallèle indépendante.
Pour la mise au point d’une version coopérative, plusieurs questions se posent :
16Les méthodes "multi-start" sont des heuristiques itératives composées de deux phases successives : la première phase génère
une solution et la seconde améliore cette solution. Chaque itération produit une solution (habituellement un optimum local) et la
meilleure solution est retournée à la fin du processus.5.8. ENVIRONNEMENTS LOGICIEL ET CADRE GÉNÉRIQUE 95
• quand : quant faut-il échanger de l’information ?
• où : compte tenu de la topologie du réseau, quels sont les processus sources et destinations impliqués
dans la communication ?
• quoi : quelle information pertinente échanger entre les métaheuristiques ?
• comment : quel protocole d’échange exploiter ?
5.7.4 Conclusion
La parallélisation permet d’améliorer les performances et la robustesse des métaheuristiques. Il arrive également
qu’elle soit mise en œuvre pour améliorer la qualité des solutions ou résoudre des problèmes de grande
taille ne pouvant pas être adressés autrement. "Les métaheuristiques devenant de plus en plus efficaces, elles
sont de plus en plus souvent appliquées à la résolution de problèmes de très grande taille. On retrouve là
les deux principales motivations classiques de l’utilisation du parallélisme pouvant être résumées par plus
vite et plus grand" [187].
Trois formules principales plus ou moins invasives sont identifiées dans la littérature pour paralléliser
les métaheuristiques. On peut procéder à une évaluation concurrente du voisinage, à une décomposition du
domaine ou à une recherche multiple (indépendante ou coopérative).
Bien que les principes de parallélisation puissent paraître simples, la mise au point peut révéler des
aspects très complexes. Elle doit notamment tenir compte de l’infrastructure matérielle, des réseaux disponibles,
des systèmes d’exploitation, etc. Les protocoles de communication, les informations échangées et
les modes de synchronisation entre processus doivent être appropriés car ils peuvent inhiber tout le bénéfice
des traitements parallèles. D’autre part, la structure même d’une métaheuristique se prête plus ou moins
bien à la décomposition en tâches indépendantes. Et il peut être très difficile de reproduire dans la version
parallèle d’une métaheuristique le comportement exacte de sa version séquentielle. Par exemple, du fait
de la structure séquentielle intrinsèque au recuit simulé, la parallélisation en l’état de cette méthode peut
sembler paradoxale. Néanmoins, des modes de fonctionnement parallèles plus ou moins complexes de cette
métaheuristique ont tout de même été proposés [245].
La plupart du temps, la parallélisation des métaheuristiques permet d’obtenir facilement de très bonnes
accélérations [187]. Par exemple, pour rendre la méthode tabou parallèle, il suffit de répartir l’examen
du voisinage de la solution courante sur différents processeurs. La marche dans l’espace de recherche est
généralement très peu modifiée par rapport à la version séquentielle mais elle est effectuée plus rapidement
grâce aux calculs répartis sur plusieurs processeurs.
5.8 Environnements logiciel et cadre générique
La distinction entre "aspect problème-indépendant" intrinsèque aux métaheuristiques et "aspect problèmedépendant"
lié aux heuristiques de recherche révèle un atout majeur : les deux aspects peuvent être réalisés
séparément l’un de l’autre. Il devient possible d’implémenter les stratégies génériques de façon abstraite une
fois pour toutes dans le cadre d’un framework (éventuellement orienté objet). Face à un problème concret,
seules les heuristiques spécifiques devront être implémentées pour être connectées au framework.
Plusieurs librairies et frameworks ont été développés pour simplifier la mise en œuvre de métaheuristiques
et la réutilisation du code. Le lecteur intéressé par une liste complète des librairies et frameworks
disponibles pourra consulter [266, 146] pour obtenir leurs principales caractéristiques.
5.8.1 Les origines
Les premières études qui ont pour ambition d’unifier les différents types d’algorithmes de RL et d’améliorer
leur compréhension remontent à la fin des années 90. Dans [290], YAGIURA et IBARAKI proposent d’adopter
un cadre générique pour comparer les comportements des divers algorithmes et leurs raffinements. Plus96 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
générale et originale, l’approche de TAILLARD et al. [264] utilise le concept Adaptive Memory Programming
pour fédérer recherche tabou, algorithmes génétiques (AG), recuit simulé et même colonie de fourmis.
Par exemple, la population d’un AG est vue comme la mémoire de la recherche du passé, au même titre
qu’une liste tabou. Ce formalisme permet également de décrire et mieux comprendre le fonctionnement
hybride de ces métaheuristiques.
Les outils destinés à abstraire les mécanismes élémentaires de la résolution par RL sont apparus avec Localizer
[191], un langage de modélisation de haut niveau dédié à la spécification d’algorithmes de RL et de
ses structures de données qui permet d’exprimer de manière souple et concise la résolution d’un problème.
Le système maintient automatiquement et efficacement les structures de données lors de la recherche. Les
algorithmes de recherche locale peuvent être exprimés dans une notation proche de leurs descriptions informelles
présentes dans les papiers scientifiques.
Ensuite, des librairies de classes génériques ou des frameworks sont apparus. Parmi eux, on peut citer
par exemple : Comet, EasyLocal++, HotFrame, LocalSolver ou encore ParadisEO.
5.8.2 Bibliothèques et frameworks
Comet Comet [272, 183], qui fût la plateforme de recherche du laboratoire d’optimisation de la BROWN
UNIVERSITY, est un outil qui a été primé pour résoudre des problèmes complexes d’optimisation combinatoire
dans des domaines tels que l’allocation de ressources et l’ordonnancement. Il peut être vu comme une
hybridation d’algorithmes de recherche locale et de programmation par contraintes. En effet, une des principales
innovations de Comet repose sur le concept de recherche locale à base de contraintes (ConstraintBased
Local Search) : ce paradigme permet de construire des algorithmes de recherche locale en séparant
la modélisation de la recherche, et de promouvoir ainsi la réutilisation. Comet est basé sur un langage
spécifique orienté objet très riche qui supporte à la fois la modélisation et l’abstraction des recherches dans
l’esprit de la programmation par contraintes. Sa force peut être exprimée par la formule : "Recherche Locale
= modèle + recherche" signifiant que les algorithmes de recherche locale peuvent être spécifiés en termes
de modélisation et de composants de recherche. Les deux composantes "contraintes" et "recherche" sont
présentes et dissociées. Comet propose un langage de contraintes et des constructions pour programmer des
stratégies de branchement, des heuristiques d’ordonnancement (de listes), et aussi des parcours d’arbres.
Le langage offre des facilités pour l’ingénierie et permet par exemple différentes entrées / sorties pour se
connecter à des bases de données ou lire des fichiers XML. Comet permet aussi de construire des interfaces
utilisateur pour observer graphiquement l’évolution de l’exécution des modèles compilés. Enfin, le langage
prend le parti de programmer la recherche. Il offre des structures de contrôle comme les conditionnelles et
les boucles « tant que » et demande à déclarer, transformer ou manipuler les structures de données de telle
sorte qu’elles soient exploitables par des heuristiques. Malheureusement, cette plateforme ne semble plus
maintenue. De plus, son langage est dédié et Comet n’est pas disponible en open-source.
EasyLocal++ EasyLocal++ [74] est une librairie open-source orientée objet pouvant être utilisée pour
développer des algorithmes de recherche locale en C++. Elle offre une liberté totale à l’utilisateur pour
définir ses structures de données et les domaines des variables, mais fournit un cadre rigide pour contrôler
le flot d’exécution des principales métaheuristiques qu’elle propose en standard. EasyLocal++ fait un usage
équilibré de la programmation orientée objet utilisée pour la conception du framework. Les classes de données
sont fournies par des templates et les structures algorithmiques sont implémentées par des fonctions
virtuelles, offrant ainsi un maximum d’efficacité, de contrôle et de souplesse pour une implémentation incrémentale
en niveaux hiérarchiques. La modularité est l’une de ses principales caractéristiques : dès que
les structures de données et les opérations de base ont été définies et connectées, le système fournit en libre
service toutes les techniques standards de RL et une grande variété de combinaisons constituée à partir
de ces techniques de base. Le système permet également de construire et de tester de nouvelles combinaisons
de fonctionnalités (e.g. structures de voisinage, stratégies pour générer un état initial, mécanismes
d’interdiction de mouvement, . . . ). Ceci permet à l’utilisateur de concevoir et d’implémenter facilement5.9. CONCLUSION 97
de nouvelles heuristiques de façon très structurée pour adresser un problème donné. Ce framework peut
être personnalisé par un expert pour développer de nouvelles métaheuristiques, et son architecture facilite
grandement la réutilisation du code existant. On retrouve dans la librairie des classes pour supporter les
tests algorithmiques. Certaines classes permettent également de collecter des statistiques d’exécution, les
informations de sortie pouvant être générées dans différents formats.
HotFrame HotFrame [93] (Heuristic OpTimization FRAMEwork) est un framework implémenté en C++
qui propose des algorithmes de recherche locale et des algorithmes à base de population de solutions.
HotFrame repose sur une architecture de collaboration entre les composants standards et les heuristiques
spécifiques aux problèmes. Tous les concepts classiques spécifiques aux problèmes sont représentés par
des objets ou des classes : problème, solution, voisin, voisinage et mouvement. C’est la même chose pour
les concepts standards liés aux métaheuristiques, à savoir les différentes méthodes ou stratégies (intensi-
fication, diversification). HotFrame utilise la généricité comme mécanisme de base pour rendre ces objets
adaptables : le comportement commun des métaheuristiques est factorisé et regroupé dans des classes gé-
nériques. Les templates des classes représentant les métaheuristiques sont paramétrables selon différents
aspects comme les espaces solutions et les structures de voisinage. Tous les composants sont implémentés
de manière cohérente, ce qui facilite l’intégration d’heuristiques liées aux problèmes ou la conception de
nouvelles méthodes. L’utilisateur peut dériver des classes existantes ou implémenter de nouvelles classes
à partir de zéro suivant une interface prédéfinie. HotFrame propose également des structures de voisinage
standards, la représentation de solutions et de mouvements ainsi que des opérateurs de recombinaison. En
proposant ce framework, les concepteurs ont recherché à la fois la performance et la facilité de réutilisation
du code. La dernière version disponible17remonte à juillet 2003.
LocalSolver LocalSolver [103] est un solveur de programmation mathématique qui intègre la technologie
de recherche locale. LocalSolver est commercialisé par la société Innovation2418 sous la forme d’une
"boite noire". L’utilisateur modélise son problème dans un formalisme simple. Le solveur se charge d’exploiter
efficacement ce formalisme pour résoudre le problème sans qu’il soit nécessaire de programmer un
mouvement ou une recherche. Le langage dédié proposé (LSP) se veut adapté pour modéliser simplement
une grande variété de problèmes. Des Api C++, C# et Java sont également disponibles.
ParadisEO ParadisEO [38] est une plateforme logicielle orientée objet dédiée à la conception et à la
réutilisation de métaheuristiques. Il s’agit d’un framework open-source qui repose sur la notion de template
C++. Il est portable, très complet, et basé sur la librairie Evolving Objects19 (voir la figure 5.13). ParadisEO
supporte les métaheuristiques de recherche locale ou à base de population de solutions, l’optimisation
mono-objectif et multi-objectif ainsi que le parallélisme.
5.9 Conclusion
Nous avons abordé ce chapitre central en commençant par définir les caractéristiques principales des problèmes
combinatoires avant de recenser les méthodes disponibles pour résoudre ces problèmes souvent
difficiles. Nous avons vu qu’il existait deux grandes classes de méthodes adaptées à leur résolution : les
17Libre de droits pour une utilisation non commerciale, Institute of Information Systems de Hambourg : http://www1.
uni-hamburg.de/IWI/hotframe/hotframe.html.
18Filiale du Groupe BOUYGUES issue de son département de R&D (e-lab), il s’agit d’une société de services, éditrice de
logiciels dans le domaine de la recherche opérationnelle et de l’aide à la décision (http://www.innovation24.fr/).
19EO : framework pour l’implémentation de métaheuristiques à base de population. Propose des algorithmes évolutionnaires
et des algorithmes à essaim de particules (http://eodev.sourceforge.net/).98 CHAPITRE 5. PROBLÈMES D’OPTIMISATION COMBINATOIRE SOUS CONTRAINTES
FIGURE 5.13 – Modules de la plateforme ParadisEO d’après [146].
méthodes complètes d’une part qui obtiennent les solutions optimales et garantissent les résultats et les
méthodes incomplètes d’autre part qui trouvent rapidement de bonnes solutions sans garantir l’optimalité.
Face à ces nombreuses méthodes de résolution disponibles, le premier problème pratique qui se pose
à un utilisateur confronté à une application concrète est d’effectuer un choix parmi les techniques les plus
adaptées. Or ce choix est d’autant plus difficile qu’il ne semble pas exister de comparaison générale et fiable
entre les différentes techniques, ni même entre les différentes métaheuristiques.
Néanmoins, notre étude permet de faire un premier constat : il n’existe pas une méthode qui soit la
meilleure pour résoudre tous les problèmes. D’autre part, il est essentiel de prendre en compte, en plus du
problème, les contraintes qui entourent sa résolution, notamment le critère de temps de réponse qui sera
déterminant par la suite.
De plus, cet état de l’art permet de dégager des règles générales qui semblent s’imposer. Lorsqu’un
problème donné peut être résolu avec une méthode exacte tout en répondant aux besoins contextuels, il faut
privilégier ces techniques qui garantissent les résultats obtenus.
Toutefois, pour de nombreux problèmes, il arrive que les méthodes complètes ne soient pas en mesure de
délivrer un résultat dans le temps imparti. Dans ce cas, si la situation le permet, il est intéressant d’exploiter
ces méthodes complètes au moins pour cerner la difficulté du problème et identifier des solutions optimales
avec les coûts correspondants (valeur de la fonction objectif). Ensuite, la mise en œuvre d’une métaheuristique
permettra d’obtenir de bons résultats, même pour des instances de taille importante. Néanmoins,
si le problème est de très grande taille et si le temps de résolution devient trop important, les mécanismes
distribués constituent une alternative efficace pour repousser encore ces limites.6
Systèmes interactifs d’aide à la décision
Nous abordons la conception interactive sous l’angle d’une plateforme d’aide à la décision reposant sur des
composants informatiques en charge de fournir aux décideurs le maximum d’éléments dans les meilleurs
délais pour les aider à résoudre des problèmes complexes auxquels ils sont confrontés. La complexité des
systèmes informatiques mis en place pour explorer, traiter et présenter des informations capables d’aider
l’utilisateur dans ses décisions est une question de recherche difficile qui reste ouverte. Nous nous inté-
ressons plus particulièrement au temps de traitement ainsi qu’à la qualité des solutions proposées par les
applications de résolution sous-jacentes qui doivent répondre très rapidement aux sollicitations des utilisateurs
pour garantir la fluidité de l’interaction homme/machine. Concevoir un système d’aide à la décision,
c’est concevoir un système temps réel [258] capable de fournir des résultats dans un délai contrôlé. Or,
obtenir des résultats dans un délai très court fixé à l’avance reste très difficile pour des problèmes à forte
combinatoire. Néanmoins, dans le contexte des systèmes d’aide à la décision, une bonne solution obtenue
dans les temps est souvent préférable à un résultat optimal obtenu hors délais. L’approche de résolution
anytime que nous abordons dans ce chapitre permet de fournir des résultats de meilleure qualité à chaque
pas de temps faisant que plus on accorde de temps à la procédure, meilleur est le résultat [83]. Cette approche
permet de prendre en compte nos exigences (en qualité et en temps liées aux SIAD) et apparaît donc
pertinente pour répondre à notre problématique [237, 291].
6.1 Aide à la décision
Les décisions individuelles ou collectives prises au sein d’une organisation par les décideurs participent
d’une manière ou d’une autre à son devenir. Elles sont le plus souvent prises sur la base d’intuitions et d’expériences
du passé [4]. Comme indiqué par H.A. SIMON [249], ces stratégies ne peuvent s’appliquer qu’à
des problèmes familiers. En effet, la prise de décision devient nettement plus difficile face à des situations
nouvelles et la difficulté augmente encore avec l’évolution rapide d’un environnement de travail de plus en
plus complexe. Pour HOLTZMAN [134], l’un des principaux problèmes pour la prise de décision consiste
à déterminer les informations pertinentes. Pour prendre les bonnes décisions face à des circonstances nouvelles
et compliquées, l’utilisation des Systèmes Interactifs d’Aide à la Décision devient essentielle afin
d’évaluer la situation, les différentes alternatives et leurs impacts.
99100 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION
FIGURE 6.1 – Modèle IDC (Intelligence, Design, Choice) proposé par H.A. SIMON [249].
6.1.1 Décision
Pour nombre de chercheurs, la décision peut être perçue comme un choix entre plusieurs alternatives [242].
P. LÉVINE et J.C. POMEROL [171] la définissent comme une action prise pour faire face à une difficulté
ou répondre à une modification de l’environnement pour résoudre un problème qui se pose à l’individu ou
à l’organisation. B. ROY et D. BOUYSSOU [236] pensent que la décision est le fait d’un individu isolé (le
décideur) qui exerce librement un choix entre plusieurs possibilités d’actions à un moment donné. Pour
H. MINTZBERG [193], une décision individuelle ou collective peut être définie comme l’engagement dans
une action correspondant à une intention explicite d’agir.
6.1.2 Processus de décision
Herbert Alexander SIMON, qui a reçu le prix Turing en 1975 puis le prix Nobel d’économie en 1978, a
proposé en 1960 un schéma général du processus de décision 1
(voir la figure 6.1) en trois phases qui reste
encore le modèle de référence [249] :
1. phase d’intelligence (investigation) : il s’agit de recenser l’ensemble des informations utiles et prioritaires
dont le décideur aura besoin lors de la prise de décision (objectifs ou priorités, définition du
problème à résoudre).
2. phase de modélisation (conception) : concerne la génération et le développement des différentes
alternatives (ou scénarios). Cette étape peut nécessiter une recherche d’information complémentaire.
3. phase de choix (sélection) : le décideur évalue les différents scénarios réalisés pendant la phase de
conception pour en retenir un seul. Il s’agit de déterminer les critères d’évaluation des différentes
solutions possibles et de mesurer les conséquences de chaque alternative.
Bien que ce modèle ne reflète que partiellement la réalité, il permet d’avoir une vision globale des
différentes tâches à accomplir pour aboutir à une décision. Les différentes phases se succèdent sans logique
chronologique préétablie et la présence de boucles pendant le processus de décision dépend du niveau
de structuration du problème (contraintes). Dans la figure 6.2, LE MOIGNE [167] met en correspondance
l’importance des phases du modèle IDC au regard de la structuration des décisions (problèmes).
6.1.3 Aide à la décision
Pour B. ROY [235], aider à décider consiste tout d’abord à aider à clarifier la formulation, la transformation
et l’argumentation des préférences, la notion de critère étant au cœur de la démarche. L’activité de déduction
et de modélisation qui s’exerce en vue d’éclairer le comportement d’un individu dans le processus de
1Dans la suite de cette section, nous n’aborderons pas l’aspect mise en œuvre d’une décision.6.1. AIDE À LA DÉCISION 101
FIGURE 6.2 – Correspondance entre l’importante des phases du modèle IDC et la structuration des décisions
proposée par LE MOIGNE [167].
décision constitue l’essence même de l’aide à la décision [236]. L’objectif n’est donc pas de résoudre le
problème, mais d’aider le décideur à construire une représentation pertinente de la situation, sachant qu’il
n’existe pas toujours de solution optimale pouvant s’imposer compte tenu de la multiplicité des points de
vue et des intérêts défendus ou du caractère multidimensionnel des contextes en situation de décision. Dans
ce cadre, la notion de meilleure décision (solution optimale) peut parfois être vide de sens [240].
L’aide à la décision peut néanmoins reposer sur des techniques et des méthodologies issues du domaine
des mathématiques appliquées telles que l’optimisation, les statistiques ou la théorie de la décision.
Les décisions peuvent être classées en plusieurs groupes [193]. Certaines sont faciles à prendre et se font
par ajustement mutuel (via le dialogue) tandis que d’autres obéissent à un déroulement fixe. Ces dernières
intègrent parfois un aspect purement combinatoire pouvant être automatisé et confié à une machine. Cependant,
la majorité des décisions combinent les deux aspects à la fois : le dialogue et la combinatoire. Pour ce
type de problème, la machine peut devenir un acteur à part entière dans la prise de décision, mais elle ne doit
en aucun cas être perçue comme une contrainte supplémentaire qui imposerait ses propres décisions sans
laisser de marge suffisante aux vrais acteurs que sont les humains. L’aide à la décision réside sur l’équilibre
entre le jugement humain et le traitement informatique.
Lorsque l’évaluation globale d’un objectif est complexe, il est nécessaire de décomposer l’objectif à
atteindre en structurant l’ensemble des critères d’évaluation [219]. Construire un modèle prenant explicitement
appui sur plusieurs critères traduit et formalise un mode de raisonnement intuitif et naturel face à un
problème de décision qui consiste à analyser séparément chaque conséquence [234].
6.1.4 Systèmes Interactifs d’Aide à la décision
Les premiers outils d’aide au traitement de l’information et à la prise de décision sont apparus il y a une
quantaine d’années [170]. En France, ils sont connus sous le nom de « Système d’Aide à la Décision »
(SAD) alors que dans les pays anglo-saxons on parle de « Decision Support System » (DSS) [171]. Plus
qu’un simple système de traitement de l’information permettant d’extraire et de donner au décideur l’information
nécessaire au processus de décision [171], un SAD peut être considéré comme un résolveur de
problèmes (problem solver) [204].
Un SAD se compose de trois modules (figure 6.3) :
• un module de dialogue : permet au décideur d’accéder aux données et modèles et lui fournit en
retour le résultat de ses manipulations pour exercer son contrôle et sa recherche heuristique dans les102 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION
FIGURE 6.3 – Structure d’un SAD proposée par SPRAGUE [255].
meilleures conditions ;
• un module de données : stocke les données permanentes (statistiques, données qui décrivent la situation
courante ou passée, etc.) ou temporaires (données intermédiaires) ;
• un module contenant les procédures de calcul ou modèles : procédures de calculs standards (indices,
indicateurs, etc.) et procédures de représentation des données.
Le concept d’aide à la décision "interactive" fait référence à l’équilibre entre le jugement humain et le
traitement des informations par l’ordinateur. On parle alors de « Système Interactif d’Aide à la Décision »
(SIAD). Lorsque le SIAD intègre en plus une dimension spatiale (représentation de cartes géographiques,
plans, etc.), on est face à un « Système Spatial Interactif d’Aide à la Décision » (Spatial Decision Support
System en anglais). Les SIAD recouvrent un large spectre d’applications (potentiellement chaque activité
humaine nécessitant un processus de décision élaboré) et ils s’appuient sur plusieurs domaines de recherche
de l’informatique comme par exemple les systèmes de gestion de bases de données (SGBD), la recherche
opérationnelle ou l’intelligence artificielle.
Dès leur origine, on pouvait distinguer deux catégories de SIAD [50] :
• ceux qui font une large place aux algorithmes d’optimisation et aux calculs numériques ;
• ceux qui se consacrent exclusivement à la gestion de l’information.
P.G.W. KEEN et M.S. SCOTT-MORTON [149] présentent les SIAD comme des systèmes adaptés à la
résolution des problèmes de décision peu ou mal structurés où l’homme prend l’avantage sur la machine,
contrairement au traitement des problèmes structurés où la machine peut prédominer. Voici la définition
qu’ils en donnent : « Les systèmes d’aide à la décision permettent de coupler les ressources intellectuelles
des individus avec les capacités des ordinateurs pour améliorer la qualité des décisions. C’est un système
d’aide informatique aux décideurs qui traitent des problèmes semi-structurés ». Pour R.H. SPRAGUE et
E.D. CARLSON [254], « Les SIAD sont des systèmes informatisés et interactifs qui aident les décideurs en
utilisant des données et des modèles pour résoudre des problèmes mal structurés ».
Il existe un large consensus pour dire que les SIAD doivent posséder des facilités interactives afin
d’interroger l’utilisateur. La notion d’interactivité est une caractéristique commune à tous ces systèmes
qui renvoie au rôle actif indispensable de l’utilisateur dans leur fonctionnement au travers d’une interface
homme/machine bien intégrée [171]. L’information nécessaire à l’utilisateur doit être disponible sous sa
forme la plus adéquate pour qu’il puisse prendre des décisions. En permettant d’éliminer les données non
pertinentes et en présentant des faits déduits à partir des systèmes d’information, l’intelligence artificielle a
joué très tôt un rôle important dans ce dispositif et son lien avec les SIAD n’a fait que se renforcer au cours
des années [221, 56]. Le décideur contrôle le processus de décision et le SIAD l’assiste en effectuant les
calculs standards et répétitifs sur les données [151].6.2. RÉSOLUTION TEMPS RÉEL 103
Lorsque l’utilisateur est l’élément prépondérant du couple homme-machine, tout ou partie du processus
de décision lui revient. Toutes les solutions ne sont pas atteintes et seul un sous-espace de l’espace de
recherche est exploré. On parle de recherche heuristique 2 menée par le décideur avec un système qui
jalonne le processus de recherche à l’aide d’indicateurs et d’informations. Le décideur stoppe l’exploration
heuristique des actions possibles lorsque tout lui indique que la solution construite rencontre ses buts de
façon satisfaisante [221, 171]. La coopération entre le décideur et le système informatique ne peut alors être
fructueuse que dans le cadre d’un système interactif.
Enfin, pour qu’un SIAD soit accepté par ses utilisateurs, il faut non seulement qu’il puisse gérer toutes
les informations utiles à la décision, mais il faut également que sa logique décisionnelle puisse être appré-
hendée par ceux qui l’utilisent : l’explication permet en effet de juger de la pertinence de ses déductions
ou de ses inférences. Comme nous l’avons déjà évoqué, l’objectif n’est pas de rechercher une solution optimale,
mais plutôt d’orienter le décideur vers des points qu’il ne serait pas toujours en mesure d’observer
sans une assistance appropriée.
6.1.5 Classification des SIAD au niveau utilisateur
P. HÄTTENSCHWILER [98] énumère trois catégories de SIAD pouvant être observées du point de vue des
utilisateurs :
1. passif : aide le processus décisionnel mais n’est pas en mesure d’apporter de solutions ou de suggestions
de décisions explicites ;
2. actif : peut apporter des solutions ou suggestions de décisions explicites ;
3. coopératif : permet au décideur de modifier, de compléter ou d’affiner les suggestions de décisions
fournies par le système avant de les renvoyer au système pour validation. De son coté, le système
améliore à son tour, complète et affine les suggestions du décideur avant de les lui renvoyer pour
validation. Cette boucle de rétroaction se poursuit jusqu’à ce qu’une solution consolidée soit générée.
6.2 Résolution temps réel
Les applications temps réel sont présentes dans un nombre croissant de domaines comme l’industrie, la
médecine, les communications, l’aéronautique, la robotique, les transports ou l’armement [243]. Plus ré-
cemment, ces systèmes ont fait leur apparition dans bien d’autres secteurs, notamment le multimédia, les
consoles de jeux ou le suivi des malades [83]. La notion d’application temps réel est très souvent utilisée
sans qu’elle ne soit toujours bien définie. On peut néanmoins qualifier une application temps réel comme
une application dont l’exécution est soumise à des contraintes temporelles. Cindy A. O’REILLY et Andrew
S. CROMARTY [208] identifient un système temps réel comme un système devant donner une réponse en
un temps strict au regard de l’algorithme mis en œuvre. Pour Thomas J. LAFFEY et al. [159], c’est la possibilité
pour un système de garantir une réponse après qu’un certain temps se soit écoulé. On peut également
percevoir un système temps réel comme un système dont le temps de réponse est rapide [172]. Or selon
MUSLINER et al. [201], une application temps réel ne correspond pas à un système "rapide" mais plutôt
à un système "suffisamment rapide" pour répondre en un temps donné, ce temps étant lié au contexte de
résolution. Dans [243], lorsqu’on étudie un système de décision temps réel (Real-Time Decision System en
anglais ou RTDS), la première chose qui vient à l’esprit est probablement la notion de réaction rapide à un
événement externe.
Compte tenu de leur grande diversité, une classification courante de ces systèmes consiste à évaluer les
conséquences provoquées par le non respect de l’échéance :
• échéance stricte critique : le manquement de l’échéance peut avoir des conséquences catastrophiques
(pertes humaines, matériel, environnement, . . . ) ;
2Une méthode heuristique est une méthode dans laquelle, à chaque pas, le raisonneur fait des choix [56].104 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION
• échéance stricte non critique : lorsque l’échéance n’est pas respectée, la tâche devient caduque ;
• échéance non stricte : le dépassement de l’échéance est sans conséquence et la tâche peut se poursuivre,
seule la qualité du service sera diminuée.
Dans cette thèse, nous abordons la notion de résolution temps réel dans le cadre d’un SIAD en lien
avec des problèmes d’optimisation combinatoire dont l’échéance pourrait être considérée comme stricte
non critique voire non stricte. Pour un tel système interactif mettant en relation un utilisateur avec une
application chargée de l’accompagner dans ses décisions, l’application en question doit pouvoir réagir aux
événements de l’utilisateur en une fraction de seconde. Or, si un événement de cette application concerne
la résolution d’un problème combinatoire sur des instances réelles de grande taille, il parait difficile à
première vue d’atteindre l’objectif de temps fixé. Néanmoins, en admettant que notre application puisse
utiliser des résultats dont la qualité n’est pas optimale, nous pouvons explorer une voie prometteuse relative
aux algorithmes anytime ("à tout moment") apparus en intelligence artificielle à la fin des années 80 [67,
136].
6.2.1 Algorithme anytime
T. DEAN et M. BODDY [67, 32] définissent un algorithme anytime comme un algorithme itératif qui garantit
de produire une réponse à toute étape de calcul, où la réponse est supposée s’améliorer à chaque
itération. Du point de vue de l’implémentation, un algorithme anytime doit posséder les caractéristiques
suivantes [83] :
• la qualité du résultat est fonction du temps d’exécution alloué et de la qualité des ressources fournies
en entrée ;
• la qualité du résultat augmente toujours ou reste stable en fonction de l’évolution du temps de calcul
(monotonicité) ;
• on dispose d’informations statistiques sur la qualité des résultats en fonction du temps alloué (prévisibilité)
;
• il peut être interrompu à tout moment (interruptibilité) ;
• il peut poursuivre son exécution au delà du temps alloué si on change le temps prévu en cours d’exé-
cution (continuité) ;
• il doit pouvoir être suspendu et relancé au même point avec un temps de réponse négligeable.
On distingue deux types d’algorithme anytime : celui où le temps est connu avant de lancer la résolution
et celui où le temps n’est pas défini à l’avance. Si le temps de résolution est connu au lancement, on
parle de contexte contractuel et le processus de résolution doit absolument fournir une solution au terme de
l’échéance fixée. Dans le cas où le temps de résolution n’est pas connu à l’avance, on parle de contexte interruptible.
Dans une telle situation, l’algorithme de résolution doit être en mesure de fournir à tout moment
une solution de la meilleure qualité possible. Être dans la capacité de fournir à chaque instant un résultat
quel que soit le temps disponible représente une exigence très forte. Néanmoins, dans la pratique, le temps
de résolution attribué au contexte doit toujours être supérieur à un temps minimum permettant au processus
d’initialiser la recherche et de générer une première solution [243]. Un algorithme contractuel (ou algorithme
anytime contractuel) est plus facile à mettre au point qu’un algorithme interruptible (ou algorithme
anytime interruptible). Cependant, un algorithme interruptible peut être construit à partir d’un algorithme
contractuel au prix tout de même d’un temps de calcul supplémentaire pour atteindre une solution de même
qualité.
6.2.1.1 Qualité des solutions
Dès qu’une limite de temps est imposée, il n’est plus certain que la résolution puisse aller jusqu’à son terme.
Dans ce cas, le résultat peut être partiel (sous-optimal) ou même incorrecte si la solution produite n’est
pas admissible. Il peut donc être utile ou même indispensable dans certaines circonstances de connaître6.2. RÉSOLUTION TEMPS RÉEL 105
FIGURE 6.4 – Comparaison des profils de qualité de deux méthodes de résolution M1 et M2 sur une même
instance de problème. Bien que les deux méthodes atteignent l’optimum pour un temps T de résolution
identique, la méthode M1 apparaît plus efficace que M2 dans un contexte interruptible. D’après la thèse de
Lionel LOBJOIS [172].
précisément ou d’évaluer la qualité d’une solution afin de prendre une décision. Par exemple, dans un
contexte interruptible, l’utilisateur pourrait décider de ne pas poursuivre une résolution si la qualité de la
solution courante est satisfaisante. Connaître le coût d’une solution n’est pas toujours suffisant pour évaluer
la qualité de celle-ci. On doit en effet pouvoir évaluer sa distance à l’optimum. Cependant, la distance d’une
solution à l’optimum est aussi difficile à trouver que l’optimum lui même. Compte tenu de cette difficulté,
on se limite très souvent dans la pratique à rechercher la meilleure solution possible pour un contexte de
résolution donné. Cet objectif consiste alors à trouver une solution du meilleur coût possible sans pouvoir
quantifier sa qualité [172].
6.2.1.2 Profil de qualité
Le profil de qualité (PDQ) correspond à la courbe d’évolution du coût de la meilleure solution produite par
rapport à la progression du temps de résolution [172]. Le PDQ d’une méthode de résolution fournit beaucoup
plus d’indications qu’un simple temps de résolution global et il est particulièrement utile pour évaluer
une méthode de résolution dans un contexte interruptible. A titre d’exemple, imaginons deux méthodes M1
et M2 (voir la figure 6.4) capables de fournir toutes les deux une solution optimale sur la même instance
de problème pour la même échéance de temps. Dans un contexte interruptible, il semble évident que la
méthode M1 est plus efficace que la méthode M2 car elle produit à tout moment des solutions de meilleure
qualité. Cependant, il peut être difficile de comparer deux PDQ différents lorsque chaque méthode propose
tour à tour des solutions de meilleure qualité. Dans ce cas, une issue consiste à fixer soit un seuil de qualité
soit un seuil de temps pour permettre la comparaison. On utilisera le plus souvent un PDQ moyen compte
tenu du caractère stochastique de certaines méthodes pouvant produire pour une même instance de problème
des PDQ très différents. Le PDQ moyen correspond à la courbe de qualité moyenne de la meilleure
solution obtenue en fonction du temps de recherche imparti. Dans le cadre des problèmes d’optimisation
combinatoire et en l’absence d’information sur la qualité des solutions produites, il est courant d’utiliser le
PDQ moyen pour classer les méthodes de résolution.106 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION
6.2.2 Méthodes de résolution adaptées au contexte de décision temps réel
Pour R. SÉGUIN et al. [243], lorsque les temps de résolution imposés sont très courts, les méthodes approchées
(métaheuristiques, voir la section 5.2.2) constituent des classes d’algorithmes particulièrement
appropriées. Plus précisément, les algorithmes génériques issus de la recherche opérationnelle tels que le
recuit simulé (section 5.6.7), la recherche tabou (section 5.6.8), la méthode GRASP (section 5.6.10.1) ou
encore les algorithmes génétiques possèdent tous certaines caractéristiques requises pour la résolution de
problèmes de décision temps réel. Chacune des quatre méthodes expose notamment le comportement des
algorithmes anytime avec une qualité de la solution produite qui s’améliore avec le temps. Même si au sens
strict du terme ils ne peuvent pas être considérés tels quels comme des algorithmes anytime car incapables
de produire une solution initiale si le temps imposé est insuffisant, ils peuvent néanmoins être facilement
adaptés pour répondre au cas par cas à l’ensemble de caractéristiques requises.
D’un autre côté, les méthodes complètes (section 5.2.1) semblent peu adaptées à cet environnement
compte tenu de leur côté systématique et exhaustif [172]. Les méthodes de résolution basées sur une approche
de construction (section 5.5) ne sont pas adaptées non plus au contexte anytime car elles construisent
pas à pas une solution en partant d’une solution partielle initialement vide qu’elles cherchent à étendre à
chaque étape jusqu’à obtenir une solution complète [127], ce qui écarte de nombreuses méthodes comme
les méthodes gloutonnes (section 5.5.1), les méthodes avec retour arrière (section 5.4.1.4) ou encore celles
basées sur des algorithmes de séparation et d’évaluation (section 5.2.1.2) progressive.
6.2.3 Contribution du parallélisme
Dans un environnement temps réel, et bien que cela ne soit pas une démarche naturelle, il est souvent nécessaire
de mettre en œuvre des techniques de calcul parallèle pour améliorer la vitesse des traitements [243].
On constate en effet une activité de recherche importante autour de l’implémentation d’heuristiques de
recherche parallèles performantes (voir 5.7). Mais une telle démarche est souvent ardue. Par exemple, l’algorithme
de recherche tabou est à la base un algorithme séquentiel. On peut alors exploiter le parallélisme
pour permettre à différents processeurs d’explorer uniquement une petite portion du voisinage de la solution
courante. Des implémentations asynchrones peuvent également être exploitées en lançant différents processus
de recherche tabou séparés sur différents processeurs et en les faisant communiquer au travers d’un
espace mémoire partagé. Dès que la meilleure solution globale est améliorée par l’un des processus, la nouvelle
meilleure solution peut être mémorisée sur la mémoire partagée. À contrario, un processus n’arrivant
pas à améliorer sa meilleure solution sur une longue période pourrait utiliser la meilleure solution globale
présente dans l’espace mémoire partagé pour redémarrer son processus de recherche. Des dispositifs similaires
sont possibles pour paralléliser l’algorithme du recuit simulé. Concernant les algorithmes génétiques,
ils sont faciles à paralléliser car ils suivent nativement différents chemins de recherche. La méthode GRASP
peut également profiter du parallélisme grâce à une génération parallèle de nombreuses solutions à la phase
de construction. Au final, des approches hybrides sont possibles. Par exemple, on peut lancer différents
processus de recherche tabou concurrents sur différents processeurs pour combiner les meilleures solutions
trouvées de deux processus et utiliser cette nouvelle solution croisée comme solution de départ sur un
nouveau processeur.
6.3 Principe de maintien de solution dans un système dynamique
Nous étudions ici certains procédés [276, 22] liés au cadre des problèmes dynamiques de satisfaction de
contraintes (section 5.1.3) susceptibles d’être transposés à notre problème dynamique d’optimisation sous
contraintes (section 5.1.4).
Bien que la recherche se soit focalisée très longtemps sur des problèmes statiques, la plupart des problèmes
de RO ou d’IA sont en réalité des problèmes dynamiques, c’est à dire des problèmes où l’ensemble6.4. CONCLUSION 107
des variables et des contraintes à considérer pendant la phase de résolution évolue du fait de changements
(événements) provenant soit de l’environnement, soit de l’utilisateur ou plus généralement d’autres agents.
À titre d’exemples, ces changements peuvent intervenir :
• au niveau de l’environnement : l’état physique du système permettant de réaliser les actions prévues
évolue (pannes, incidents, ressources non disponibles, effets des actions, . . . ), ce qui rend leur exécution
rarement conforme aux prévisions ;
• au niveau de l’utilisateur : pour des problèmes de conception interactive, l’utilisateur travaille par
explorations successives de spécifications différentes pour évaluer les implications liées à tel ou tel
choix ;
• au niveau des agents : les décisions d’un agent dans un système distribué modifient les spécifications
des problèmes traités par d’autres agents.
Les systèmes d’aide à la décision font partie des nombreux problèmes soumis à des perturbations [86]
où l’utilisateur peut commander le système en lui fournissant de nouvelles données et où le solveur informe
l’utilisateur en retour.
6.3.1 Besoins utilisateurs
Concernant l’utilisateur, l’efficacité de la recherche et la stabilité des solutions successives sont deux besoins
essentiels :
• le besoin de mécanismes de recherche efficaces peut être plus fort dans le cadre de problèmes dynamiques
où le temps disponible pour produire une nouvelle solution est souvent limité.
• la stabilité des solutions successives peut être importante au cas où un certain travail a pu être engagé
sur la base de la solution précédente. La stabilité est une propriété qui lie les solutions successives
produites par un système dynamique. Une solution est stable par rapport à la solution précédente si le
passage d’une solution à l’autre se fait par de petits changements [86].
6.3.2 Réparation de la solution précédente
La méthode proposée par [192] s’attache à réparer une affectation complète issue de la recherche précédente
plutôt qu’à reconstruire une solution à partir de zéro. Une heuristique de réparation ou de minimisation
des conflits consiste à choisir une variable intervenant dans une contrainte insatisfaite et à choisir, pour
cette variable, une valeur qui minimise le nombre de contraintes insatisfaites. Ces heuristiques peuvent
être utilisées aussi bien dans le cadre d’une recherche systématique (section 5.2.1) ou non systématique
(section 5.2.2). Cette méthode donne de bons résultats à la fois en termes d’efficacités et de stabilité, sur
des problèmes sous-contraints. Néanmoins, pour fournir une solution proche de la solution précédente, des
techniques ont du être développées pour répondre notamment à l’objectif de minimisation du nombre de
variables dont l’affectation est modifiée [21]. Notons que le critère de distance entre deux solutions peut
être agrégé avec d’autres critères de type coût propres au contexte.
6.4 Conclusion
Les SIAD changent la manière de prendre les décisions face à une information qui a tendance à se globaliser,
des problèmes du plus en plus difficiles à résoudre et des délais de réflexion qui se réduisent. Ces
systèmes représentent désormais des dispositifs de collaboration particulièrement adaptés entre l’homme et
la machine pour accompagner des processus complexes devenus très souvent collectifs. Ils reposent en partie
sur des techniques issues du domaine des mathématiques appliquées comme l’optimisation combinatoire
pour aider efficacement les décideurs dans leurs tâches les plus ardues, notamment face à des problèmes
peu ou mal structurés. Le maintien de solution dans un cadre d’aide à la décision est un problème supplé-
mentaire qui a été abordé assez tardivement par les communautés scientifiques malgré une profusion de cas108 CHAPITRE 6. SYSTÈMES INTERACTIFS D’AIDE À LA DÉCISION
disponibles dans nos quotidiens. Il pose une double difficulté : efficacité accrue de la résolution et stabilité
des solutions proposées. Dans ce contexte, La technique qui consiste à réutiliser une solution précédente
sur un problème dynamique semble être une voie incontournable pour répondre à ces deux objectifs. Enfin,
en résolution de problèmes combinatoires, garantir la prédictibilité des temps de calculs et la qualité des solutions
disponibles à chaque instant est particulièrement difficile à assurer avec les algorithmes classiques,
complets ou incomplets. L’ensemble de ces difficultés fait probablement que peu d’applications d’aide à
la décision développées autour des problèmes combinatoires sur de grosses instances soient réellement des
applications temps réel.7
Modélisation urbaine
Compte tenu de la puissance de calcul des ordinateurs actuels, le recours à la simulation est un moyen
crédible de nos jours pour s’attaquer à des problématiques complexes auxquelles nos sociétés modernes sont
confrontées. Or, toute simulation doit s’appuyer sur un modèle, c’est à dire une représentation simplifiée
d’une réalité qui lui donne du sens et permet de mieux la comprendre [123].
En matière d’environnements urbains, de nombreux travaux ont été proposés ces dernières décennies
pour mieux comprendre l’organisation des villes. C’est le cas notamment des modèles d’économie spatiale,
d’écologie urbaine ou encore d’interaction spatiale. Plus récemment, on a assisté à l’émergence de
l’approche systémique et individu-centrée annoncée comme une évolution majeure. Ces derniers modèles
sont réputés pouvoir représenter des systèmes complexes dans leur globalité en se basant sur le concept
d’émergence provenant des interactions entre les individus (emplacements, habitants, emplois, résidences,
entreprises, routes, . . . ) qui composent le système.
Dans ce chapitre, nous présentons un état de l’art de la modélisation urbaine restreint à des thèmes
proches de notre problématique. Pour positionner nos travaux dans le panorama de la recherche actuelle,
nous détaillons plus particulièrement trois approches représentées par les projets de recherche UrbanSim et
GeOpenSim d’une part, et par la plateforme commerciale CommunityViz d’autre part.
En effet, de nombreux projets de recherche relatifs aux problématiques urbaines sont initiés sur les différents
continents. Nombre d’entre eux s’intéressent à la fois aux problématiques du transport et à celles de
l’occupation du sol, le but étant de mieux évaluer l’impact des choix actuels sur le long terme. Ces modèles
sont regroupés sous l’abréviation LUTI (Land Use and Transport Interaction model). Dans ce contexte,
nous avons souhaité étudier le projet de recherche UrbanSim mis au point aux États-Unis par l’équipe de
Paul WADDEL et ayant une forte orientation pour l’aménagement des espaces urbains. Ce modèle dynamique
a su s’imposer ces dernières années, y compris au sein de certains projets de recherche européens.
Mais ce projet nécessite beaucoup de données en entrée. Or, beaucoup d’informations utiles peuvent être
exploitées à partir d’une simple photographie. C’est l’approche originale qui a été retenue par le projet
de recherche GeOpenSim qui a suscité notre curiosité et que nous décrivons brièvement. D’un autre côté,
on trouve la plateforme commercialisée sous le nom de CommunityViz qui se présente comme un outil de
nouvelle génération pour la planification urbaine : voyons ensemble si cet outil est adapté à nos besoins et
quelles sont les réponses innovantes qu’il est en mesure de délivrer aux urbanistes et décideurs ?
Indépendamment des modèles spécialisés relatifs à l’urbanisme, la famille des problèmes génériques
de positionnement révèle de très fortes similitudes par rapport à notre problématique qui consiste à positionner
au mieux des éléments urbains (habitations, écoles, commerces, . . . ) sur chaque cellule d’une grille
(emplacements libres), chaque élément devant être associé à une et une seule cellule. Parmi les nombreux
problèmes de positionnement référencés, nous introduisons plus particulièrement le problème d’affectation
109110 CHAPITRE 7. MODÉLISATION URBAINE
FIGURE 7.1 – Profit de la rente foncière et anneaux de Von THÜNEN (pour 3 anneaux). D’après J.H. VON
THÜNEN et al. [279].
quadratique représentatif des problèmes d’optimisation fortement combinatoire. L’étude de ce problème
de référence nous apportera peut-être les derniers éléments de réponse utiles à notre modèle spécifique de
pré-programmation urbaine.
7.1 Représentations historiques de la ville
Les premières représentations de la ville initiées par les économistes remontent au début du 19ème siècle.
Elles considèrent généralement la proximité urbaine comme source de profits, ces profits pouvant être maximisés
en choisissant une localisation optimale pour chaque type d’activité.
Ces travaux pouvaient s’intéresser aux critères de choix d’implantation d’une industrie, aux rapports
entre localisation et rente foncière en fonction de la distance au centre ville, en encore à la répartition des
villes et des activités au sein d’un espace régional.
7.1.1 Les modèles d’économie spatiale
Les premiers modèles d’urbanisation cherchent à étudier et à prévoir l’occupation du sol entre différents
types d’activités (résidentielles, économiques, équipements, . . . ). Ils ont une portée essentiellement théorique
et leur apport à l’urbanisme opérationnel reste généralement limité.
Dès 1820, Von THÜNEN cherche à expliquer la localisation des activités agricoles autour des villes
allemandes. Grâce à la formulation de plusieurs hypothèses sur les bases d’une ville théorique et d’un
espace isotrope1
, il a démontré que la production d’une denrée n’est rentable qu’à une distance donnée du
marché compte tenu de son coût de transport et du coût de la terre (rente foncière) [279]. Ainsi, plus le coût
de transport d’un produit est élevé, plus le produit sera proche du marché (cf. figure 7.1).
En 1933, W. CHRISTALLER [45] avec sa théorie des lieux centraux (cf. figure 7.2) tente d’expliquer
la taille, le nombre et la répartition hiérarchique et géographique des villes au sein d’un espace régional.
1Qui représente les mêmes caractéristiques physiques dans toutes les directions, en tout point homogène.7.1. REPRÉSENTATIONS HISTORIQUES DE LA VILLE 111
FIGURE 7.2 – Modèle de CHRISTALLER : théorie des lieux centraux. D’après W. CHRISTALLER [45].
Il montre qu’une région s’organise hiérarchiquement en fonction de l’offre en biens qu’elle propose sur la
base d’hypothèses simplistes (accessibilité et niveaux de revenus égaux en tout point, etc.).
En partant des travaux de A. LÖSCH (1940) [175] qui utilise des méthodes de découpage de l’espace
en zones homogènes pour faire des analyses spatiales de phénomènes urbains, K.G. ZIPF propose la loi
rang-taille en 1949 [292]. Cette loi considère que la taille des villes est distribuée de manière inverse à leur
rang, indépendamment de l’espace et du temps (cf. figure 7.3).
FIGURE 7.3 – Modèle de ZIPF : relation rang-taille des unités urbaines françaises en 1990. D’après
FABRIÈS-VERFAILLIE et al. [89].
En 1964, W. ALONSO [6] donne naissance à l’économie urbaine en élaborant un premier modèle basé
sur la théorie de la croissance urbaine. Ces modèles liés à l’étude des valeurs foncières veulent expliquer le
comportement des ménages et des activités économiques en cherchant un compromis entre proximité, pé-
nibilité du trajet, disponibilité du terrain et leur prix. Dans sa théorie, l’organisation spatiale de l’utilisation
du sol est déterminée par la valeur foncière, elle-même liée aux coûts de transport. Chaque activité est en
mesure de payer une rente en fonction de la distance au centre, les différentes localisations entre activités
étant interdépendantes (cf. figure 7.4).112 CHAPITRE 7. MODÉLISATION URBAINE
FIGURE 7.4 – Modèle de rente à payer en fonction de la distance au centre. D’après W. ALONSO [6].
7.1.2 Les modèles de l’écologie urbaine
L’écologie urbaine introduite par l’école de Chicago [120] consiste à étudier les interactions entre les êtres
vivants et la ville. Elle marque les débuts d’une analyse des espaces urbains par les sciences sociales en
proposant des modèles explicatifs de répartition des populations en fonction de leurs caractéristiques sociales,
familiales, ethniques, etc. Dans cette lignée, on recense trois principaux modèles complémentaires
qui décrivent la ville sous forme d’aires suivant différents critères.
Le modèle de BURGESS [37] (1925) étudie les itinéraires résidentiels socio-spatiaux et prend la forme
d’un schéma concentrique pour d’écrire l’organisation d’un espace urbain (cf. figure 7.5).
FIGURE 7.5 – Modèle radioconcentrique de BURGESS. D’après E.W. BURGESS [37].
Le modèle de HOYT [137] (1939) considère que des conditions particulières ou des lignes de communication
favorables ont un effet structurant sur les zones voisines qui deviennent plus attractives. À partir de
cette idée, la ville est structurée en arcs de cercles et en secteurs (cf. figure 7.6).
En 1945, HARRIS et ULLMAN [129] s’appuient sur une organisation de l’agglomération constituée de
noyaux, chaque noyau étant caractérisé par une fonction et articulé par des axes de transport (cf. figure
7.7). Dans leur modèle, certaines fonctions se repoussent alors que d’autres s’attirent ou dépendent des
caractéristiques du site.7.1. REPRÉSENTATIONS HISTORIQUES DE LA VILLE 113
FIGURE 7.6 – Modèle de HOYT sur la théorie des secteurs : (1) Centre des affaires, (2) Industries et entrepôts,
(3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences des classes
aisées. D’après H. HOYT [137].
FIGURE 7.7 – La théorie des centres multiples : (1) Centre des affaires, (2) Industries légères et entrepôts,
(3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences des classes aisées,
(6) Industries lourdes. D’après C.D. HARRIS et E.L. ULLMAN [129].
7.1.3 Les modèles d’interaction spatiale
La notion d’interaction spatiale est souvent définie comme l’étude de la décroissance des flux avec la distance,
la distance participant notamment à la structuration de l’espace géographique par des champs de
force [224].
Cette approche, ramenée par analogie aux lois de la gravitation universelle, a donné lieu aux modèles
déterministes de E.G. RAVENSTEIN [225] qui remontent à 1889. En général, ces modèles gravitaires font
dépendre le volume d’interaction entre deux lieux de la masse des lieux émetteurs et récepteurs ainsi que
de l’inverse du carré de la distance qui les sépare.
Les modèles gravitaires de STEWART [259] et de ZIPF [293] sont conformes à la théorie de la gravité
de NEWTON : l’interaction entre deux unités géographiques est proportionnelle au produit de leurs
masses respectives (population, richesse, etc.) et inversement proportionnelle à la distance qui les sépare.
Par ailleurs [224], ZIPF a proposé d’appeler « loi du moindre effort » la propension universelle à couper au
plus court et à aller au plus proche : ce qui revient à organiser les activités et les déplacements en fonction
de la distance.
Les modèles de REILLY [229] et HUFF [139] s’attachent quant à eux à déterminer les aires de marché
théoriques d’un ensemble de lieux centraux. Ils cherchent à décrire les lieux appartenant à une zone de
marché en exploitant les relations entre ces lieux.114 CHAPITRE 7. MODÉLISATION URBAINE
Comme le souligne Denise PUMAIN dans son "essai sur la distance et l’espace géographique" [224],
en référence au cartographe américain Waldo TOBLER : « tout interagit avec tout, mais la première loi de
la géographie est que deux choses proches ont plus de chances d’entrer en interaction que deux choses
éloignées ».
Bien que la majorité des modèles étudiés dans les sections précédentes n’apportent que de faibles justifications
théoriques, souvent dépassées et incapables à elles seules de décrire les situations actuelles, ils
constituent une base solide pour les modèles qui suivront.
7.2 Vers une approche systémique et individu-centrée
J. DE ROSNAY définit un système comme "un ensemble d’éléments en interaction dynamique, organisés
en fonction d’un but" [65]. Ainsi, la majorité des problèmes actuels peuvent être considérés comme des
systèmes complexes dans la mesure où ils font intervenir un grand nombre de variables connectées entre
elles, ils sont difficiles à comprendre dans leur globalité et peuvent être représentés de différentes façons.
L’approche analytique et sectorielle à partir de laquelle les systèmes complexes ont longtemps été étudiés
et décomposés en autant de champs que possible (économie, habitat, transport, etc.) est nécessairement
réductionniste et montre d’importantes limites [8]. Cette approche consistant à réduire la nature complexe
des choses en la décomposant mène à des solutions partielles qui ne traitent qu’un aspect du problème. Et
ces solutions fragmentaires ont souvent des conséquences indirectes non maîtrisées sur d’autres aspects du
problème. Au contraire, l’approche systémique proposée dès 1968 par L. VON BERTALANFFY [278] considère
un système complexe comme un ensemble de systèmes emboîtés les uns dans les autres et orientés dans
une finalité commune [154]. Les parties du système étudié ne peuvent être comprises si elles sont considé-
rées isolément. Elles sont dynamiquement reliées entre elles dans une interaction et une interdépendance
permanentes [95]. Cette démarche envisage tout système complexe comme un ensemble d’éléments faisant
système et encourage à un travail transdisciplinaire [39]. L’approche systémique permet d’appréhender un
problème dans sa globalité pour proposer des solutions qui prennent en compte l’ensemble des effets, "un
tout ne se réduisant pas à la somme de ses parties constitutives" [197].
La ville est faite de multiples composants, articulés entre eux au sein de sous-systèmes urbains en
interactions dynamiques, ces interactions étant à l’origine du comportement du système dans le temps.
La ville peut donc être vue comme un système complexe. Dès lors, l’approche systémique appliquée à la
ville apparaît pertinente pour la considérer comme « un tout » et rendre compte de sa complexité et de son
auto-organisation [223]. Ainsi, avec la parution de Urban Dynamics [96], J. FORRESTER est le premier à
proposer un modèle de dynamique urbaine destiné à la simulation du développement à très long terme et à
l’exploration des conséquences de politiques alternatives. Cette étude qui rompt avec les modèles précédents
a notamment permis de qualifier les systèmes urbains comme des systèmes contre intuitifs et extrêmement
robustes (peu sensibles aux valeurs des paramètres ou variables d’entrée du modèle).
A partir des années 1970, les termes quantification, modélisation, approche systémique et analyse spatiale
sont devenus des mots clés pour tout géographe. C’est alors que les travaux de modélisation se généralisent
et permettent la construction de scénarios, la discussion et la confrontation d’idées. Avec les progrès
techniques, on accède progressivement aux possibilités de traitement des données spatialisées. Cette évolution
permet le couplage des modèles avec des systèmes d’informations géographiques (SIG) et le développement
des modèles individu-centrés essentiellement composés des automates cellulaires2
et des systèmes
multi-agents3
. Les modèles centrés individus permettent de prendre en compte un grand nombre d’individus
(i.e. cellules ou agents) en désagrégeant les comportements de chacun d’entre eux. Cette technique liée à
2Un réseau d’automates cellulaires (AC) se présente comme "un système de cellules interagissant localement de manière
simple et manifestant un comportement global complexe"(Stephen WOLFRAM).
3Système composé d’un environnement, d’un ensemble d’objets passifs localisés et d’un ensemble d’agents actifs situés
capables de percevoir, produire, consommer, transformer et manipuler les objets (Jacques FERBER).7.3. LA MODÉLISATION LUTI 115
une dimension stochastique enrichit nettement la modélisation et prend le parti pris de l’émergence, l’un
des concepts les plus intéressants des modèles systémiques [39].
Il est indéniable que la modélisation à base d’agents (Agent-based modelling) a connu une très forte
adhésion pour la simulation sociale. Son succès peut s’expliquer en raison d’une vision du monde qui
suggère que les systèmes complexes émergent de la base, sont fortement décentralisés, et sont composés
d’une multitude d’objets hétérogènes. Néanmoins, avant d’adopter ce paradigme, il convient de prendre en
compte les nombreux défis que ce type de modélisation soulève encore [59] :
• construire le modèle au bon niveau de détail pour bien servir le but recherché,
• proposer un modèle qui puisse être généralisable (et non spécifique à un problème donné),
• assurer la robustesse du modèle dans différentes situations, notamment avec des données différentes,
• mettre au point un protocole pour vérifier et valider le modèle,
• permettre aux autres intervenants de comprendre le modèle pour favoriser son adoption,
• . . . .
Quelle que soit la technique employée, la modélisation urbaine a su se développer dans de nombreux
domaines et conduira au développement des modèles LUTI (Land Use and Transport Interaction) qui permettent
de modéliser les interactions entre les problématiques du transport et celles de l’occupation et de
l’usage des sols.
7.3 La modélisation LUTI
Les logiciels professionnels de type "transport-urbanisation" ou "transport-occupation du sol" plus connus
sous l’abréviation modèle LUTI (Land Use Transport Interaction model) représentent encore un marché
balbutiant. En fait, l’intérêt d’associer ces deux types de modélisation (transport et occupation des sols)
n’est apparu que depuis une dizaine d’années [61] et la plupart des modèles LUTI actuels sont en réalité
des modèles "connectés" résultant d’un couplage à posteriori d’un modèle de trafic et d’un modèle d’urbanisation.
En France, plusieurs projets de recherche de ce type ont vu le jour sous l’impulsion du PREDIT4
.
Par exemple, on peut citer les projets SIMAURIF5
en Île-de-France, SIMBAD6
à Lyon, MIRO7 ou encore
MOBISIM8
. On relève également des initiatives dans le secteur privé avec VINCI qui a proposé le modèle
PIRANDELLO9
. On peut retrouver dans le livre "Modéliser la ville" [8] une description détaillée de ces
différents projets.
Les modèles LUTI simulent les effets d’une nouvelle infrastructure de transport sur l’occupation des
sols à moyen ou long terme :
• localisation des ménages ;
• localisation des entreprises ;
• effets sur le prix du foncier et de l’immobilier.
Une boucle rétroactive se met en place entre le modèle de transport et le modèle d’urbanisation (voir Figure
: 7.8). Sous l’effet des nouvelles infrastructures de transport, les prix du foncier et de l’immobilier
évoluent et la répartition spatiale des populations et des emplois est également affectée. Cette nouvelle ré-
partition génère des déplacements qui sont réaffectés sur le réseau de transport. Les disponibilités foncières
et leurs prix sont à nouveau impactés ainsi que les réseaux de transport, etc. En général, les effets de la
boucle de rétroaction sont évalués annuellement sur une période pouvant aller de 20 à 30 ans.
Un modèle LUTI peut apporter des réponses à des questions du type :
4PREDIT : Programme de Recherche et d’Innovation dans les Transports Terrestres (http ://www.predit.prd.fr/predit4/).
5
http://isidoredd.documentation.developpement-durable.gouv.fr/documents/dri/RMT08-010.pdf
6
http://simbad.let.fr/
7
http://isidoredd.documentation.developpement-durable.gouv.fr/documents/dri/RMT07-013.pdf
8
http://www.mobisim.org/
9
http://www.etudesfoncieres.fr/articles/article-pirandello-un-modele-urbain-global-137-gratuit.pdf116 CHAPITRE 7. MODÉLISATION URBAINE
FIGURE 7.8 – Schéma simplifié d’un modèle dynamique de type LUTI. D’après le rapport final sur la
première phase d’ULTISIM [61].
• quelles sont les plus-values foncières et immobilières générées par une nouvelle infrastructure de
transport en commun à proximité d’une gare ?
• quel est l’impact d’une politique de transport particulière sur la relocalisation des ménages et des
emplois ou sur les émissions de CO2 ?
• quels sont les effets d’un péage autour du centre ville sur le développement économique régional et
local ? Va-t-il favoriser un étalement urbain ou une densification ?
• etc.
Cependant, un modèle macro-économique externe est nécessaire pour introduire par exemple la part de
création nette d’emplois en faisant des hypothèses de totaux par année de simulation. Pour plus de précisions
sur les modèles existants, on pourra se référer au rapport final du projet ULTISIM10 [61] qui propose une
étude de six modèles LUTI opérationnels, à savoir (par ordre alphabétique) :
• CUBE LAND ;
• DELTA (Development, Employment, status and communting, Location and property market, Transition
and growth, and Area quality) ;
• MARS (Metropolitan Activity Relocation Simulator) ;
• OPUS/UrbanSim ;
• PECAS (Production, Exchange and Consumption Allocation System) ;
• TRANUS ;
La figure 7.9 reprend pour chaque modèle LUTI son niveau de complexité et son degré d’implication
comme modèle d’urbanisation ou de transport. Compte tenu de son positionnement (Land Use Model) et
de son niveau de complexité (modèle dynamique à choix discrets), nous proposons d’étudier plus en détail
la plateforme UrbanSim dans la section suivante ; ceci pour mieux appréhender l’état de l’art en la matière
à partir d’un outil réputé et faisant référence dans son domaine. De plus, nous souhaitons évaluer dans
quelle mesure un tel modèle pourrait nous être utile pour répondre à notre problématique. En effet, bien
que notre projet ne soit pas lié à l’aspect dynamique évoqué ici, la dimension temporelle n’intervenant pas
dans notre cas, nous faisons l’hypothèse que nous pourrions utiliser le modèle UrbanSim pour générer une
ville de toute pièce. On partirait d’une ville initialement vide sans habitant ni bâtiment. A chaque année, il
10Le projet de recherche ULTISIM (Urban Land Transport Integrated SIMulation Model) a pour ambition de proposer un modèle
intégré transport-urbanisme au niveau européen. Ce projet de recherche financé dans le cadre du PREDIT se décompose en
deux phases : une phase de conception et une phase de développement. La première phase du projet prévue sur 20 mois (et achevée
en juin 2011) consiste à mener une réflexion approfondie sur les données d’entrée et sur la méthodologie de développement
pour aboutir à terme à un modèle LUTI opérationnel en Île-de-France.7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 117
FIGURE 7.9 – Positionnement des modèles LUTI. D’après le rapport final sur la première phase d’ULTISIM
[61].
faudrait injecter dans notre modèle un certain nombre d’éléments urbains (habitants, emplois, habitations,
entreprises, parcelles, routes, . . . ) et laisser le modèle œuvrer pour répartir ces éléments au mieux sur le
territoire. Le processus se poursuivrait d’année en année jusqu’à ce que tous les éléments prévus dans le
modèle urbain de pré-programmation (vu comme un modèle macro-économique externe) soient intégrés.
La ville ainsi constituée correspondrait au résultat d’une simulation, le nombre d’années utilisées pour les
opérations n’ayant que peu d’importance dans notre situation (car nous aurions détourné le modèle de sa
fonction originale) . . .
7.4 Trois modèles urbains passés au crible
7.4.1 Le projet UrbanSim
UrbanSim [283] est un modèle d’urbanisation (land-use model) basé sur la théorie des modèles de choix
discrets11 et sur le principe de la microsimulation12
. UrbanSim est apparu aux États-Unis en 1999 pour ré-
pondre aux nouvelles exigences de la loi, à savoir l’obligation de prendre en compte dans tout processus de
planification régional les dimensions relatives à l’urbanisation, aux transports et à l’environnement. Il s’agit
d’un logiciel de simulation complet qui repose sur une approche à base de modèles pour la planification et
l’analyse du développement urbain, en prenant en compte les différentes interactions entre l’utilisation des
espaces (terrains), les transports ainsi que les politiques publiques. Il est destiné aux organismes de plani-
fication métropolitaine et autres groupements qui ont besoin d’intégrer des modèles de transport existants
avec une nouvelle utilisation des espaces dans le but de faire des prévisions et des analyses de capacités.
Il a vu le jour sous l’impulsion de P. WADDELL au sein du CUSPA13 de l’Université de Washington
à Seattle. UrbanSim est l’aboutissement de nombreuses recherches commencées dès les années 1960 en
11La théorie des choix discrets a pour objet de décrire le comportement de choix d’un individu (ou d’un groupe d’individus
agissant indépendamment les uns des autres) en présence d’actions mutuellement exclusives [28].
12L’idée maîtresse de la microsimulation est que le meilleur moyen de simuler un système consiste souvent à modéliser et à
simuler les actions et les interactions de ses unités de plus petite échelle et d’obtenir les macrorésultats par agrégation [207].
13Center for Urban Simulation and Policy Analysis118 CHAPITRE 7. MODÉLISATION URBAINE
Amérique latine puis aux États-Unis. P. WADDELL a su tirer parti des autres logiciels existants à cette
époque pour concevoir un système qui intègre toutes les fonctionnalités d’un logiciel de prévision de l’occupation
des sols, basé sur un modèle de prix du foncier et des modèles de choix discrets de localisation des
ménages et des entreprises. Avec ce logiciel, chaque ménage, chaque emploi et chaque unité géographique
(cellules paramétrables de 500 mètres de côté par défaut) sont représentés dans le modèle, chacun avec ses
caractéristiques et ses comportements.
7.4.1.1 Motivations de base
Tout les aspects d’une agglomération sont interconnectés et interdépendants. Une action sur un secteur in-
fluence automatiquement les autres secteurs à des degrés différents et en fonction des autres actions opérées
au même moment. La coordination des différents événements constitue donc un élément important qui n’est
pas souvent pris en considération et qui peut aboutir parfois à des comportements inattendus. De plus, il
existe une grande variété d’intervenants différents (urbanistes, organismes publics, citoyens et associations,
etc.), qui, chacun à son niveau, doit pouvoir constater les conséquences et les alternatives possibles des
choix politiques et investissements. L’outil doit faciliter les délibérations publiques parfois houleuses relatives
à l’aménagement du territoire, aux transports ou à l’environnement en indiquant les conséquences et
alternatives possibles sur les effets à longs termes sur l’environnement et les considérations d’équité. Enfin,
il doit permettre aux différentes communautés (au sens de l’agglomération) d’avoir une vision globale pour
coordonner leurs actions.
7.4.1.2 Approche
La conception d’UrbanSim prend en compte les expériences du passé en terme de modélisation de l’urbanisation.
Cet environnement s’appuie sur un modèle dynamique (où la dimension du temps intervient)
qui reproduit l’évolution de l’occupation du sol au cours de la période simulée. La structure de données
d’UrbanSim permet de prendre en compte des données d’occupation du sol à un niveau infracommunal14
et donc de dépasser des approches classiques trop simplificatrices (découpage concentrique en trois zones
ou découpage par agrégation de communes). Les différents modules d’UrbanSim requièrent des données
spécifiques. Les données d’entrée sont composées :
• des données de l’année initiale ;
• des données de prévision macro-économiques ;
• des données sur les transports issues du modèle de trafic (temps et coûts de parcours par mode, etc.) ;
• les scénarios de politiques d’urbanisation tenant compte des schémas d’aménagement locaux et ré-
gionaux.
Les différents modules sont interdépendants car les sorties de l’un sont les entrées des autres. Le déroulement
des calculs est séquentiel et l’ordre peut être paramétré par l’utilisateur dans un fichier XML. Le
logiciel est conçu comme un ensemble de composants reflétant les choix des agents économiques (mé-
nages, entreprises) et leurs interactions avec le marché de l’immobilier. On retrouve par exemple :
• les choix de localisation résidentielle des ménages ;
• les choix de localisation des emplois ;
• les choix de développement immobilier.
Les modules de localisation sont basés sur un quadrillage fin de l’aire d’étude et les choix sont relatifs à
chaque cellule de ce quadrillage. Le secteur d’étude doit être découpé en mailles ou cellules carrées les plus
fines possibles, et les données d’entrée sont à recueillir dans ce maillage, pour l’année initiale et l’année de
calage. Le calage d’UrbanSim consiste à estimer les paramètres du modèle à partir de données désagrégées
sur une période constituée de deux années pour lesquelles il existe le maximum de données. Le modèle sera
14à l’intérieur des limites communales7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 119
FIGURE 7.10 – Cours du temps dans UrbanSim. D’après le Rapport 1 - SIMAURIF [246]
ensuite appliqué, avec les mêmes paramètres, à un horizon futur selon différents scénarios à définir (voir
figure 7.10).
Certains composants sont capables de simuler la mobilité des ménages et des emplois. En parallèle,
il existe des composants basés sur des données agrégées, comme les modules de transitions économique
et démographique. Ces modules non spatiaux sont liés aux données macro-économiques exogènes et permettent
de caler le modèle au niveau global. Un autre module permet de simuler le prix du foncier. Les
versions d’UrbanSim les plus récentes proposent des modules complémentaires (choix de localisation des
entreprises, choix de développement de projets, etc). Les différents modules s’exécutent sur un pas d’un
an, pendant toute la période de simulation (par exemple une période de vingt ans). Par ailleurs, UrbanSim
utilise une structure hiérarchique pour organiser les différentes simulations appelées "scénarios". UrbanSim
est prévu pour simuler et évaluer les effets potentiels de scénarios multiples. Dans ce contexte, un scénario
correspond à une combinaison de données en entrée et d’hypothèses, en incluant les hypothèses macroéconomiques
au regard de l’augmentation de la population et de l’emploi pour la zone étudiée. On considère
que la configuration des moyens de transport est connue pour les prochaines années et que les plans gé-
néraux des juridictions locales qui vont définir les types de développement sont disponibles pour chaque
localité. Une simulation UrbanSim consiste à faire tourner le moteur UrbanSim sur un "scénario". Les ré-
sultats de la simulation sont alors stockés dans une base de données unique (Output Database). Il existe un
moyen dans UrbanSim de prendre en compte des événements exceptionnels prévus dans le futur. Il suffit
pour cela de définir dans les fichiers de type « events » les nombres d’emplois, de ménages, le changement
de type urbain et l’année pour les cellules où se produisent ces événements. Enfin, le module d’export de
données permet le regroupement, l’agrégation et l’export des résultats dans des fichiers externes destinés à
l’analyse et à l’importation dans un système d’information géographique.
7.4.1.3 Un système basé sur les modèles
Les modèles d’UrbanSim interviennent à différents niveaux :
• simulent les décisions et choix qui impactent le développement urbain (mobilité, choix d’implantation
des habitations et des zones d’affaires, choix des constructeurs) ;
• prennent explicitement en compte les terrains, les structures (maisons d’habitation et bâtiments commerciaux)
ainsi que les occupants (ménages, commerces) ;
• simulent le développement urbain comme un processus dynamique dans le temps et l’espace ;
• simulent le prix des terrains en fonction de l’offre (espaces libres, nouvelles constructions ou rénovations)
et de la demande (emplacements préférés pour les maisons d’habitations ou les commerces) ;
• tiennent compte des choix politiques gouvernementaux et évaluent les impacts politiques en modélisant
les réactions du marché ;
• sont basés sur la théorie aléatoire pour impacter les composants ;
• sont conçus pour travailler sur une représentation de haut niveau de l’espace et des activités avec un120 CHAPITRE 7. MODÉLISATION URBAINE
système de zones identique à celui des déplacements ;
• sont adaptés aux besoins de développement ou de réaménagement, en travaillant au niveau du détail
des parcelles.
7.4.1.4 Une plateforme ouverte d’intégration
Une plateforme ouverte a été développée pour y intégrer UrbanSim. Il s’agit de la plateforme OPUS15 qui
permet une intégration d’extensions (plugin). UrbanSim constitue la pièce centrale de cette plateforme.
Après un premier développement en Java, l’application a été totalement réécrite en Python pour faciliter
l’intégration et son ouverture. Les développements exploitent le paradigme de la programmation orientée
objet pour offrir un maximum de flexibilité. L’application dispose d’une interface graphique écrite en PyQt4.
Elle peut s’interfacer avec les principales bases de données du marché (MySQL, Miscrosoft SQL Server,
Postgres, etc.) bien qu’elle dispose d’une base de données intégrée (SQLLite). Il est possible de travailler
avec les différents systèmes d’information géographique (ArcGIS, PostGIS, Quantum GIS, etc.) disponibles
sur le marché pour afficher les informations entrées (modèles) ou le résultat des simulations. Ce logiciel est
disponible en téléchargement libre sous licence publique générale GNU (GPL).
7.4.1.5 Un exemple de mise en œuvre d’UrbanSim
Dans l’étude de cas "la Tangentielle Nord", les rapports [246, 247, 248] relatifs au projet SIMAURIF (SIMulation
de l’interAction Urbanisation-transport en Région d’Ile-de-France) indiquent que ce projet a exploité
le modèle d’urbanisation UrbanSim avec succès mais non sans difficulté. En effet, la dimension historique
et la densité importante de la ville de Paris sont différentes d’une ville américaine moyenne ayant des
constructions beaucoup plus récentes et une organisation semble-t-il plus simple. D’autre part, les règles
d’accès aux données sont différentes et parfois plus strictes et contraignantes en France qu’aux États-Unis.
Enfin, ils ont été amenés au cours de ce projet à essayer plusieurs types de modèle afin d’en trouver un
de qualité explicative suffisante compte tenu des données disponibles mais surtout de qualité prédictive et
cette démarche s’est avérée très « gourmande » en temps de travail. Cette étude de cas permet également de
mettre en évidence les limites de la modélisation : les modèles ne sont pas en mesure de prédire des événements
exceptionnels, certains facteurs difficilement mesurables peuvent influencer les comportements et de
nombreux facteurs humains sont impossibles à intégrer.
7.4.1.6 Conclusion
Malgré sa qualité incontestable, le modèle UrbanSim requiert une grande quantité de données en entrée qui
ne sont pas toujours disponibles ou qui peuvent être soumises à des conditions strictes d’utilisation dans
certains pays. D’autre part, il nécessite beaucoup d’efforts et de temps dans sa phase de calibrage pour être
capable de reproduire l’évolution d’une ville au plus proche de la réalité entre l’année initiale et l’année
de calage (cf. figure 7.10). Ensuite seulement, il peut être utilisé pour entrevoir un avenir hypothétique
incapable de prendre en compte les événements exceptionnels (ce qui semble normal) ou de saisir toute la
complexité inhérente aux comportements humains.
Pour compléter notre hypothèse de départ liée à l’utilisation éventuelle d’un modèle LUTI dans le cadre
de cette thèse, nous pourrions imaginer différents paramétrages d’UrbanSim basés sur les résultats de différents
calages, chacun étant lié à une morphologie de ville caractéristique. Pour une simulation, il faudrait
alors se référer à un paramétrage particulier pour adopter un type de ville désiré. Néanmoins, les diffé-
rents aspects évoqués relatifs à UrbanSim sont contraires à la philosophie même de la pré-programmation
urbaine (voir section 4.1.2.1) caractérisée par un modèle simple pouvant être compris de tous avec un fonctionnement
nécessitant un nombre limité de données en entrée. De plus, malgré le haut niveau reconnu à
UrbanSim, il semble difficile de transposer un modèle américain aux villes européennes façonnées par de
15Open Platform for Urban Simulation7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 121
longues années d’histoire. Enfin et surtout, nous ne souhaitons pas simuler ou reproduire le comportement
probable lié à l’évolution d’une ville, nous souhaitons plutôt optimiser son organisation globale à priori.
7.4.2 Le projet GeOpenSim
Intéressons-nous maintenant à une approche radicalement différente d’UrbanSim qui tente néanmoins de
simuler l’évolution d’une ville en simplifiant le processus d’alimentation des modèles. Il s’agit d’une plateforme
géographique de simulation qui s’inscrit dans un projet ANR16 commencé en 2007 et qui s’est
achevé en avril 2011. Le projet GeOpenSim [216] vise le développement d’une plateforme Open Source
pour l’analyse et la simulation des dynamiques urbaines à l’aide de bases de données topographiques historiques.
Ces dernières sont construites à l’aide de bases de données topographiques récentes ainsi que de
photographies aériennes et/ou de cartes historiques. Ces bases de données sont analysées afin d’identifier :
• des règles d’évolution au niveau de la ville, du quartier ou de l’îlot ;
• des statistiques sur des objets spécifiques comme les bâtiments composant un îlot ou les îlots présents
dans un quartier.
Chaque simulation peut ainsi être paramétrée à l’aide de règles d’évolution provenant de l’analyse automatique
des données historiques, mais aussi de règles énoncées par des experts.
7.4.2.1 Approche
L’approche met en œuvre un système multi-agents qui comporte une hiérarchie d’agents topographiques
(bâtiments, routes, cours d’eau, îlots, quartiers, ville) qui peuvent être construits, modifiés, fusionnés, dé-
coupés, restructurés et détruits au cours du temps. Le comportement de chaque agent est contrôlé par un
ensemble de règles d’évolution, de contraintes et d’actions associées. GeOpenSim repose sur une structure
hiérarchique (allant du bâtiment à l’agglomération) organisée par des réseaux de communication (les
routes, les voies ferrées, etc.) et des graphes de voisinage (notamment entre bâtiments et entre les bâtiments
et les routes) permettant une certaine autonomie à l’échelle micro (bâtiments, routes, etc.) et des comportements
de régulation à différents niveaux macro (îlot, quartier, ville, etc.). Construit à partir d’un modèle
existant, le système multi-agent hiérarchique a été adapté aux besoins de la simulation urbaine et plusieurs
fonctionnalités ont été ajoutées, telles que les règles d’évolution et les méthodes de peuplement. Les règles
d’évolution sont définies soit par analyse de données historiques, soit par des experts afin d’affecter des
objectifs appropriés aux agents. Elles peuvent prendre en compte le voisinage des agents ainsi que leurs
différents attributs (pour les îlots : la densité, le type d’îlot, la localisation de l’îlot dans la ville, etc.) Les
méthodes de peuplement sont définies afin de modéliser les différentes stratégies que les agents peuvent utiliser
pendant leur évolution (par exemple, la façon dont les îlots se densifient en reproduisant leur structure
interne, en se restructurant ou en diversifiant leur structure). Le modèle GeOpenSim utilise des méthodes
d’analyse spatiale permettant la construction automatique des objets composant les différents niveaux de la
hiérarchie urbaine, ainsi que les relations entre ces objets. On peut ainsi reconstituer les objets ville, quartiers
et îlots à partir des objets bâtiments et routes présents dans les bases de données topographies. D’autres
structures telles que les alignements de bâtiments sont également automatiquement construites et utilisées
dans la simulation.
Les objets géographiques sont évalués sur des critères morphologiques et c’est l’évolution de ces caractéristiques
que l’on cherche à simuler :
• pour un bâtiment : sa surface, son élongation, sa concavité, son orientation, son type (habitation,
industriel, etc.) ;
• pour une route : sa sinuosité, son type (rue, autoroute, etc.) ;
• pour un îlot : sa densité (quotient de sa surface bâtie et de sa surface totale), sa taille, son type (tissu
urbain continu ou discontinu, industriel ou commercial, etc.), sa quantité d’espaces vides (par taille),
16Agence Nationale de la Recherche122 CHAPITRE 7. MODÉLISATION URBAINE
indicateurs statistiques sur les bâtiments le composant, etc ;
• pour un quartier : sa surface, périphérique ou non, indicateurs statistiques sur les îlots le composant,
etc ;
• pour une ville : sa surface totale, sa surface bâtie, la taille de ses réseaux de transport, la distribution
de ses bâtiments par type, par taille, par forme, etc.
Le modèle GeOpenSim permet de simuler l’évolution de ces objets en les modélisant comme des agents,
chaque agent ayant comme but de se transformer pour acquérir un état satisfaisant ses règles d’évolution.
Pour cela, l’état cible d’un agent à une date t + dt est décrit sous forme de contraintes sur ses caractéristiques
morphologiques ; les règles d’évolution sont utilisées uniquement pour calculer les valeurs buts de ces
contraintes. L’objectif de chaque agent est de satisfaire ses contraintes afin d’acquérir un état à la date
t + dt satisfaisant au mieux ses règles d’évolution. Lors de chaque activation, si l’état initial de l’agent
n’est pas parfait, une liste d’actions pouvant potentiellement améliorer son état est calculée. Cette liste est
fonction des contraintes insatisfaites de l’agent et de leur degré d’insatisfaction. Chaque action consiste à
déclencher un algorithme de transformation géométrique sur l’agent afin de faire évoluer certaines de ses
caractéristiques morphologiques. Ces essais sont effectués jusqu’à ce que l’agent atteigne un état parfait ou
que toutes les actions possibles aient été essayées. Tous les agents ont le même cycle de vie leur permettant
de satisfaire les contraintes relatives à leur niveau.
7.4.2.2 Conclusion
Cette plateforme opère à partir de données topographiques et utilise des règles d’évolution pour réaliser des
simulations. Les résultats obtenus peuvent être comparés aux données réelles lorsque les simulations reposent
sur des données historiques, permettant ainsi d’évaluer des hypothèses sur les dynamiques urbaines.
L’utilisation de données topographies comme informations d’entrée du modèle semble particulièrement sé-
duisante car ces informations sont largement répandues et de plus en plus précises. De plus, ces données
peuvent être réactualisées régulièrement pour être réinjectées dans le modèle sans erreur de transcription
grâce à des algorithmes capables de les interpréter automatiquement pour reconstituer tous les éléments
urbains.
Faisant référence à notre hypothèse précédente, nous pourrions très probablement réorienter l’utilisation
originale de cette plateforme pour générer une ville de toute pièce. Toutefois, le modèle GeOpenSim s’attache
à une représentation géométrique de la ville et travaille à un niveau très fin allant jusqu’au bâtiment.
Dans cette thèse, nous devons au contraire nous focaliser en priorité sur les caractéristiques fonctionnelles
de la ville dont le niveau de granularité le plus fin correspond à l’îlot urbain. Et tout comme UrbanSim, GeOpenSim
s’attache essentiellement à deviner une évolution probable d’un espace urbain sans nécessairement
chercher à l’optimiser.
7.4.3 CommunityViz
CommunityViz [284] est un logiciel de planification urbaine proposé par la société placeways17 qui se pré-
sente sous la forme d’un module d’extension (plugin) pouvant s’insérer et étendre les capacités du système
d’information géographique « ArcGIS for Desktop » de la société Esri18. Ce logiciel permet d’accompagner
les acteurs de l’urbain (urbanistes, gestionnaires des ressources naturelles, administrations locales, organismes
d’aménagement métropolitain, entreprises privées, . . . ) en les aidant à simuler le futur d’une ville
ou d’une région. Il permet de créer des plans ou des propositions de développement tout en présentant sur
la zone d’étude les impacts économiques, environnementaux et sociaux. A partir de ces impacts, et en comparant
différentes alternatives, la population est mieux informée et les décisionnaires peuvent prendre des
décisions éclairées en ayant connaissance des conséquences. CommunityViz dispose d’une large gamme de
17http://placeways.com/communityviz/index.html.
18Environmental Systems Research Institute : http://www.esri.com/7.4. TROIS MODÈLES URBAINS PASSÉS AU CRIBLE 123
fonctionnalités pour aider les décisions de localisation, de type et de forme que peut prendre un développement
urbain.
Le logiciel s’adresse à différentes catégories d’acteurs et chacune selon son niveau peut tirer parti de
l’outil. Les membres du public sans connaissance particulière en urbanisme peuvent profiter des visualisations
interactives lors des réunions publiques, ces présentations étant également accessibles sur un site web
dédié. CommunityViz propose des outils faciles à utiliser et accessibles au plus grand nombre pour produire
des analyses de base et des visualisations. Concernant les experts, comme les urbanistes et les professionnels
en systèmes d’information géographique, ils peuvent utiliser le logiciel pour créer des études qui seront
ensuite exploitées par les entreprises privées, les administrations et les audiences publiques. Cette suite logicielle
est composée de deux modules principaux : (i) Scenario 360 qui fournit les outils interactifs d’analyse
et le framework d’aide à la décision et (ii) Scenario 3D qui offre un moyen de créer une information riche
au travers de scènes 3D interactives.
7.4.3.1 Scenario 360
Scenario 360 constitue la pièce centrale de CommunityViz. Elle a été conçue selon les principes suivants :
• créer et envisager des hypothèses selon la formule : « que se passerait-il si . . . ? »,
• évaluer graphiquement les impacts économiques, environnementaux et sociaux des aménagements
proposés (plan d’occupation des sols, investissements dans des infrastructures, . . . ),
• faire des hypothèses pouvant être rapidement remises en cause,
• travailler à l’échelle d’un site, d’un quartier, d’une ville ou d’une région,
• prendre des décisions globales et éclairées,
• se connecter à des outils de visualisation 3D.
Scenario 360 regroupe les fonctionnalités suivantes, en considérant que certains composants travaillent
ensemble (i.e. l’entrée d’un modèle correspond à la sortie d’un autre) :
• « Land Use Designer » : permet de dessiner sur une carte les types d’utilisation du sol (parmi une
liste disponible en standard ou spécifique) et de voir instantanément les impacts correspondants (sociaux,
économiques et environnementaux). Les différents scénarios construits permettent de donner
un sentiment à l’audience sur comment chaque alternative peut affecter le futur de leur communauté ;
• « Build-Out Wizard » : calcule la capacité de développement d’un territoire. Les analyses correspondantes
montrent combien d’immeubles de quel type peuvent être construits sur chaque emplacement
en fonction d’un règlement communautaire donné sur l’utilisation des sols, la densité, le renouvellement
urbain, les hauteurs, etc. Une fonction d’allocation permet de projeter la localisation du développement
au fil du temps ;
• « Suitability Wizard » : permet de calculer automatiquement un score lié à chaque emplacement pour
la localisation des activités (habitation, activité commerciale, activité artisanale, . . . ) selon différents
facteurs de qualité pouvant être pondérés (facteur d’attraction ou de répulsion par rapport à la proximité
d’une route, d’une ligne d’égoût, d’un cours d’eau, une pente, . . . ) ;
• « TimeScope » : permet de voir année après année l’évolution des changements. Calcule où et quand
un nouveau développement apparaîtra en fonction des hypothèses fournies concernant les taux et les
modèles de croissance (par exemple : 3 % de croissance par an, développement prioritaire des espaces
libres proches des routes, . . . ) ;
• des outils pour visualiser de multiples scénarios côte à côte sur une analyse ;
• des outils pour créer facilement des illustrations sur le web à partir d’une analyse pour une représentation
interactive en 2D ou en 3D via Google Earth ;
• des graphiques dynamiques, alertes et autres affichages actualisés en temps réel en fonction des
alternatives et des actions.
Plus globalement, ce module recherche l’efficacité à travers un processus de planification communautaire
axé sur une approche visuelle et collaborative prenant place lors des séances publiques. Il fonctionne124 CHAPITRE 7. MODÉLISATION URBAINE
comme une extension d’ArcMap19 et s’intègre par conséquent dans la suite « ArcGIS for Desktop ». CommunityViz
peut donc exploiter toutes les données géographiques et les plans accessibles ainsi que toutes les
fonctionnalités disponibles de cette suite logicielle.
7.4.3.2 Scenario 3D
Le module Scenario 3D vient accompagner Scenario 360 dans la suite CommunityViz. Scenario 3D permet
de créer des scènes 3D réalistes, interactives et partageables. Il suffit pour cela de spécifier une carte
ArcGIS et de dire comment les fonctionnalités 2D doivent être représentées dans la scène 3D. Lorsqu’on
visualise une scène, on peut alors se déplacer comme si on s’y trouvait, en marchant, en volant et en regardant
autour de soi. On peut également sélectionner un objet en cliquant dessus pour lire des informations
complémentaires où les entendre parler. Les constructions, arbres et routes apparaissent dans les détails de
façon photo-réaliste, en suivant le relief du terrain. Les ombres, lumières et effets de brouillard viennent
renforcer le côté réaliste des lieux : l’idée étant de traduire la sensation qui se dégage de l’endroit que l’on
perçoit.
Scenario 3D est composé de deux parties : un outil d’export et un outil de visualisation 3D. Le module
d’export est une extension d’ArcGIS tandis que l’outil de visualisation est une application indépendante
permettant de visualiser librement les scènes 3D générées. Par rapport à un export Google Earth disponible
dans Scenario 360, le niveau de détail fourni par Scenario 3D est supérieur, tout comme les possibilités de
navigation au sol, les effets disponibles (ombre, lumière, brouillard) ou le nombre de formats 3D supportés.
En contrepartie, le temps de génération nécessaire est plus long et il est préférable de circonscrire la zone
d’étude au quartier ou au site.
7.4.3.3 Conclusion
CommunityViz intègre une large gamme d’outils disponibles pour les urbanistes, les décisionnaires ou le
grand public, y compris des outils de conception automatisés et interactifs.
Néanmoins, pour instruire un projet, cette suite logicielle nécessite l’introduction de données initiales
conséquentes. Cela peut concerner la population existante, les polygones délimitant les parcelles, l’utilisation
des sols, les réseaux de transport, l’environnement naturel, les canalisations (eau, égouts, . . . ), la
fiscalité, l’économie locale, l’ensemble de l’environnement bâti existant, etc. Même si l’intégralité de ces
informations n’est pas obligatoire, ceci représente un travail conséquent et la mobilisation de compétences
spécifiques avant même de pouvoir faire la moindre simulation. D’autre part, cet outil travaille à un niveau
de détail très fin (habituellement la parcelle) et l’aspect géométrique y reste très présent.
Enfin, certaines fonctionnalités automatiques proposées dans CommunityViz reposent sur des techniques
d’optimisation combinatoire (par exemple : pour identifier une combinaison de sites naturels à traiter qui
apportent un maximum de bénéfice par rapport à un budget donné ou d’autres contraintes). Toutefois, ces
techniques sont peu documentées et elles deviennent vite inopérantes dès que le problème atteint une taille
trop importante (i.e. au delà de 500 éléments à prendre en compte).
7.5 Les problèmes de positionnement
Indépendamment des modèles urbains spécialisés que nous avons abordés jusqu’à présent, notre problé-
matique s’apparente plus spécifiquement à un problème de positionnement dans le sens où l’on se pose la
question suivante : « Où allons nous positionner les choses ? » [80, 218].
Les études relatives à la théorie de la localisation remontent à 1909 avec les travaux d’Alfred WEBER
qui cherchait à positionner un unique entrepôt tout en minimisant la distance totale entre son lieu d’implantation
et différents clients. Par la suite, cette théorie s’est développée sans sursaut au gré de quelques
19Module de la suite « ArcGIS for Desktop » capable de représenter les informations géographiques sous forme d’un ensemble
de couches (layers) et les autres informations sous la forme de cartes.7.5. LES PROBLÈMES DE POSITIONNEMENT 125
applications. Il faudra attendre 1964 pour que le sujet suscite à nouveau un regain d’intérêts avec la publication
de S.L. HAKIMI [124] qui s’intéressait au positionnement de centres de commutation dans un réseau
de communications et de postes de police sur un réseau routier.
Les problèmes de localisation peuvent être décrits à partir de quatre composants :
• les clients qui sont supposés être déjà positionnés à des points ou sur des routes ;
• les équipements que l’on cherche à positionner ;
• un espace où sont localisés les clients et les équipements ;
• une métrique qui indique les distances ou le temps entre les clients et les équipements.
Ce sujet correspond à des problèmes d’optimisation très étudiés en recherche opérationnelle compte
tenu des enjeux théoriques et applicatifs qu’ils suscitent et des répercussions que ce type de décision engendrent
[156]. En effet, des choix de positionnement sont fréquemment réalisés à tous les niveaux de
l’organisation humaine, aussi bien au niveau de l’individu qu’au niveau des organisations internationales
en passant par les ménages ou les entreprises. Ils impliquent souvent des ressources conséquentes avec des
impacts économiques et environnementaux importants sur le long terme (pollution, congestion du trafic,
etc.). D’un point de vue scientifique, ces problèmes sont souvent extrêmement difficiles à résoudre, sachant
que même les modèles les plus classiques sont N P-complet et difficilement surmontables pour de
grandes instances. Il a fallu attendre l’avènement d’ordinateurs suffisamment puissants pour susciter l’inté-
rêt de formalisation et d’implémentation de ces modèles de positionnement compte tenu de leur complexité
de calcul. Finalement, ces modèles sont spécifiques à l’application considérée, ce qui rend leur structure
(objectifs, contraintes et variables) particulière au problème étudié. Les décisions relatives aux problèmes
de positionnement font régulièrement intervenir de nombreuses parties prenantes et doivent considérer de
multiples objectifs souvent conflictuels [60].
Le lecteur intéressé pourra se référer au chapitre « Discrete Network Location Models » de J. Current
et al. [60] pour obtenir une description détaillée des modèles classiques de positionnement connus sous les
noms : set covering, maximum covering, p-center, p-dispersion, p-median, fixed charge, hub et maxisum.
Le livre « Facility Location » [90] constitue également une excellente source d’informations sur les
nombreux problèmes de positionnement qu’il aborde.
7.5.1 Cadre général d’un problème de positionnement
Dans le cadre du problème de positionnement d’équipements (Facility Location Problem, FLP), on cherche
à placer un certain nombre d’équipements par rapport à des demandes de façon à optimiser un ou plusieurs
critères, tels que la distance, la satisfaction de la demande ou encore les temps de parcours [199]. Dans
ce contexte, le terme équipement est à prendre au sens large et peut faire référence à des entrepôts, des
hôpitaux, des usines, des écoles, etc.
Ce type de problème soulève trois questions principales :
• quels sont les équipements à positionner : nombre et nature ;
• quels sont les emplacements disponibles : nombre et forme ;
• quels sont les critères à prendre en compte pour positionner chaque équipement sur un emplacement.
Dans la famille des problèmes de positionnement, le problème d’affectation quadratique est un problème
très réputé à la fois pour ses nombreuses applications pratiques et parce qu’il est particulièrement difficile à
résoudre. Nous proposons d’étudier plus spécifiquement ce problème compte tenu de l’intérêt qu’il suscite
et de sa proximité avec notre problématique.
7.5.2 Problème d’affectation quadratique (Quadratic Assignation Problem, QAP)
Le problème d’affectation quadratique est un problème d’optimisation combinatoire introduit pour la première
fois par C. KOOPMANS et M. BECKMANN [155] en 1957. Il s’agit d’un problème N P-difficile qui
n’est pas ρ-approximable quelle que soit la constante ρ choisie [238].126 CHAPITRE 7. MODÉLISATION URBAINE
FIGURE 7.11 – Affectation (assignment) π = (3, 2, 4, 1). D’après R.Z. FARAHANI et al. [90].
FIGURE 7.12 – Publications : proportions des solutions techniques proposées pour les QAP. D’après
R.Z. FARAHANI et al. [90].
7.5.2.1 Modélisation du problème
Ce problème peut être défini ainsi [187] (cf. figure 7.11) : un ensemble de n équipements ("facilities")
communiquant entre eux doivent être positionnés à moindre coût sur n emplacements prédéterminés ("locations").
La distance entre les emplacements k et l est notée dkl et le flux échangé entre les équipements
i et j est noté fij . Le coût d’interaction entre l’équipement i placé sur le site k et l’équipement j placé sur
le site l est considéré comme proportionnel au produit du flux échangé entre les deux équipements (fij )
par la distance entre les deux emplacements (dkl). Le problème consiste à affecter ("assignment") à chaque
emplacement un seul équipement tout en minimisant le coût :
C =
Xn
i=1
Xn
j=1
fij dp(i)p(j) (7.1)
où p(i) représente l’emplacement assigné à l’équipement i.
Pour des questions de simplification, cette modélisation ne prend pas en compte le coût d’implantation
d’un équipement sur un emplacement donné.
7.5.2.2 Résolution par des méthodes de RL
La difficulté de ce problème s’illustre par la faible taille des instances pouvant être résolues de façon exacte.
En effet, au delà d’une taille située aux alentours de 30 équipements, l’explosion combinatoire est telle
qu’une résolution exacte devient illusoire. Face à des instances de taille élevée, il est donc nécessaire de
recourir à une méthode de résolution approchée [187, 53, 90].
La nécessité de disposer de méthodes approchées performantes a incité de nombreux chercheurs à dé-
velopper des solutions métaheuristiques pour s’attaquer à ce problème (voir figure 7.12). En dehors des
algorithmes évolutifs, les méthodes de recherche locale sont celles qui apparaissent dans les travaux les
plus représentatifs.7.5. LES PROBLÈMES DE POSITIONNEMENT 127
TABLE 7.1 – Pourcentages d’erreur des meilleures métaheuristiques appliquées au QAP. RobuTS (Recherche
tabou robuste [263]), ReacTS (Recherche tabou réactive [17]), Rec-Sim (Recuit simulé [54]),
Hybrid-Gen (Algorithme génétique [94]), Hybrid-Ant (Méthode de colonies de fourmis [100]). D’après
T. MAUTOR [187].
Intervalle d’erreur RobuTS ReacTS (avec
22 instances)
Rec-Sim Hybrid-Gen Hybrid-Ant
<0.01% 12 - 1 13 13
0.01% - 0.1% 9 1 4 7 7
0.1% - 1% 12 17 18 15 10
1% - 10% 5 4 13 3 8
≥10% - - 2 - -
Mais avant même d’aborder les résultats obtenus par les meilleures méthodes de recherche locale pour
ce problème, il est primordial d’identifier une structure de voisinage adaptée au problème à traiter.
Structure du voisinage Les méthodes de recherche locale développées pour le problème d’affectation
quadratique utilisent très majoritairement une structure de voisinage très simple, basée sur les 2-échanges
(ou transpositions), c’est à dire toutes les solutions pour lesquelles la seule différence avec la solution courante
consiste à échanger le placement de deux équipements [187]. Selon Thierry MAUTOR, deux raisons
principales justifient le choix de cette structure de voisinage. D’une part, le voisinage est de taille raisonnable
: composé de n(n−1)
2
solutions. D’autre part, la variation du coût occasionnée par un 2-échanges peut
être calculée très rapidement grâce à un calcul incrémental.
Notons :
• p : la solution courante ;
• puv : la solution obtenue à partir de p en échangeant le placement des équipements u et v ;
• 4p(u, v) : la variation de coût occasionnée par l’échange du placement des équipements u et v, on a
4p(u, v) = Cout(puv) − Cout(p),
La variation de coût occasionnée par l’échange de placement des équipements u et v peut être calculée
selon la formule (en considérant des matrices D et F symétriques) :
4p(u, v) = 2 Xn
j=1,j6=u,,j6=v
(fuj − fvj )(dp(v)p(j) − dp(u)p(j)) (7.2)
De plus, lorsqu’un mouvement a été effectué en échangeant le placement des équipements x et y, différents
de u et v, la variation du coût occasionnée par l’échange de placement des équipements u et v
devient :
4pxy (u, v) = 4p(u, v) + 2(fux + fvy − fuy − fvx)(dp(v)p(y) + dp(u)p(x) − dp(u)p(y) − dp(v)p(x)) (7.3)
Avec un voisinage complexe, le coût pour chaque solution voisine devrait être évalué en O(n
2
). Avec un
voisinage en 2-échanges, lors d’une première itération, toutes les solutions voisines de la solution initiale
sont évaluées en O(n) (cf. l’équation 7.2). Ensuite, une fois cette initialisation réalisée, toutes les itérations
suivantes s’effectuent en O(1) en mettant à jour les 4p(u, v) calculés à l’itération précédente (cf. l’équation
7.3). L’évaluation complète d’un voisinage se fait alors en O(n
2
).
Résultats liés aux méthodes de RL Parmi les métaheuristiques existantes, les méthodes de recuit simulé
et de recherche tabou ont été appliquées dès leurs origines aux problèmes d’affectation quadratique. Dès le128 CHAPITRE 7. MODÉLISATION URBAINE
début, les résultats remportés à partir de ces deux méthodes ont très largement surclassé ceux obtenus par
les méthodes utilisées jusque là et basées sur des méthodes gloutonnes ou des procédures de descente. Sur
des problèmes de petite taille (inférieure à 15 équipements), ces nouvelles approches étaient très souvent
capables de trouver la solution optimale [187]. Avec des problèmes de taille plus élevée (inférieure à 50
équipements), il a été confirmé depuis, grâce aux progrès réalisés par les méthodes complètes, que les
résultats obtenus étaient capables de converger la plupart du temps vers la valeur optimale supposée. Pour
des problèmes de plus grande taille (comprise entre 50 et 150 équipements), les solutions optimales restent
encore inconnues et les approches métaheuristiques continuent de se mesurer entre elles pour améliorer les
meilleurs résultats connus.
Malgré leur ancienneté, les méthodes tabou proposées par TAILLARD [263] (recherche tabou robuste,
1991) ou par BATTITI et TECCHIOLLI [17] (recherche tabou réactive, 1994) sont très robustes et restent
des références difficiles à surclasser pour le problème d’affectation quadratique. Néanmoins, si on compare
entre elles les meilleures métaheuristiques appliquées à QAP (recuit simulé, recherche tabou, GRASP, mé-
thodes de colonies de fourmis, . . . ), on constate qu’elles obtiennent des résultats presque similaires et très
proches des meilleures solutions connues (cf. table 7.1).
7.6 Conclusion
« Le monde de la recherche en urbanisme et en aménagement s’attelle depuis plusieurs années à une tâche
complexe, voire à une gageure, fondée sur des savoirs interdisciplinaires à mobiliser et à intégrer dans
l’outillage technique des sciences humaines : la modélisation de la ville » [7].
En effet, cette tâche nécessite la mobilisation d’équipes pluridisciplinaires importantes qui doivent travailler
en collaboration étroite compte tenu du large spectre de connaissances et d’expertises requis pour
aboutir à un résultat opérationnel.
Les projets actuels liés aux problématiques de la modélisation urbaine s’intéressent plus particulièrement
aux évolutions permanentes qui s’opèrent dans les villes au niveau du temps et de l’espace. On parle
ainsi de modèle "dynamique". Cette approche très répandue nécessite une quantité importante de données
historiques en amont pour alimenter les modèles ainsi que la mise en place de règles énoncées par des
experts du domaine. Malgré la pertinence de ces modèles et les efforts consentis, nous devons néanmoins
rester vigilants par rapport à cette ambition car de nombreux projets architecturaux ou liés à des politiques
de la ville et du transport se sont soldés par un échec [7].
D’après le philosophe Maurice BLONDEL, « L’avenir ne se prévoit pas, il se prépare ». Or, pour Gaston
BERGER, « L’avenir n’est pas seulement ce qui peut arriver ou ce qui a le plus de chances de se produire.
Il est aussi, dans une proportion qui ne cesse de croître, ce que nous aurons voulu qu’il fût » [122].
Bien que notre problématique se situe à un stade précoce du processus de modélisation des villes, notre
approche s’inscrit clairement dans une démarche volontariste. C’est pour cela que nous proposons, dans nos
contributions, un modèle urbain durable basé sur des contraintes, composées essentiellement de préférences
qui garantiront un équilibre entre les enjeux sociaux, environnementaux et économiques. Ensuite, nous
proposons de résoudre le problème en cherchant parmi les solutions admissibles, la meilleure solution
possible. Dans ce sens, notre façon d’aborder le sujet par l’optimisation vient compléter les approches
classiques qui cherchent à prévoir ce qui a le plus de chances de se produire : notre objectif étant plutôt
de trouver le meilleur avenir possible. Et comme la modélisation n’est qu’une représentation simplifiée du
monde, nous permettons aux décideurs d’intervenir sur le résultat des simulations pour améliorer ce qui
peut l’être et prendre en compte les impératifs du moment ou les notions difficilement modélisables. Une
rétroaction entre l’homme et la machine peut alors se mettre en marche.III
Contributions
1298
Modèle
8.1 Introduction
La pré-programmation permet aux décideurs et aux parties prenantes (aménageurs, urbanistes, habitants,
. . . ) de se mettre d’accord sur les grandes lignes d’un projet urbain préliminaire avant d’engager des études
importantes, longues et coûteuses. Pour modéliser notre problème, nous allons commencer par décrire le
modèle urbain de pré-programmation durable tel qu’il a été spécifié par les urbanistes et les architectes
au fil de nos échanges. Dans cette première étape, l’enjeu consiste à relever et à expliquer les notions
fondamentales que nous avons décidé d’exploiter. Face à la complexité de l’organisation d’un espace urbain,
un travail conséquent a dû être réalisé en collaboration avec les spécialistes de la ville pour comprendre cette
complexité et en extraire les éléments significatifs.
Dans une seconde étape, nous décrivons le modèle de contrainte pour notre problème d’aménagement
urbain. Il s’agit d’un problème particulier de positionnement de formes urbaines sur un territoire pour
constituer une ville cohérente. Bien que l’on puisse faire des analogies avec des problèmes de positionnement
classiques comme le problème d’affectation quadratique, notre problème est constitué de nombreuses
contraintes spécifiques liées à l’aménagement urbain.
Ces différentes contraintes sont essentielles car elles permettent de décrire les règles qui régissent une
pré-programmation urbaine. Elles participent individuellement ou collectivement à la lutte contre l’étalement
urbain, la viabilité économique, la mixité fonctionnelle, le bien être des habitants, etc. Compte tenu
de leur importance, nous proposons pour chaque contrainte une description générale et une description
formelle accompagnées d’une représentation schématique pour illustrer chaque situation.
8.2 Modèle urbain de pré-programmation durable
La pré-programmation urbaine consiste d’abord à sélectionner le nombre et la nature de toutes les formes
urbaines1
composant la ville puis à les organiser spatialement, en prenant en compte les aspects environnementaux,
sociaux et économiques propres au développement durable (étalement urbain, mixité fonctionnelle,
mobilité, énergies, . . . ).
Plusieurs paramètres importants doivent être contrôlés : la densité de la population, les contraintes liées
au territoire à aménager et le taux d’emploi. Le taux d’emploi est calculé en divisant le nombre d’emplois
1La forme urbaine correspond à l’utilisation qui est faite de l’espace ou du bâti sur chaque îlot urbain (habitat, commerce,
. . . ), à ne pas confondre à la forme que peut prendre une ville entière (par exemple, forme radioconcentrique).
131132 CHAPITRE 8. MODÈLE
FIGURE 8.1 – Formes urbaines réparties automatiquement sur la zone expérimentale de la ville de Marnela-Vallée,
en prenant en compte les contraintes d’un développement urbain durable exprimées par les urbanistes.
D’après les travaux du projet SUSTAINS - schéma fourni par le LIMSI (Laboratoire d’informatique
pour la mécanique et les sciences de l’ingénieur).
par le nombre de personnes en âge de travailler et vivant dans la zone d’étude. Un taux d’emploi proche
de "1" correspond à une situation idéale où chaque résident peut accéder à un travail tout en vivant dans
la zone, minimisant ainsi les déplacements. Un taux d’emploi éloigné de "1" a des conséquences graves,
induisant un trafic important pour entrer et sortir de la ville.
8.2.1 Modèle urbain
En urbanisme, « la modélisation consiste à simplifier la réalité du monde pour mieux comprendre comment
les décisions et les événements interagissent les uns avec les autres. Elle permet alors de tester des solutions
susceptibles d’influencer ou d’orienter les décisions politiques et les stratégies pouvant conduire à un futur
souhaitable » [8]. Dans cette thèse, le modèle urbain proposé par les urbanistes repose sur les notions
essentielles représentées par les îlots, les centralités, les formes urbaines et les intensités, et il intègre, dans
une démarche systémique, les contraintes urbaines majeures liées à un développement urbain durable.
8.2.1.1 Îlot
L’îlot urbain dont les contours sont définis par les routes est le niveau de granularité le plus fin sélectionné
par les urbanistes. Sa dimension est fixée de façon à ce qu’un habitant puisse facilement en faire le tour à
pied. Les îlots sont représentés dans un quadrillage orthogonal avec une dimension de 80 mètres de côté. Il
est supposé que chaque îlot est associé à une seule forme urbaine (habitat, industrie, commerce, école, etc).
8.2.1.2 Centralité
Une notion très importante pour les urbanistes concerne la centralité : une place structurante (ou lieu central)
composée de quatre îlots tout au plus qui donne son nom au quartier. La centralité apparaît comme une
propriété fondamentale qui participe à la formation des agglomérations urbaines. La valorisation du capital
économique, social et symbolique accumulé localement suscite des investissements visant à renforcer l’accessibilité
du lieu central, au fur et à mesure de sa croissance, par rapport aux lieux avec lesquels il est en
concurrence. Et ce surcroît d’accessibilité rend le lieu encore plus attractif pour de nouvelles activités. Le8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 133
sentiment d’appartenir à un quartier coïncide avec la zone d’influence du lieu central, estimée à 300 mètres
de rayon.
8.2.1.3 Forme urbaine
Dans notre contexte, la forme urbaine correspond à un type d’utilisation dominant qui est fait de l’espace
ou du bâti pour un îlot complet. Néanmoins, une forme urbaine dite dominante peut tout à fait intégrer dans
sa déclaration une certaine mixité fonctionnelle (proportion d’habitat, de commerce, etc.). Vingt huit formes
urbaines ont été retenues (correspondant à quatre groupes : habitat, activité économique, infrastructure et
élément fixe) :
• maison individuelle ;
• maison de ville ;
• habitat intermédiaire ;
• habitat collectif (R+4)2
;
• habitat collectif (R+7)2
;
• bureau, petit immeuble (R+4)2
;
• bureau, grand immeuble (R+7)2
;
• parc d’entreprises ;
• industrie ;
• commerce et service de centre ville ;
• hypermarché
• école maternelle et élémentaire ;
• collège ;
• lycée ;
• équipement administratif ;
• équipement technique ;
• équipement sportif ;
• espace vert ;
• espace de respiration ;
• rivière ;
• route résidentielle ;
• route intermédiaire ;
• avenue ;
• terrain accidenté ;
• espace naturel ;
• voie préexistante ;
• voie de chemin de fer ;
• zone inconstructible ;
8.2.1.4 Intensité
L’intensité représente une échelle de mesure liée au niveau de densité de la population sur une zone donnée.
Elle permet également de traduire le niveau d’activité ou d’animation d’une région. Une intensité urbaine
élevée correspond à un quartier vivant, dense, mixte et pour lequel la marche à pied est le moyen de dé-
placement le plus simple pour accéder à toutes les fonctions urbaines essentielles. On retrouve ce niveau
d’intensité urbaine au centre ville tandis qu’une intensité urbaine faible est plutôt liée à un quartier à dominante
pavillonnaire. Six niveaux d’intensité sont définis allant de « 1 » pour l’intensité la plus faible à « 6 »
pour la plus élevée.
8.3 Modèle de contrainte pour le problème d’aménagement urbain
Pour un territoire donné, le modèle urbain nous fournit le nombre de formes urbaines de chaque type,
pour chaque niveau d’intensité. L’objectif consiste alors à répartir spatialement les formes urbaines sur
l’ensemble du territoire. Nous identifions ce problème comme un problème d’aménagement urbain.
Notre première tâche consiste à fournir une formalisation des contraintes et des préférences relatives
aux propriétés d’une ville durable. Les urbanistes expriment naturellement les interactions entre différentes
formes urbaines comme des préférences de positionnement au lieu de contraintes dures (par exemple, les
industries souhaitent être à proximité d’une voie ferrée ou d’un axe routier, mais elles préfèrent rester
éloignées des écoles ou des habitations). Nous exprimons donc ces préférences dans des fonctions de coût
et représentons le problème comme un problème d’optimisation combinatoire. Mais il y a également des
contraintes dures qui restreignent strictement les positions de certaines formes urbaines (Par exemple, on ne
2
(R+"x") signifie : rez-de-chaussée + "x" étages.134 CHAPITRE 8. MODÈLE
peut pas placer une maison individuelle, associée à une intensité urbaine très faible, en plein centre urbain
lié à une intensité urbaine très forte).
En fin de compte, notre problème englobe un grand nombre de contraintes, certaines étant très spéci-
fiques. Nous distinguons dans notre présentation les plus importantes, les contraintes générales qui s’appliquent
à toutes les variables, et les contraintes spécifiques qui s’appliquent uniquement à certaines zones
ou à certaines formes urbaines. Dans la suite, nous détaillons l’ensemble des fonctions de coûts et des
contraintes retenues pour modéliser notre problème d’aménagement urbain.
8.3.1 Représentation de la ville par une grille
Nous représentons la ville par une grille régulière où chaque cellule correspond à un îlot urbain. L’objectif
consiste à affecter à chaque cellule de la grille une forme urbaine parmi les formes possibles.
Certaines cellules spécifiques sont associées à des éléments fixes (routes, zones non constructibles, etc.).
Elles sont donc considérées comme non libres et ne sont pas prises en considération. Pourtant, elles sont
conservées sur la carte car elles peuvent interférer avec les autres formes urbaines. De plus, chaque cellule
est affectée à un niveau d’intensité spécifié manuellement par les urbanistes (au tout début du processus de
conception). Ceci permet par exemple de représenter les centralités sur la carte (zones commerciales, places
animées, etc.).
Par souci de simplicité, la grille est vue comme une matrice rectangulaire de cellules de taille (x × y),
mais cette représentation est plus symbolique que géométrique, dans la mesure où c’est le voisinage qui est
important et le placement relatif des formes urbaines, pas la géométrie rectangulaire.
Chaque cellule correspond à une variable dont la valeur est sélectionnée parmi toutes les formes urbaines.
Nous notons Vl,c la variable correspondant à la cellule en ligne l, colonne c. Les formes urbaines
sont encodées avec les valeurs entières suivantes :
0. non défini ;
1. maison individuelle ;
2. maison de ville ;
3. habitat intermédiaire ;
4. habitat collectif (R+4) ;
5. habitat collectif (R+7) ;
6. bureau, petit immeuble (R+4) ;
7. bureau, grand immeuble (R+7) ;
8. parc d’entreprises ;
9. industrie ;
10. commerce et service de centre ville ;
11. hypermarché
12. école maternelle et élémentaire ;
13. collège ;
14. lycée ;
15. équipement administratif ;
16. équipement technique ;
17. équipement sportif ;
18. espace vert ;
19. espace de respiration ;
20. rivière ;
21. route résidentielle ;
22. route intermédiaire ;
23. avenue ;
24. terrain accidenté ;
25. espace naturel ;
26. voie préexistante ;
27. voie de chemin de fer ;
28. zone inconstructible ;
Dans notre modèle, on s’intéresse à un problème d’optimisation sous contraintes où certaines contraintes
sont traduites en fonctions de coût alors que d’autres restreignent les affectations possibles lors de la résolution.
Lorsqu’une forme urbaine est assignée à une cellule, un coût pour cette cellule peut être calculé à
partir de chaque contrainte applicable. La somme de ces coûts permet d’obtenir un coût total pour la cellule
en question. L’objectif consiste à minimiser la somme des coûts sur l’ensemble des cellules, le coût global
étant noté Cost. On cherche alors à déterminer pour chaque cellule la forme urbaine Vl,c qui permet de
minimiser le coût global Cost issu du coût de chaque cellule Vl,c pour chaque contrainte ct applicable :
Cost =
Xx−1
l=0
X
y−1
c=0
Xz
ct=1
(wct ∗ Costct (Vl,c)) (8.1)8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 135
FIGURE 8.2 – Illustration de la distance de Tchebychev à partir de la cellule marquée par un « O » et
positionnée en ligne 3, colonne 3 : chaque colonne est repérée par sa distance (allant de 1 à 4) par rapport à
la cellule « O ».
où : z correspond au nombre de contraintes définies et wct au poids associé à chaque contrainte ct.
Par rapport à notre modèle, abordons dès à présent l’ensemble des notations générales, en lien avec la
représentation en grille, qui seront reprises par la suite dans la définition des contraintes.
8.3.1.1 Distance de Tchebychev
Pour certaines contraintes, nous utilisons la distance de Tchebychev (cf. figure 8.2) qui s’exprime en nombre
de cellules. Soit deux cellules Vi,j et Vk,l, la distance de Tchebychev séparant les cellules Vi,j et Vk,l est :
Dtch(Vi,j , Vk,l) = max (|k − i| , |l − j|) (8.2)
8.3.1.2 Distance de Manhattan
Pour d’autres contraintes, nous utilisons la distance de Manhattan (cf. figure 8.3) correspondant à la distance
parcourue en empruntant les rues agencées selon un quadrillage (en référence à la structure des villes
américaines, typiquement le quartier de Manhattan à New York). Soit deux cellules Vi,j et Vk,l, la distance
de Manhattan séparant les cellules Vi,j et Vk,l est :
Dman(Vi,j , Vk,l) = |k − i| + |l − j| (8.3)
8.3.1.3 Voisinage
Pour la variable Vl,c, son voisinage3
(cf. figure 8.4) correspond à l’ensemble noté V
d
l,c défini comme étant :
V
d
l,c = {Vi,j , i ∈ [l − d, l + d] , j ∈ [c − d, c + d]} \{Vl,c} (8.4)
3On parle ici des cellules voisines sur la grille dans le sens géométrique du terme, à ne pas confondre avec la notion de
voisinage exploitée par les algorithmes de recherche locale.136 CHAPITRE 8. MODÈLE
FIGURE 8.3 – Illustration de la distance de Manhattan à parcourir entre le point de départ « D » et le point
d’arrivée « A ».
où : d est un paramètre contrôlant la taille du voisinage. Cela correspond au voisinage de MOORE mais
privé de son centre, c’est à dire un ensemble de cellules délimité par une distance de Tchebychev non nulle
à partir de la cellule Vl,c.
8.3.1.4 Anneau de voisinage
Il nous arrivera également de considérer l’ensemble des cellules positionnées sur l’anneau de voisinage (cf.
figure 8.5) situé à la périphérique de V
d
l,c noté V¯d
l,c tel que :
V¯d
l,c = {Vi,j ,(|i − l| = d) ∨ (|j − c| = d)} (8.5)
8.3.1.5 Filtrage d’un ensemble de cellules relatives à une forme urbaine
Par rapport à un ensemble de cellules donné, on veut déterminer le sous-ensemble de ces cellules qui sont
affectées à une forme urbaine particulière.
Soit V un ensemble de cellules et f une forme urbaine donnée, VBf est l’ensemble des éléments Vl,c de
V tel que Vl,c = f.
8.3.1.6 Filtrage d’un ensemble de formes urbaines relatives à un ensemble de cellules
Cette fois, on dispose d’un ensemble de formes urbaines et on veut déterminer le sous-ensemble de ces
formes urbaines qui sont affectées à un ensemble de cellules donné.
Soit F un ensemble de formes urbaines et V un ensemble de cellules, la notation FBV retourne les
formes urbaines de F ayant une correspondance dans V. Par exemple, si F = {10, 12, 13, 14, 17, 18} et
V = {V1 = 6, V2 = 18, V3 = 18, V4 = 12}, alors FBV = {12, 18}.
8.3.2 Contraintes générales
Les contraintes générales s’appliquent à toutes les formes urbaines sur la totalité de la grille. Elles permettent
de définir une organisation générale de la ville qui sera raffinée par des contraintes plus spécifiques.8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 137
FIGURE 8.4 – (V
2
3,3
) représente le voisinage de la cellule marquée par un « O » et positionnée en ligne 3,
colonne 3 pour une taille de voisinage = 2 : le voisinage est constitué de toutes les cellules marquées par un
« 1 » et un « 2 ».
8.3.2.1 Cardinalité liée à chaque forme urbaine
Selon certaines caractéristiques de la ville à créer (nombre d’habitants, taille, taux d’emploi, etc.), les urbanistes
sont en mesure de déterminer le nombre d’occurrences de chaque forme urbaine devant apparaître
dans la ville : par exemple, une ville importante doit avoir une certaine surface de parcs, une certaines surface
d’industries, etc. Pour chaque forme urbaine, on a donc une contrainte de cardinalité sur l’ensemble
des îlots.
8.3.2.2 Correspondance des niveaux d’intensité
Le modèle urbain fournit un niveau d’intensité donné pour chaque forme urbaine, et un niveau d’intensité
pour chaque cellule de la grille. Sur la base de ces éléments, chaque assignation d’une forme urbaine à une
cellule doit respecter la correspondance d’intensité entre les formes urbaines et les cellules. Les différents
niveaux d’intensité sont définis par l’utilisateur sur la carte. Il s’agit d’une contrainte unaire.
8.3.2.3 Interactions entre formes urbaines
Chaque forme urbaine a des préférences de placement en fonction de sa nature. Par exemple, les unités
scolaires sont attirées par les unités résidentielles, et les unités résidentielles sont repoussées par les unités
industrielles [121]. Nous modélisons ces préférences par une fonction spécifiant l’attraction (ou inversement
la répulsion) de chaque forme urbaine pour une autre forme urbaine. Entre deux formes urbaines, les valeurs
d’interaction possibles sont :
• 0 : double attraction,
• 10 : simple attraction,
• 20 : neutre,
• 50 : simple répulsion,
• 100 : double répulsion.
La valeur d’interaction diminue avec l’augmentation de la distance entre deux cellules (cf. figure 8.6).
Les préférences d’interaction sont exprimées comme une fonction de coût. Nous notons Ω
I
la matrice138 CHAPITRE 8. MODÈLE
FIGURE 8.5 – (V¯2
3,3
) représente l’anneau de voisinage de la cellule marquée par un « O » et positionnée en
ligne 3, colonne 3 pour une taille de voisinage = 2 : l’anneau est constitué de toutes les cellules marquées
par un « 2 ».
d’interaction, qui est une entrée du système. Ω
I
p,q est la valeur d’interaction entre la forme urbaine p et la
forme urbaine q. Cette matrice est asymétrique, on peut donc avoir Ω
I
p,q 6= ΩI
q,p.
Pour une forme urbaine positionnée sur la cellule Vl,c, le coût d’interaction dépend uniquement de son
voisinage et de l’influence de la distance avec ses cellules voisines. Finalement, pour une cellule Vl,c, la
fonction de coût relative à notre contrainte est :
Cost1 (Vl,c) = X
δ1
d=1
P
v∈V¯d
l,c
Ω
I
Vl,c,v
V¯d
l,c
∗ d
2
(8.6)
où : δ1 est la distance d’interaction maximale (dans la suite, δ1 est fixé à « 3 ») à considérer entre deux formes
urbaines. Le coût de la cellule Vl,c intègre les contributions de tous les anneaux compris à la distance d de
Vl,c, mais ces contributions diminuent au fur et à mesure que d augmente. Pour un anneau, les contributions
moyennes des cellules (situées sur l’anneau) sont divisées par un facteur de correction égale à d
2
, afin
d’obtenir un effet similaire à l’attraction en physique (cf. les modèles d’interaction spatiale et les modèles
gravitaires 7.1.3).
Comme indiqué sur le graphique situé à droite dans la figure 8.6, les cellules en bordure de grille,
notamment dans les coins, ont un voisinage limité par rapport aux cellules éloignées des bords. Pour prendre
en compte cette variation de taille du voisinage, l’équation 8.6 prend en compte le nombre de cellules
présentes dans chaque anneau pour définir une moyenne des interactions de la cellule concernée avec ses
cellules voisines.
8.3.3 Contraintes spécifiques
Afin de renforcer les aspects durables de notre modèle, nous ajoutons des contraintes plus spécifiques visant
à améliorer l’équité sociale, la préservation de l’environnement et la viabilité économique.8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 139
FIGURE 8.6 – Contrainte d’interaction entre formes urbaines permettant d’exprimer les préférences de
positionnement des formes urbaines les unes par rapport aux autres. Chaque cellule est en interaction avec
ses cellules voisines dans un voisinage limité à une taille de 3 cellules. La force d’interaction entre deux
cellules diminue avec l’augmentation de la distance qui les sépare.
Interaction avec un voisinage complet Interaction avec un voisinage réduit
8.3.3.1 Distance minimale de séparation
Cette contrainte spécifie que certaines formes urbaines doivent être éloignées les unes des autres d’une
distance minimale, la distance étant exprimée en nombre de cellules (cf. figure 8.7). Par exemple, entre
une maison individuelle (no 1) et un immeuble tertiaire R+7 (no 7), il faut respecter une distance d’au moins
« 4 » cellules (i.e. trois cellules de séparation). Pour cette contrainte, nous utilisons la distance de Tchebychev
pertinente pour contrôler la proximité de formes urbaines dans un voisinage donné.
Nous notons Ω
D la matrice de distance, avec Ω
D
p,q la distance minimum autorisée entre la forme urbaine
p et la forme urbaine q. Cette matrice est symétrique. Par convention, Ω
D
p,q = 0 lorsqu’il n’y a pas de
contrainte de distance particulière entre p et q. Pour une forme urbaine Vl,c localisée en (l, c), la fonction de
coût liée à notre contrainte devient :
Cost2 (Vl,c) = X
v∈V3
l,c
max
Ω
D
Vl,c,v − Dtch(Vl,c, v), 0
(8.7)
Nota : On travaille ici avec une taille de voisinage limitée à « 3 » cellules car la distance minimale la
plus importante relevée dans notre matrice de distance est égale à « 4 ». Donc au delà de cette limite de
voisinage, il n’y a jamais de pénalité.
8.3.3.2 Regroupement
Les zones industrielles ou artisanales doivent atteindre une taille critique pour que leur construction soit
économiquement viable, c’est à dire un regroupement minimum de la même forme urbaine localisée dans
une même région, autrement la zone ne sera pas créée en pratique. Pour d’autres formes urbaines, en plus
d’une taille critique à atteindre, on doit limiter le regroupement à une taille maximale pour favoriser leur
répartition sur le territoire et indirectement leur accessibilité. C’est le cas des lycées et des hypermarchés.
Les paramètres de regroupement sont déterminés par les concepteurs urbains pour chaque forme urbaine
concernée par un regroupement (voir par exemple la table 8.1). D’un autre côté, bien que cela ne soit pas explicitement
exprimé par les concepteurs, la zone considérée doit avoir une structure suffisamment compacte140 CHAPITRE 8. MODÈLE
FIGURE 8.7 – Contrainte de distance minimale de séparation entre formes urbaines.
TABLE 8.1 – Paramètres des contraintes de regroupement par forme urbaine.
Forme urbaine Nombre
minimum d’îlots
Nombre
maximum d’îlots
Proportion d’îlots
voisins identiques
Artisanat 8 - 80 %
Industrie 42 - 80 %
Hypermarché 4 6 0 %
Lycée 2 2 0 %
pour le regroupement de certaines formes urbaines. Intuitivement, on peut penser qu’un regroupement sous
la forme d’un cercle est préférable à une ligne ou un rectangle plat. Pour ces formes urbaines, on pénalise
alors les cellules qui appartiennent à un groupe trop petit ou pas assez compact. On considère également
qu’un même groupe peut enjamber des éléments fixes positionnés sur le territoire comme une rivière, une
route ou un terrain accidenté, à condition toutefois que cette séparation ne soit pas supérieure à un îlot.
Soit les éléments suivants donnés en entrée du système :
• Freg l’ensemble des formes urbaines à regrouper, et f une forme urbaine appartenant à cet ensemble ;
• Sizef
min la taille minimale pour un groupe de f ;
• Sizef
max la taille maximale pour un groupe de f ;
• Coeff
struct le coefficient de structure pour un groupe de f avec 0 < Coeff
struct ≤ 1. Ce coefficient permet
de calculer la proportion, pour une cellule donnée, de ses cellules voisines devant appartenir au même
groupe (i.e. ayant la même forme urbaine). Il influence la structure géométrique des groupes : plus sa
valeur est proche de « 1 », plus la structure du groupe généré sera compacte ;
• Fcont l’ensemble des formes urbaines de continuité pouvant occuper une cellule à l’intérieur d’un
groupe sans provoquer la scission du groupe correspondant. Fcont est composé des formes urbaines
suivantes :
– rivière ;
– route (résidentielle, intermédiaire, avenue) ;
– terrain accidenté ;
– espace naturel ;
– voie préexistante ;8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 141
FIGURE 8.8 – Contraintes de regroupement d’une forme urbaine.
– voie de chemin de fer ;
– zone inconstructible ;
On note G
f
l,c le groupe de cellules associé à Vl,c avec f = Vl,c tel que :
G
f
l,c =
∅ Si Vl,c 6= f
Vl,c Si Vl,c = f
∀ Vl
0
,c0 ∈ V1
l,c, Gf
l
0
,c0 Si
Vl
0
,c0 ∈/ G
f
l,c
∧ ((Vl
0
,c0 = f) ∨ ((Vl
0
,c0 ∈ Fcont) ∧ (Vl,c = f)))
(8.8)
On note Cl,c le coût associé au groupe G
f
l,c tel que :
Cl,c =
SizeVl,c
min −
G
Vl,c
l,c
Si SizeVl,c
min >
G
Vl,c
l,c
G
Vl,c
l,c
− SizeVl,c
max
Si SizeVl,c
max <
G
Vl,c
l,c
0 Sinon
(8.9)
Le coût de regroupement associé à la variable Vl,c peut alors s’écrire :
Cost3 (Vl,c) =
max CoefVl,c
struct ∗
V
1
l,c
−
V
1
l,cBVl,c
, 0
+ Cl,c Si Vl,c ∈ Freg
0 Sinon
(8.10)
8.3.3.3 Accessibilité
Cette contrainte concerne uniquement la forme urbaine : espaces de respiration. Elle spécifie qu’en tout
point habité de la ville, on doit pouvoir accéder à un espace de respiration en moins de quinze minutes à
pied. Pour un piéton se déplaçant à une vitesse moyenne de 5 km/h, ce temps lui permet de parcourir une
distance d’environ 1,25 km, équivalente à la longueur de 15 cellules mises bout à bout.
Nous proposons deux versions complémentaires de cette contrainte. La première version dite « contrainte
d’accessibilité globale » pénalise les cellules habitées et non couvertes proportionnellement au dépassement142 CHAPITRE 8. MODÈLE
FIGURE 8.9 – Contrainte d’accessibilité globale avec une distance de couverture limitée à 4 cellules (en
distance de Manhattan) : coût imputé sur chaque cellule habitée et non couverte par un espace de respiration.
Dans cet exemple, la cellule marquée « ER » correspond à la seule cellule occupée par un espace de
respiration.
de leur distance autorisée à n’importe quel espace de respiration. La seconde version intitulée « contrainte
d’accessibilité locale » pénalise uniformément les cellules habitées et non couvertes par un espace de respiration.
La version globale est plus appropriée que la version locale si le nombre d’espaces de respiration à
répartir sur la ville est insuffisant pour couvrir la grille entière, mais son temps de calcul est lié à la taille de
la grille et peut donc devenir conséquent. En revanche, la version locale peut être calculée beaucoup plus
rapidement dans un espace limité autour de chaque cellule habitée et elle est pertinente si le modèle urbain
fournit suffisamment d’espaces de respiration pour couvrir toute la zone à développer.
Contrainte d’accessibilité globale À ce niveau, on mesure à quel point la contrainte est violée en quantifiant
la violation au lieu de simplement l’observer. La distance entre cellules est mesurée en distance de
Manhattan, pertinente pour un déplacement piétonnier en ville.
Les coûts correspondants liés à chaque cellule habitée sont illustrés sur la figure 8.9, en supposant qu’il
n’y ait qu’un seul espace de respiration (repéré par « ER ») dans la grille, que toutes les autres cellules sont
habitées et que la distance de couverture d’un espace de respiration, au dessous de laquelle il n’y a pas de
coût, soit fixée avec une distance de Manhattan δ2 = 4 (au lieu de 15 normalement, ceci pour simplifier la
représentation).
La fonction de coût associée à cette contrainte correspond alors à la somme de toutes les violations
pour toutes les cellules habitées. Pour la calculer, il est nécessaire de connaître les positions des espaces de
respiration dans la configuration courante, que l’on note ER1, . . . , ERm (en supposant qu’il y ait m espaces
de respiration). ER1 = (l, c) signifie que le premier espace de respiration correspond à la variable Vl,c. On
note Fhab = {1, 2, 3, 4, 5}, l’ensemble représentant les habitations et correspondant aux formes urbaines
suivantes :
• 1 maison individuelle ;
• 2 maison de ville ;
• 3 habitat intermédiaire ;
• 4 habitat collectif (R+4) ;
• 5 habitat collectif (R+7) ;8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 143
La fonction de coût associée à une cellule Vl,c pour la contrainte d’accessibilité globale vaut :
Cost4 (Vl,c) =
min(1≤α≤m) (max (Dman(Vl,c, ERα) − δ2, 0)) Si Vl,c ∈ Fhab
0 Sinon
(8.11)
où :
• m est le nombre d’espaces de respiration ;
• δ2 est une constante indiquant le nombre maximum d’îlots à parcourir à pied (distance de Manhattan)
pour accéder à un espace de respiration ;
• Fhab est l’ensemble représentant les habitations.
Contrainte d’accessibilité locale Dans cette version, on s’intéresse aux cellules habitées qui ne sont
couvertes par aucun espace de respiration. Contrairement à la contrainte d’accessibilité globale, on observe
simplement les violations sans les quantifier. Dès lors, tous les îlots habités sont pénalisés de la même
manière dès qu’ils ne sont pas couverts par un espace de respiration, que l’espace de respiration le plus
proche soit éloigné ou très éloigné.
Bien que la distance de Manhattan soit idéale pour mesurer le parcours d’un piéton en ville, on fait le
choix de travailler ici en distance de Tchebychev pour les raisons suivantes :
• on ne cherche pas à quantifier les violations ;
• on travaille à une échelle locale réduite autour de chaque espace de respiration ;
• le nombre d’espace de respiration est suffisant pour couvrir la ville entière (hypothèse de départ pour
que cette version soit pertinente) ;
• la distance de Tchebychev nous permet d’exploiter directement le voisinage V
d
l,c pour une distance d
égale à la distance de couverture imposée pour chaque espace de respiration (voir l’équation 8.12).
Profitons de cette argumentation sur le choix d’une unité de distance pour revenir aux origines de cette
version locale et nous permettre une petite intrusion technique. La contrainte d’accessibilité locale est une
version volontairement « dégradée » qui a été conçue pour améliorer les performances de la version globale
plus élaborée et permettre ainsi un passage à l’échelle. Lors des premières expérimentations, nous avons
en effet constaté qu’à partir d’une taille de grille 64 × 64, la version globale devenait trop pénalisante
en temps de réponse pour pouvoir être utilisée dans un contexte interactif. D’un point de vue purement
opérationnel et technique, l’utilisation du voisinage (représenté par V
d
l,c) permettait de réutiliser (i) des
procédés (algorithmes) et (ii) des données calculées par ailleurs et directement disponibles en cache (cf.
section 9.3.1).
Pour un espace de respiration repéré aux coordonnées (l, c), sa zone de couverture correspond au voisinage
V
δ3
l,c, avec δ3 correspondant à la distance de couverture retenue exprimée en distance de Tchebychev.
Contrairement à la version globale, on récupère ici le voisinage de couverture associée à chaque espace de
respiration et on cumule, au niveau de chaque cellule habitée, le nombre d’espaces de respiration qui les
recouvrent. Cette notion est illustrée dans la figure 8.10, en supposant qu’il y ait deux espaces de respiration
(repérés par ER1 et ER2) dans la grille, que toutes les autres cellules soient habitées et que δ3 = 4.
Les cellules de la grille qui contiennent le chiffre « 1 » sont couvertes par ER1 ou ER2, celles qui
contiennent le chiffre « 2 » sont couvertes à la fois par ER1 et ER2. Seul le nombre de cellules habitées non
couvertes, c’est à dire celles identifiées par le chiffre « 0 », sont comptabilisées pour déterminer le coût d’une
configuration. La fonction de coût associée à cette contrainte correspond alors au nombre total de cellules
habitées non couvertes. Pour la calculer, il est nécessaire, comme pour la version globale, de connaître les
positions des espaces de respiration dans la configuration courante, que l’on notera de la même manière. La
fonction de coût associée à la contrainte d’accessibilité locale pour la variable Vl,c est :144 CHAPITRE 8. MODÈLE
FIGURE 8.10 – Contrainte d’accessibilité locale avec une distance de couverture limitée à 4 cellules (distance
de Tchebychev) : on indique le nombre d’espaces de respiration qui couvrent chaque cellule habitée.
Dans cet exemple, les cellules marquées « ER1 » et « ER2 » correspondent aux cellules occupées par un espace
de respiration. Les cellules habitées marquées avec le chiffre « 0 » sont les cellules qui vont alimenter
la fonction de coût (pénalité pour chaque cellule sans couverture).
Cost4 (Vl,c) =
1 Si (Vl,c ∈ Fhab) ∧
X
1≤α≤m
(
1 Si Vl,c ∈ Vδ3
ERα
0 Sinon
= 0
0 Sinon
(8.12)
où :
• m est le nombre d’espaces de respiration ;
• δ3 est une constante indiquant le nombre maximum d’îlots à parcourir à pied (distance de Tchebychev)
pour accéder à un espace de respiration ;
• Fhab est l’ensemble représentant les habitations.
8.3.3.4 Séparation
C’est une contrainte inhérente aux espaces tampons ou aux équipements bâtis qui doivent s’intercaler entre
certaines formes urbaines ne pouvant pas se toucher. En effet, pour certaines formes urbaines proches les
unes des autres, il est demandé qu’elles ne soient pas contiguës (qu’elles ne se touchent pas), et qu’elles
soient séparées par un espace tampon ou un équipement bâti lorsqu’elles sont situées à proximité l’une de
l’autre. Les formes urbaines suivantes sont considérées comme des espaces tampon :
• équipement sportif ;
• espace de respiration ;
• espace vert
Tandis que les équipements bâtis sont représentés par les formes urbaines suivantes :
• école maternelle et élémentaire ;
• collège ;
• lycée ;
• équipement administratif ;
• équipement technique.8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 145
FIGURE 8.11 – Illustration des séparations simples ou doubles entre la cellule centrale et les cellules de
l’anneau périphérique situées à une distance stricte d = 2.
Séparation simple Double séparation
Par exemple, lorsqu’une maison individuelle et un habitat collectif R+7 se trouvent à proximité l’un
de l’autre, nous devons les séparer par un espace tampon. Lorsqu’une maison individuelle est proche d’un
habitat collectif R+4, il faut positionner entre les deux îlots un espace bâti.
Pour une forme urbaine repérée par Vl,c, on s’intéresse uniquement à ses variables voisines présentes
dans l’ensemble V
2
l,c. On note Ω
S
la matrice de séparation fournie en entrée du problème. Ω
S
p,q fournit
l’ensemble des formes urbaines autorisées pour séparer la forme urbaine p de la forme urbaine q. Soulignons
que chaque élément de cette matrice correspond à un ensemble (constitué de formes urbaines), pratique
suffisamment inhabituelle pour qu’elle soit précisée. Cette matrice est symétrique, on aura donc Ω
S
p,q = ΩS
q,p.
On peut avoir Ω
S
p,q = ∅ lorsqu’il n’y a pas de contrainte particulière de séparation entre les deux formes
urbaines p et q.
Pour chaque variable Vi,j située dans le voisinage V
1
l,c, on doit vérifier Ω
S
Vl,c,Vi,j = ∅. En effet, lorsqu’une
séparation est imposée entre deux formes urbaines, celles-ci ne doivent pas être contiguës. D’autre part,
pour chaque cellule Vi,j située sur l’anneau de voisinage V¯2
l,c, si Ω
S
Vl,c,Vi,j
6= ∅, il faut vérifier que les formes
urbaines positionnées sur les cellules qui séparent Vl,c et Vi,j appartiennent bien à l’ensemble Ω
S
Vl,c,Vi,j
.
La notation S(Vl,c, Vi,j ) désigne l’ensemble des formes urbaines positionnées sur les cellules qui sé-
parent Vl,c et Vi,j . Cet ensemble peut contenir un ou deux éléments comme le montre la figure 8.11 qui
indique les variables de séparation entre la cellule centrale V3,3 et ses cellules voisines Vi,j situées à une
distance stricte d = 2. Par exemple, S(V3,3, V1,1) contient la forme urbaine de V2,2 et S(V3,3, V1,2) contient
les formes urbaines de V2,2 et de V2,3.
La fonction de coût pour la variable Vl,c peut alors s’exprimer ainsi :
Cost5 (Vl,c) = X
v∈V1
l,c
(
1 Si
Ω
S
Vl,c,v 6= ∅
0 Sinon
+
X
v∈V¯2
l,c
(
S(Vl,c, v)\Ω
S
Vl,c,v
Si
Ω
S
Vl,c,v 6= ∅
0 Sinon
(8.13)
8.3.3.5 Emprise au sol
Le principe est le suivant : pour des formes urbaines particulières (maison individuelle, maison de ville,
habitat intermédiaire ou collectif, bâtiment tertiaire) que l’on trouve dans le voisinage proche d’un collège
ou d’un lycée, il faut réserver une surface autour de l’école, en positionnant, à coté de l’édifice, un nombre
plus ou moins important d’espaces verts.146 CHAPITRE 8. MODÈLE
FIGURE 8.12 – Emprise au sol : le nombre d’espaces verts au pied d’un collège ou d’un lycée est imposé et
ce nombre dépend de la présence de certaines formes urbaines particulières à proximité de l’établissement.
Par exemple, si on ne trouve à proximité d’un collège que des maisons individuelles, des maisons de
ville ou de l’habitat intermédiaire, il faut prévoir au moins un espace vert à côté de l’école. Cependant, dès
qu’il y a de l’habitat collectif ou des bâtiments tertiaires aux environs du collège, nous devons prévoir une
surface plus importante constituée d’au moins deux espaces verts (cf. figure 8.12). On note Ω
E la matrice
qui contient le paramétrage d’emprise au sol, tel que Ω
E
p,q identifie le nombre minimum d’espaces verts à
positionner autour de la forme urbaine p compte tenu de la proximité de la forme urbaine q. Cette matrice
est asymétrique, donc Ω
E
p,q peut être différent de Ω
E
q,p. On peut également avoir Ω
E
p,q = 0 lorsqu’il n’y a pas
de conditions particulières d’emprise au sol entre les deux formes urbaines p et q. Concernant la proximité
liée à une forme urbaine Vl,c de référence, seules les cellules voisines représentées par l’ensemble V
4
l,c sont
considérées.
Soit :
• Fres l’ensemble des formes urbaines concernées par la réservation d’un ou de plusieurs espaces verts
dans leur voisinage immédiat (i.e. collège et lycée) ;
• EV représentant la forme urbaine « espace vert »,
Si Vl,c ∈ Fres, le coût associé à cette variable correspond au nombre d’espaces verts manquants à
proximité immédiate de Vl,c :
Cost6 (Vl,c) = (
max max(v∈V4
l,c)
Ω
E
Vl,c,v
−
V
1
l,cBEV
, 0
Si (Vl,c ∈ Fres)
0 Sinon
(8.14)
8.3.3.6 Filtrage et diversité
Cette contrainte est liée aux centralités (voir la section 8.2.1.2). Les centralités sont identifiées par des
cellules spéciales marquées par l’utilisateur pour représenter le centre d’un quartier. Elles peuvent regrouper
une, deux ou quatre cellules contiguës pour former une centralité plus ou moins importante, ces cellules
pouvant être séparées par une route. Chaque cellule centralité est identifiée par l’utilisateur. On parlera
indifféremment de « centralité » pour faire référence soit à une cellule marquée par l’utilisateur, soit à un
groupe de cellules appartenant à la même centralité. Cette contrainte est utilisée pour (cf. figure 8.13) :8.3. MODÈLE DE CONTRAINTE POUR LE PROBLÈME D’AMÉNAGEMENT URBAIN 147
FIGURE 8.13 – Filtrage et diversité des formes urbaines sur chaque centralité : la centralité principale est
constituée de quatre cellules repérées par l’utilisateur avec la lettre « C » et disposées de part et d’autre d’un
axe routier important (avenues). Les formes urbaines positionnées sur ces cellules doivent être « 6= » entre
elles pour favoriser la diversité et un filtre « F » limite les formes urbaines pouvant prendre place sur chaque
cellule.
• filtrer les formes urbaines pouvant occuper une centralité (cellule) ;
• participer à la diversité des formes urbaines localisées sur une même centralité (groupe).
Pour calculer cette contrainte, il est nécessaire de connaître l’ensemble des cellules repérées par l’utilisateur
comme étant des centralités, que l’on note Vcent = {Vi,j , . . . , Vk,l}, Vi,j correspondant à la première centralité
et Vk,l à la dernière. On note Fcent = {10, 12, 13, 14, 17, 18}, l’ensemble des formes urbaines autorisées
à être positionnées sur une centralité et correspondant aux formes urbaines suivantes :
• 10 : commerce et service de centre ville ;
• 12 : école maternelle et élémentaire ;
• 13 : collège ;
• 14 : lycée ;
• 17 : équipement sportif ;
• 18 : espace vert.
Pour une variable Vl,c, la centralité (groupe) qui lui est associée correspond à toutes ses cellules voisines
repérées comme des centralités par Vcent, ces cellules pouvant être séparées par une route. Pour prendre en
compte cette séparation éventuelle et regrouper des centralités non contiguës (séparées par une route), on
considère un voisinage complet V
2
l,c, pour ne retenir que les cellules marquées comme des centralités. On
note Cl,c la centralité (groupe) associée à la variable Vl,c tel que :
Cl,c =
Vi,j , Vi,j ∈
V
2
l,c ∪ Vl,c
∩ Vcent (8.15)
Pour une cellule Vl,c liée à une centralité (cellule), son coût correspond à une pénalité composée des
éléments suivants :
1. un coût fixe (défini à 10) si la cellule Vl,c est associée à une forme urbaine non autorisée ;
2. le nombre des cellules de la centralité associées à une forme urbaine non autorisée ;
3. la différence entre le nombre de cellules de la centralité (|Cl,c|) et la diversité des formes urbaines
autorisées qui leur sont imputées
FcentBCl,c
.148 CHAPITRE 8. MODÈLE
Compte tenu de ces éléments, le coût global associé à la cellule Vl,c peut s’écrire ainsi :
Cost7 (Vl,c) =
10 Si Vl,c ∈ F/ cent
0 Sinon
+
X
v∈Cl,c
1 Si (v /∈ Fcent)
0 Sinon
+ |Cl,c| −
FcentBCl,c
Si Vl,c ∈ Vcent
0 Sinon
(8.16)
8.4 Conclusion
« Pour construire un modèle qui sera souvent unique en son genre, l’informaticien doit être capable d’écouter,
d’aider, de faire et de refaire : il doit renoncer à venir avec ses modèles tout faits qui seraient à prendre
ou à laisser » [220]. Conformément aux préconisations de Jean-Charles POMEROL, c’est au prix d’efforts
importants et de nombreuses réunions que nous sommes parvenus à réaliser avec l’aide indispensable des
praticiens de la ville cette modélisation. Nous ne reprenons ici que les éléments essentiels retenus parmi
une multitude de notions mises en lumière pendant des heures et des heures d’échanges passionnants et
de formalisation, de nombreuses propositions de toutes parts ou d’explorations successives, parfois des
abandons ou des retours en arrière. Un travail d’écoute, de compréhension et d’analyse en continu nous a
permis, progressivement, de dégager et de mettre en forme des propriétés et des contraintes « à gros grain »
caractéristiques d’une pré-programmation à la base de cette représentation formelle.
Nous nous intéressons plus particulièrement à une représentation symbolique de la ville qui permet
de simplifier une réalité trop complexe pour être complètement appréhendée. Notre modèle de contrainte
pour ce problème d’aménagement urbain reste volontairement simple pour qu’il puisse être compris par
les décideurs, élément crucial pour qu’il soit accepté et utilisé dans la pratique. Malgré la particularité du
problème, la modélisation proposée reste générique et repose sur les notions de voisinage et d’interaction
entre formes urbaines, complétées par des contraintes plus spécifiques permettant de renforcer les aspects
durables dans notre modèle. Dans ce cadre symbolique, la majorité des contraintes a pu être traduite en
fonctions de coût pour exprimer des préférences de positionnement. Dès lors, l’objectif consiste à rechercher
une configuration qui minimise un coût global traduisant le meilleur compromis entre les différentes
préférences.
Ce modèle peut être résolu indifféremment par des méthodes complètes ou incomplètes. Il est prévu
pour représenter des villes importantes comme l’exemple de Marne-la-vallée (8 728 hectares pour 234 644
habitants) illustré au début de ce chapitre. De plus, il sera exploité dans un cadre interactif où l’utilisateur
peut interagir avec la résolution pour traduire des aspects impossibles à représenter dans le modèle. En effet,
un système interactif d’aide à la décision (ou SIAD, voir le chapitre 6) doit rester un modèle inachevé [220],
ce qui participe à son acceptation par les utilisateurs qui conservent une part non négligeable de liberté. Sans
incertitude, la résolution du modèle pourrait être totalement robotisée sans laisser de place au processus de
décision. Au contraire, la part d’incertitude qui reste dans les mains des opérateurs est une façon d’améliorer
les processus de décision sans les bouleverser. C’est justement parce que l’on ne sait pas terminer le modèle
qu’il est indispensable d’avoir un décideur devant l’écran pour l’achever. L’interactivité représente alors une
part inexprimable de la modélisation pour des problèmes non structurés, c’est à dire impossibles à décrire
entièrement.9
Résolution initiale basée sur Adaptive Search
Le problème d’aménagement urbain qui nous intéresse peut être vu comme une variante du problème de
positionnement d’équipements [80, 218] (Facility Location Problem, Cf. section 7.5), mais dans lequel
tous les éléments urbains doivent être placés simultanément. Ce problème est fortement combinatoire [199,
200, 282]. Par conséquent, il est difficile de le résoudre lorsque le nombre de variables devient important.
De plus, nous devons faire face à deux exigences spécifiques liées au contexte applicatif. Premièrement,
l’algorithme doit être capable de passer à l’échelle pour se mesurer à des dimensions de villes réelles, avec
une taille pouvant atteindre 10 000 cellules libres pour une surface totale de plus de 80 km2
(correspondant
aux éléments libres et fixes). Deuxièmement, les utilisateurs (urbanistes et décideurs) doivent pouvoir garder
la main sur le système, en modifiant de façon interactive l’emplacement des éléments urbains, ceci pour
répondre à leurs propres représentations et attentes.
Pour satisfaire ces deux exigences, nous avons conçu un même système qui intervient à deux étapes
de résolution distinctes. Dans la première étape, qui correspond plus particulièrement à ce chapitre, le
système calcule et propose une ou plusieurs bonnes solutions répondant aux contraintes urbaines. Et pour
adresser le problème de complexité, nous avons développé une technique de résolution spécifique pour
gérer efficacement la répartition des calculs sur plusieurs processeurs. La seconde étape est interactive et
sera décrite en détail dans le prochain chapitre (cf. chapitre 10).
9.1 Choix d’une méthode de résolution
Une première tentative pour résoudre notre problème s’est appuyée sur les techniques complètes [222] de
programmation par contraintes [16, 97, 9, 233]. Un tout premier prototype a été conçu avec le solveur
CHOCO [147] pour une partie seulement des contraintes principales avec 17 formes urbaines différentes (au
lieu de 28) :
• cardinalité liée à chaque forme urbaine ;
• interactions entre formes urbaines pour un voisinage limité à une distance maximale d’une seule
cellule.
Ce prototype a été évalué sur une grille 16×16 avec un serveur de test du LINA1
. Mais au bout de 12 jours,
le traitement a dû être interrompu faute de résultats.
Dans le même contexte technique, nous avons réalisé un second prototype plus limité de placement des
formes urbaines basé sur un algorithme de type glouton [85] (cf. section 5.5.1). Au lieu de répartir simul-
1Dell M610 quadri coeurs multithreadés (l’équivalent de 16 cœurs) Xeon E5620 à 2,40GHz, et 16 Go de RAM.
149150 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
tanément toutes les formes urbaines sur la grille, cette version positionnait une à une les formes urbaines
sur la ville sans remettre en cause les choix précédents. On intégrait une seule forme urbaine à la fois dans
le problème et lorsque sa position optimale était trouvée (cellule), on fixait la variable qui lui était associée
(devenant une constante du problème). Le processus se poursuivait alors en injectant une nouvelle forme
urbaine dans le problème, en itérant jusqu’à ce que toutes les formes urbaines soient réparties sur l’espace
urbain. Avec cette formule simplifiée, l’ordre dans lequel les formes urbaines sont sélectionnées joue
bien entendu un rôle déterminant dans la qualité des solutions obtenues. Pour remplir une grille complète
16 × 16 composée de 206 variables libres au départ (les autres formes urbaines étant liées à des éléments
fixes comme des routes ou des rivières), une résolution avec ce second prototype ne nécessitait plus qu’une
vingtaine de minutes.
Notre problème est bien plus complexe que cette version simplifiée et sa taille typique peut atteindre
10 000 variables. De plus, une résolution avec des algorithmes gloutons ne conduit pas à des solutions de
bonne qualité, ces algorithmes étant plutôt réservés à la génération de solutions initiales pouvant ensuite
être améliorées. Enfin, le temps de résolution en contexte interactif doit être très rapide et ne pas dépasser
quelques secondes [258].
Compte tenu de ces premiers résultats, nous avons abandonné l’idée d’une résolution avec des méthodes
complètes et opté pour une méthode de résolution incomplète [2, 127] basée sur les techniques de recherche
locale [177, 153, 42, 111, 112, 113, 115, 125]. Nous décrivons par la suite nos travaux réalisés sur les bases
de la métaheuristique Adaptive Search [47, 48, 10] (cf. section 5.6.9) en commençant par la génération
d’une configuration initiale.
9.2 Configuration initiale
Pour créer une configuration initiale soumise ensuite au processus de résolution, nous proposons deux
heuristiques différentes pouvant être activées/désactivées selon un paramètre de l’application :
• une initialisation aléatoire simple ;
• une initialisation gloutonne aléatoire [245, 143](cf. section 5.5.2) qui cherche à positionner en priorité
les formes urbaines les plus contraintes.
Dans la suite de ce chapitre, nous employons le terme « coût » pour désigner une pénalité calculée par
les fonctions de coût liées à notre modélisation (voir chapitre 8) ; ce coût pouvant être associé, compte tenu
du contexte d’utilisation, soit à une cellule de la grille, soit à la grille entière (coût d’une configuration), soit
représenter une variation de ces coûts.
9.2.1 Initialisation aléatoire
Dans un premier temps, cette heuristique constitue une liste « A » qui répertorie par niveau d’intensité des
listes « B » contenant les quantités à allouer (nombre d’îlots à occuper) par forme urbaine (cf. figure 9.1).
Par exemple, la liste « B[1] » indique qu’il y a 10 maisons individuelles (forme urbaine no 1) à répartir sur
des cellules d’intensité 1 ; 8 maisons de ville (forme urbaine no 2) à répartir sur des cellules d’intensité 1 ;
et 20 espaces de respiration (forme urbaine 19) à répartir sur des cellules d’intensité 1 ; etc.
L’heuristique parcourt ensuite la grille en sélectionnant une à une chaque cellule libre. Pour la cellule
courante, elle récupère son niveau d’intensité et recherche, à partir de la liste « A », la liste « B » associée à ce
niveau d’intensité. Si il n’y a plus d’élément disponible dans la liste « B » trouvée, une erreur d’incohérence
est émise indiquant qu’il n’y a pas suffisamment de formes urbaines allouées pour ce niveau d’intensité.
Dans le cas contraire, un élément de la liste « B » est choisi aléatoirement. On récupère la forme urbaine
correspondante et on l’assigne à la cellule courante. La quantité à allouer liée à cette forme urbaine est
décrémentée et lorsqu’elle devient nulle, l’élément correspondant de la liste « B » est supprimé.
A la fin du processus, toutes les listes « B » doivent être vides. Dans le cas contraire, il s’agit d’une
seconde incohérence et un message d’anomalie est émis indiquant qu’il y a trop de formes urbaines à9.2. CONFIGURATION INITIALE 151
FIGURE 9.1 – Initialisation aléatoire : structures de données utilisées pour créer une solution initiale.
allouer par rapport au nombre de cellules libres.
9.2.2 Initialisation gloutonne aléatoire
Cette initialisation repose sur un paramétrage de l’application (cf. table 9.2) qui définit pour chaque forme
urbaine :
• la priorité de placement (première colonne représentant le classement) ;
• le mode de sélection d’une cellule (dernière colonne « random » avec la valeur vrai ou faux).
Le classement représente la difficulté de placement de chaque forme urbaine. Il cherche à traduire le
poids des contraintes qui pèse sur chaque forme urbaine. En effet, par rapport aux contraintes spécifiques,
seules quelques formes urbaines sont concernées : certaines peuvent donc être plus contraintes que d’autres
non concernées par les contraintes spécifiques. L’idée générale consiste alors à positionner en priorité sur
la grille les formes urbaines pour lesquelles il y a un maximum de contraintes qui s’exercent.
Le mode de sélection d’une cellule indique comment on doit, pour une forme urbaine donnée, choisir
une cellule parmi les cellules libres et disponibles dans la grille (i.e. sans affectation de forme urbaine). Si
« Random = vrai », on choisit une cellule au hasard sinon on choisit la cellule qui génère le coût d’affectation
minimum.
9.2.2.1 Fonctionnement de l’heuristique
L’heuristique considère une à une chaque catégorie de forme urbaine en fonction du classement prioritaire
spécifié par le paramétrage (industrie, . . . , espace de respiration). Pour la forme urbaine courante, on
récupère la liste « B » qui lui est associée et qui contient les quantités à allouer de cette forme urbaine,
ces quantités étant ventilées par niveau d’intensité (cf. figure 9.3). Chaque élément présent dans la liste
« B » sélectionnée vient s’insérer dans une liste « C » temporaire qui contient autant d’éléments qu’il y
a d’allocations prévues, chaque élément représentant une affectation à prévoir pour le niveau d’intensité
spécifié.
Tant que la liste temporaire « C » n’est pas vide, on choisit un élément aléatoire dans cette liste (une
intensité) que l’on retire de la liste. A ce stade, on dispose d’une allocation à réaliser pour : (i) une forme152 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
FIGURE 9.2 – Initialisation gloutonne : paramétrage, par forme urbaine, de la priorité de placement et
du mode de sélection d’une cellule. On commence par positionner l’industrie (no 1) et on termine par le
placement des espaces de respiration (no 19). La colonne « random » indique si on doit choisir une cellule
disponible au hasard ou si on choisit celle qui génère un coût d’affectation minimum.
No Forme urbaine Random
1 Industrie faux
2 Parc d’entreprises faux
3 Collège faux
4 Lycée faux
5 Maison individuelle vrai
6 Maison de ville vrai
7 Habitat intermédiaire faux
8 Bureau, grand immeuble (R+7) faux
9 École maternelle et élémentaire faux
10 Équipement administratif faux
No Forme urbaine Random
11 Équipement technique faux
12 Équipement sportif faux
13 Habitat collectif (R+7) faux
14 Bureau, petit immeuble (R+4) faux
15 Habitat collectif (R+4) faux
16 Commerce et service de centre ville faux
17 Hypermarché faux
18 Espace vert faux
19 Espace de respiration faux
urbaine prioritaire et (ii) une intensité tirée aléatoirement. On récupère alors la liste « D » des cellules libres,
et sans affectation, pour ce niveau d’intensité. Si la liste « D » est vide, une anomalie est émise indiquant
qu’il n’y a pas assez de cellules disponibles par rapport au nombre de formes urbaines à ventiler sur la
ville. Dans le cas inverse, on détermine la cellule disponible qui recevra la forme urbaine. Pour cela, deux
possibilités se présentent en fonction du « mode de sélection d’une cellule » (colonne « random ») paramétré
pour la forme urbaine :
• soit on sélectionne un élément de façon aléatoire dans la liste « D » (une cellule) ;
• soit on recherche, parmi toutes les cellules de la liste « D », la cellule avec le coût le plus faible.
Pour identifier la cellule la moins coûteuse, on évalue pour chaque cellule de la liste « D » le coût que
représenterait l’affectation de la forme urbaine courante et on retient la cellule avec le coût minimum (si il
y a plusieurs cellules avec le même coût minimum, on fait un tirage aléatoire parmi ces cellules).
Pour la cellule retenue (quelle que soit la valeur du paramètre mode aléatoire), on lui attribue la forme
urbaine courante et on retire cette cellule de la liste « D » des cellules libres pour le niveau d’intensité.
9.2.2.2 Évaluation du coût lié à une affectation
Nous verrons que notre algorithme d’optimisation (cf. section 9.3) réalise une série de permutations (i.e.
échanges des valeurs entre deux variables) afin d’améliorer pas à pas le coût global d’une solution de dé-
part. Or, la procédure gloutonne d’initialisation cherche à positionner à chaque itération une forme urbaine
donnée à moindre coût sur une cellule libre, sans passer par ce mécanisme des permutations.
Afin de mutualiser ces procédures, notamment les fonctions de calcul incrémental décrites en section
9.3.1, nous avons introduit la forme urbaine « non défini » portant le code « 0 » qui occupe initialement
toutes les cellules libres de la grille, aucune contrainte n’étant définie sur cette forme urbaine. On cherche
alors à évaluer le remplacement de la forme urbaine « non défini » de chaque cellule libre par une autre
forme urbaine à positionner, cette opération de placement devenant pour une large partie similaire à une
permutation.
9.3 Algorithme séquentiel
Nous avons retenu la méthode Adaptive Search (AS) qui a prouvé son efficacité sur des instances variées
et de grandes tailles [47]. Cette méthode nous permet d’améliorer, tant que c’est possible, une solution9.3. ALGORITHME SÉQUENTIEL 153
FIGURE 9.3 – Initialisation gloutonne : structures de données utilisées pour créer une solution initiale.
courante par une succession de permutations (échange des valeurs entre deux variables) dans le but d’approcher
le plus rapidement possible une solution optimale. En plus d’exploiter la fonction de coût global,
cette métaheuristique tire avantage de la structure du problème en termes de contraintes et de variables pour
guider la recherche.
Pour chaque contrainte, une fonction d’erreur doit être définie afin de fournir, pour chaque tuple "va-154 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
Algorithme 11 : Notre algorithme séquentiel dérivé de la méthode Adaptive Search de base
1 /* Paramètres :
maxRestart est le nombre maximum de réinitialisations partielles de l’algorithme
f est la fonction de coût globale, fi est la fonction de coût pour la variable Vi
s est la configuration courante
best est la meilleure configuration trouvée
T est la liste des candidats bannis
j est l’index de la variable avec le pire coût (candidat) */
2 best ← s ← configuration initiale ;
3 while (maxRestart non atteint) do
4 T ← ∅ ;
5 while (T ne contient pas la totalité des variables) do
6 forall (i tel que Vi ∈/ T) do
7 Calculer fi(s) ;
8 Sélectionner Vj une variable pour laquelle fj (s) est maximum (avec Vj ∈/ T) ;
9 Calculer le coût f des configurations voisines obtenues à partir de s en échangeant Vj avec
une autre variable ;
Sélectionner s
0
la configuration pour laquelle f(s
0
10 ) est minimum;
if (s
0
11 peut améliorer la solution courante s) then
12 Modifier T en supprimant sa variable la plus ancienne ;
s ← s
0
13 ;
else
14 T ← T ∪ {Vj};
15 if (s est meilleure que best) then
16 best ← s;
17 Réinitialiser un certain pourcentage de variables dans s en réalisant des permutations aléatoires ;
18 return best
riable | valeur", une indication sur son degré de violation [99, 272]. AS procède à une réparation itérative sur
la base des erreurs liées aux variables et aux contraintes, en cherchant à réduire l’erreur sur la variable ayant
le coût le plus élevé. Pour cela, on calcule la fonction d’erreur pour chaque contrainte, puis on combine
pour chaque variable les erreurs de toutes les contraintes où elles apparaissent, ce qui permet de projeter les
erreurs des contraintes sur les variables correspondantes. La procédure qui permet de transférer les erreurs
des contraintes sur les variables est problème-dépendant.
On peut retrouver une description détaillée de la métaheuristique AS dans sa version générale en section
5.6.9. Pour ce qui nous concerne, nous proposons dans un premier temps une implémentation séquentielle
(cf. algorithme 11) directement dérivée de la version originale.
Notre algorithme démarre à partir d’une configuration initiale générée soit par une affectation aléatoire,
soit par une affectation gloutonne aléatoire : un paramètre permet d’identifier le mode d’initialisation à
utiliser (cf. section 9.2). À ce stade, nous nous assurons que l’assignation initiale respecte à la fois le niveau
d’intensité de chaque cellule et le nombre donné de cellules de chaque forme urbaine (de façon analogue à la
contrainte unaire de correspondance des niveaux d’intensité et de cardinalité liée à chaque forme urbaine).
L’algorithme réalise alors une variante de la méthode de réparation itérative (Iterative Repair), basée sur
les données d’erreur relatives aux variables et aux contraintes, cherchant à réduire à chaque itération l’erreur
sur la variable de pire coût [192]. Notre modélisation (cf. chapitre 8) permet de calculer la fonction de coût
de chaque contrainte combinée à chaque variable pour toutes les contraintes où elle apparaît, projetant
directement les erreurs identifiées par les contraintes sur chaque variable. Pour obtenir un coût total par9.3. ALGORITHME SÉQUENTIEL 155
variable, nous pondérons les coûts des contraintes de sorte que les contraintes peuvent avoir une priorité
différente.
À chaque itération, la variable avec l’erreur la plus importante est désignée comme « le candidat » choisi
pour être à l’origine d’une permutation, c’est à dire impliqué dans un échange de sa valeur avec une autre
variable. Dans cette étape, on considère toutes les permutations possibles impliquant le « candidat » en
choisissant la meilleure permutation, c’est à dire la permutation qui permettra de minimiser le plus possible
le coût global de la configuration courante. Cependant, il y a des restrictions à l’ensemble des échanges
considérés : nous pouvons échanger les valeurs de deux cellules uniquement si elles possèdent des formes
urbaines différentes (sinon l’échange est neutre) et si elles sont affectées au même niveau d’intensité, ceci
afin de satisfaire la contrainte d’intensité à tout moment. Cette politique liée aux permutations assure que
la contrainte de correspondance des niveaux d’intensité est maintenue satisfaite à chaque itération, tout
comme la contrainte de cardinalité des formes urbaines.
L’algorithme utilise également une mémoire dynamique de court terme dans l’esprit de la recherche
tabou [111, 112, 113, 115, 125], que nous intitulerons « liste des candidats bannis ». Notons que seuls les
candidats incapables d’améliorer le coût global sont marqués bannis (aucune permutation avec une autre
variable ne permet de diminuer le coût global de la configuration courante). Tant qu’une variable appartient
à la liste des candidats bannis, elle ne peut pas être considérée comme un candidat pour les itérations
suivantes.
Lorsque l’algorithme est bloqué car toutes les variables sont bannies, il redémarre en permutant sur
la configuration courante un pourcentage donné de variables choisies aléatoirement. Néanmoins, avant de
réaliser une permutation à partir de deux variables choisies au hasard, le système vérifie que l’échange des
valeurs entre les deux variables soit autorisée (i.e. même intensité, formes urbaines différentes, . . . ). Le
nombre de relances et de variables à réinitialiser dépendent de paramètres configurables.
Dans les sections suivantes, nous commençons par décrire une série d’optimisations mises en œuvre
pour améliorer de façon significative la vitesse des calculs avant d’étudier en détail le fonctionnement de la
liste des candidats bannis. En vue de distribuer efficacement l’algorithme AS et de pouvoir comparer les
gains obtenus avec la version séquentielle, nous introduisons dès à présent deux nouvelles fonctionnalités :
le mode « multi-candidats » et le mode « multi-permutations ».
9.3.1 Cache de données et calcul incrémental
Pour améliorer la vitesse des calculs, nous utilisons différents caches de données pour toutes les informations
qui nécessitent un accès fréquent, les données mémorisées pour chaque contrainte étant problèmedépendant.
À titre d’exemple, on mémorise les éléments suivants :
• objets généraux pouvant être réutilisés fréquemment sans devoir être recréés (e.g. positions, cellules,
candidats, permutations, configurations, . . . ) ;
• coût global de la configuration courante ;
• mesure du coût d’accessibilité sur chaque cellule habitée pour chaque point d’origine (cellule occupée
par un espace de respiration) pour la contrainte d’accessibilité globale ;
• nombre d’espaces de respiration qui recouvre chaque cellule habitée pour la contrainte d’accessibilité
locale ;
• constitution des groupes (zone industrielle, artisanale, etc.) avec leur structure et les coûts associés ;
• les voisinages de chaque cellule pour la contrainte d’interactions entre formes urbaines ;
• . . . .
A chaque fois qu’une permutation est appliquée, un mécanisme générique associé à chaque contrainte
permet de supprimer le cache de données dépendant des deux cellules concernées, de sorte qu’à la prochaine
interrogation des données en cache, ces informations soient recalculées localement pour être à nouveau
disponibles.156 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
Pour évaluer l’impact d’une permutation, nous déterminons également tous les coûts de chaque contrainte
de façon incrémentale, en calculant uniquement la différence de coût induite par la permutation sur une
configuration donnée (cf. sections 5.6.3.4 et 7.5.2.2). Néanmoins, ce coût incrémental peut être déterminé
pour une permutation potentielle sans devoir modifier la configuration, ce qui est très utile, notamment vis à
vis du cache de données qui peut ainsi rester intact. Ceci est possible en considérant un objet spécial nommé
swap transmis systématiquement à la méthode chargée de récupérer la forme urbaine d’une cellule pour une
configuration donnée (voir l’algorithme 12).
Algorithme 12 : Fonction permettant de récupérer la forme urbaine d’une configuration à la position
(row, col) en considérant un composant de permutation noté swap.
1 if (swap) then
2 if ((row = swap.fromRow) et (col = swap.fromCol)) then
3 return getUrbanFrom(swap.toRow, swap.toCol) ;
4 if ((row = swap.toRow) et (col = swap.toCol)) then
5 return getUrbanFrom(swap.fromRow, swap.fromCol);
6 return getUrbanFrom(row, col) ;
9.3.2 Liste des candidats bannis
Le fonctionnement de la liste des candidats bannis est inspiré de la liste tabou (voir descriptif de la recherche
tabou en section 5.6.8). La liste des candidats bannis permet d’éliminer temporairement du processus de
recherche les « mauvais » candidats. Les mauvais candidats sont des variables qui ont eu les coûts les plus
importants à un moment donné mais qui ont néanmoins été incapables de participer, en lien avec une autre
variable, à une permutation permettant d’améliorer la solution courante du moment (en diminuant son coût
global). Cette liste évite donc à l’algorithme de boucler sur un mauvais candidat.
Cependant, ce n’est pas sa seule utilité : elle permet également d’améliorer les performances du système.
En éliminant temporairement un mauvais candidat du processus de recherche, on fait l’hypothèse suivante :
un candidat identifié comme mauvais à un moment donné risque de rester mauvais un certain temps, ce délai
(évalué en nombre d’itérations) s’allongeant au fur et à mesure que le processus de résolution progresse.
En retirant momentanément du circuit ces variables, on évite à l’algorithme d’évaluer inutilement une série
de permutations générées à partir de candidats potentiellement défaillants. On réduit ainsi la complexité de
la métaheuristique grâce à une réduction de la taille du voisinage à évaluer à chaque itération et on améliore
de fait sa rapidité.
Il s’agit d’une liste dynamique de type FIFO2 dont la dimension augmente avec le temps. Lorsqu’elle est
pleine (i.e nombre d’éléments présents dans la liste = dimension courante de la liste), l’ajout d’un nouvel
élément provoque la sortie du plus ancien. Sa dimension initiale est déterminée en pourcentage par rapport
au nombre de variables libres de l’instance. Typiquement, ce pourcentage peut être fixé à 25 %. Ensuite, sa
dimension va évoluer par palier jusqu’à atteindre le nombre total de variables libres de l’instance. A chaque
palier, la dimension de la liste progresse d’un certain pourcentage (e.g. +25 %) par rapport à sa dimension
courante. Reste à déterminer le moment où interviennent ces paliers ?
La dimension de la liste reste stable tant que l’algorithme peut identifier un bon candidat sur une itération
(i.e un candidat capable de produire au moins une permutation qui améliore la solution courante) ou
tant que la liste n’est pas pleine. Si à l’issue d’une itération donnée le candidat sélectionné s’avère mauvais3
et si la liste est pleine, alors un palier d’extension est sollicité par la métaheuristique pour tenter d’agrandir
2First In, First Out
3Dans le mode multi-candidats (voir la section 9.3.3), lire : « si tous les candidats sélectionnés s’avèrent mauvais ».9.3. ALGORITHME SÉQUENTIEL 157
la dimension de la liste. Dans cette situation, on considère en effet que la capacité de la liste n’est plus suf-
fisante pour contenir l’ensemble des mauvais candidats et qu’il faut l’agrandir dans la limite de sa capacité
maximale autorisée, égale au nombre de variables libres.
Lorsque la liste a atteint sa capacité maximale et qu’elle est pleine, plus aucun candidat ne peut être
trouvé car ils sont tous bannis. Dans ce cas de figure extrême, deux possibilités se présentent en fonction
des paramètres de configuration4
retenus :
• soit une perturbation de la solution courante est appliquée (cf. algorithme 11, lignes 3, 5 et 17) avant
de relancer la résolution ;
• soit on enchaîne directement sur une nouvelle itération après avoir vidé la liste de son contenu (suppression
de tous les candidats bannis) pour donner la possibilité à certains candidats précédemment
bannis de se racheter ; ce procédé étant similaire au mécanisme d’aspiration [66, 131] décrit pour la
méthode tabou [111] (cf. section 5.6.8).
Dans les deux cas, l’opération en question peut être répétée dans la limite d’un nombre d’occurrences
paramétrable.
9.3.3 Mode multi-candidats
Dans l’algorithme général AS, une seule variable à la fois peut être désignée comme candidat pour rechercher
une permutation en lien avec les autres variables, qui puisse minimiser le coût global de la configuration
courante. Nous introduisons un mode multi-candidats où un ensemble restreint de variables associées
aux coûts les plus importants d’une même configuration sont sélectionnées pour rechercher la meilleure
permutation, le nombre de candidats à considérer étant un paramètre de l’application (cf. algorithme 13).
Un composant logiciel dédié a été conçu pour maintenir une liste de variables triée par ordre décroissant
de coût et limitée en nombre d’éléments. Lorsque la liste est pleine, l’introduction d’un nouvel élément
permet soit de l’intégrer en retirant l’élément de plus faible coût, soit de ne rien faire si le nouvel élément a
un coût inférieur ou égal au dernier élément de la liste.
Dans un premier temps, on parcourt séquentiellement la grille en vérifiant que la variable courante ne
soit ni fixe, ni bannie. On récupère son coût disponible en cache et on l’injecte dans ce composant. Lorsque
toutes les variables ont été évaluées, on dispose d’une liste avec les meilleurs candidats de la configuration
courante. Il reste alors, dans un deuxième temps, à évaluer chaque candidat avec la totalité des autres
variables libres pour trouver la meilleure permutation. Au cours de cette procédure, si on ne trouve aucune
permutation favorable pour un candidat donné, le candidat en question est inséré dans la liste des candidats
bannis. Si on ne trouve aucune permutation favorable pour l’ensemble des candidats, alors on vérifie l’état
de la liste des candidats bannis. Si elle n’est pas pleine ou si elle peut encore être agrandie, on relance la
procédure courante (recherche des meilleurs candidats et de la meilleure permutation). Dans le cas contraire,
soit on vide la liste des candidats bannis et on relance la procédure courante, soit la procédure se termine.
Pour justifier ce mode de fonctionnement, il faut prendre en considération les deux remarques suivantes
qui sont complémentaires. Premièrement, notre algorithme cherche à se diriger le plus rapidement possible
vers une solution optimale en réparant au mieux, à chaque itération, la configuration courante. Or, la plus
mauvaise variable peut ne pas être celle qui conduira à la meilleure permutation (i.e. la meilleure réparation).
Chercher la meilleure permutation en se basant sur plusieurs candidats augmente nos chances de trouver
la meilleure permutation liée à la configuration courante. Toutefois, cette recherche impliquant plusieurs
candidats, le nombre de permutations à évaluer devient supérieur, ce qui occasionne un temps de traitement
supérieur. Deuxièmement, dans un mode distribué, la recherche de la meilleure permutation pour plusieurs
candidats peut être réalisée en parallèle, chaque processus évaluant les permutations d’un candidat. Dans ce
cas, le temps de calcul global pour tous les candidats reste identique à l’évaluation d’un seul candidat, mais
la chance de trouver une permutation de meilleure qualité devient supérieure.
4Ne pas confondre la configuration qui regroupe l’ensemble des paramètres qui conditionnent le fonctionnement du solveur
avec la notion de configuration équivalente à une affectation.158 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
Algorithme 13 : Mode multi-candidats
1 /* Paramètres donnés en entrée :
• maxCandidates est le nombre maximum de meilleurs candidats à sélectionner
• s est la configuration courante
• fi(s) est la fonction de coût de la variable Vi pour la configuration s
• T est la liste des candidats bannis
• EVAL(s, Vi
, Vj ) est la fonction qui évalue sur la configuration s le gain pour un échange
des valeurs entre les deux variables Vi et Vj
• VERIFIER(s, T) est la fonction qui gère T si aucune permutation gagnante n’existe pour s */
2 /* Variables de travail :
• bestCandidates est la liste triée (par ordre de coût décroissant) des meilleurs candidats
• metCandidates est la liste des meilleurs candidats déjà traités
• 4cost est le gain pouvant être apporté à s en échangeant les valeurs de deux variables
• bestDeltaCost est le meilleur gain qu’un candidat peut apporter à s en échangeant sa valeur
avec celle d’une autre variable
• improvement est un booléen à true si au moins une permutation permet d’améliorer le coût de s
• worstCost est le coût du candidat de bestCandidates le moins bien classé (dernier de la liste) */
3 worstCost ← 0 ;
4 bestCandidates ← ∅ ;
forall (i tel que : Vi ∈/ T et Vi 5 libre) do
6 Récupérer la valeur de fi(s) si présente en cache ou la recalculer ;
7 if (|bestCandidates| = maxCandidates) then
8 if (fi(s) ≤ worstCost) then
9 Ne rien faire et passer à l’indice i suivant ;
else
10 Supprimer le dernier élément de bestCandidates ;
bestCandidates ← bestCandidates ∪ Vi 11 ;
12 if (|bestCandidates| = maxCandidates) then
13 worstCost ← coût du dernier élément de bestCandidates ;
14 metCandidates ← ∅ ;
15 improvement ← f alse ;
16 forall (i tel que Vi ∈ bestCandidates) do
metCandidates ← metCandidates ∪ Vi 17 ;
18 bestDeltaCost ← 0 ;
forall (j tel que : Vj ∈/ T et Vj ∈/ metCandidates et Vj 19 libre) do
4cost ← EVAL(s, Vi 20 , Vj ) ;
21 if (4cost < bestDeltaCost) then
bestDeltaCost ← 4cost 22 ;
23 if (bestDeltaCost = 0) then
T ← T ∪ Vi 24 ;
else
25 improvement ← true ;
26 if ( ! improvement) then
27 VERIFIER(s, T) ;9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 159
9.3.4 Mode multi-permutations
Au lieu de travailler avec la meilleure permutation issue d’un ou de plusieurs candidats (selon que le mode
multi-candidats soit actif ou non), nous proposons de mémoriser dans une liste les meilleures permutations
issues des différents candidats à considérer. Cette liste est triée par ordre décroissant du gain5
lié à chaque
permutation et sa taille est limitée (paramétrable), de sorte qu’on ne conserve qu’un nombre restreint de
permutations, ces permutations étant considérées comme les meilleures pour la configuration courante.
Ce fonctionnement ne nécessite pas un temps de calcul supplémentaire significatif car ces permutations
doivent de toute façon être évaluées, que le mode multi-permutations soit actif ou non. Ce mécanisme introduit
simplement une empreinte mémoire additionnelle liée à la liste, mais sa taille reste contrôlée et limitée.
Lorsque la liste est renseignée avec les meilleures permutations identifiées pour les différents candidats,
nous appliquons séquentiellement sur la configuration courante toutes les permutations mémorisées dans
la liste, sous certaines conditions. Typiquement, réaliser une première permutation peut fortement impacter
les scores obtenus sur les permutations suivantes de la liste. Pour qu’une permutation reste valide et qu’elle
soit appliquée, elle doit donc toujours produire un bénéfice qui soit au moins égal à un certain ratio (paramé-
trable) de son profit initial. Lors de ce processus séquentiel, nous garantissons uniquement l’application du
premier élément de la liste qui correspond à la meilleure permutation, les permutations suivantes pouvant
devenir obsolètes.
Notons que pour revenir au fonctionnement général AS, il suffit de limiter à un seul le nombre maximum
de candidats et le nombre maximum de permutations, ce qui revient à désactiver ces deux modes.
En mode mono-candidat et mono-permutation de l’algorithme, des résultats liés à la recherche de la
meilleure permutation se trouvent gaspillés à chaque itération. Bien que les permutations appliquées en
rafale en mode multi-permutations puissent ne pas être les meilleures lorsqu’elles sont appliquées séquentiellement,
plusieurs d’entre elles peuvent néanmoins améliorer le coût de la solution courante. De plus,
travailler avec différents candidats permet de diversifier l’origine des permutations à appliquer en cascade,
minimisant ainsi l’impact d’une permutation sur les suivantes. Dans la version distribuée de l’algorithme,
ces deux mécanismes conjoints (multi-candidats et multi-permutations) sont supposés tirer profit des travaux
réalisés par les différents processus parallèles sans nécessiter un effort de calcul additionnel.
9.4 Version distribuée de l’algorithme
Pour faire face à la complexité des problèmes de grande taille, nous proposons de distribuer l’algorithme
sur une grille de calcul [58, 266]. Un système basé sur une marche multiple parallèle [138, 205] (« multiwalk
») dont les principes sont décrits en section 5.7.3 a déjà été proposé pour AS [40, 75], avec de bonnes
accélérations (speed-ups) sur des problèmes classiques. Toutefois, entre plusieurs exécutions de notre version
séquentielle sur des instances identiques du problème d’aménagement urbain, nous relevons de faibles
écarts de temps entre les différentes résolutions ; la même remarque pouvant être faite sur la qualité des
résultats obtenus. Dans notre situation, ces informations indiquent qu’il sera difficile pour une approche
distribuée basée sur une marche multiple de diminuer significativement les temps de résolution.
Compte tenu de ces éléments, nous choisissons un système maître-esclave pour distribuer l’évaluation des
voisins : à chaque itération, nous parallélisons la recherche des meilleures permutations [266, 10]. Ce principe
rappelle le fonctionnement « Évaluation concurrente des voisins » décrit en section 5.7.1, mais avec des
processus esclaves qui disposent ici d’une plus large autonomie. En fait, le fonctionnement retenu se situe
à mi-chemin entre une évaluation distribuée des voisins et le principe de décomposition de domaine [227]
(cf. section 5.7.2) : nous parlerons de décomposition de variable pour faire référence à notre approche.
Bien qu’il ne réalise pas lui même l’ensemble des opérations habituelles, le processus maître fonctionne
de façon analogue au mode séquentiel multi-candidats, multi-permutations.
5Comme on mémorise des valeurs négatives dans cette liste (variations sur le coût global de la configuration courante engendrées
par les permutations bénéfiques), elle est triée par ordre croissant.160 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
Algorithme 14 : Mode multi-permutations
1 /* Paramètres donnés en entrée :
• maxP ermutations est le nombre maximum de meilleures permutations à sélectionner
• s est la configuration courante
• EVAL(s, Vi
, Vj ) est la fonction qui évalue sur la configuration s le gain pour un échange des valeurs
entre les deux variables Vi et Vj et qui mémorise les meilleures permutations
• APPLY(s) est la fonction qui applique en série les meilleures permutations trouvées
• maxDeviation est le % maximum de déviation autorisé sur le gain initial pour garder une permutation */
2 /* Variables de travail :
• bestP ermutations est la liste triée (par ordre croissant de variation de coût) des meilleures permutations
• 4cost est le gain pouvant être apporté à s en échangeant les valeurs de deux variables
• worstDeltaCost est la variation de coût de la permutation dans bestP ermutations la moins bien classée
(dernière de la liste) */
3 worstDeltaCost ← 0 ;
4 bestP ermutations ← ∅ ;
Fonction EVAL(s, Vi 5 , Vj )
6 begin
7 Calculer 4cost en évaluant l’échange des valeurs entre Vi et Vj dans s;
8 if (4cost ≥ 0) then
return 4cost 9 ;
10 if (|bestP ermutations| = maxP ermutations) then
11 if (4cost ≥ worstDeltaCost) then
return 4cost 12 ;
else
13 Supprimer le dernier élément de bestP ermutations ;
Création de la permutation p(4cost, Vi 14 , Vj ) ;
15 bestP ermutations ← bestP ermutations ∪ p ;
16 if (|bestP ermutations| = maxP ermutations) then
17 worstDeltaCost ← variation de coût du dernier élément de bestP ermutations ;
return 4cost 18 ;
end
19 Fonction APPLY(s)
20 begin
21 forall (p ∈ bestP ermutations) do
22 Calculer 4cost (actualisé) en évaluant l’échange des valeurs entre p.Vi et p.Vj dans s;
23 if (4cost ≥ 0) then
24 valid = f alse ;
else
25 if (4cost ≤ p.4cost) then
26 valid = true ;
else
variation = 4cost − p.4cost 27 ;
28 valid = (variation ≤ kp.4cost ∗ maxDeviation/100k) ;
29 if (valid) then
30 Échanger les valeurs des variables p.Vi et p.Vj dans s ;
end9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 161
FIGURE 9.4 – Mode distribué : fonctionnement général maître-esclaves. La partie « itérations » signalée
en foncé est spécifique à chaque protocole distribué que nous proposons et elle fera l’objet d’un schéma
complémentaire dans les sections correspondantes.
Au début de l’algorithme (cf. figure 9.4), le processus maître détermine les partitions et transmet les
sous-ensembles de variables aux processus esclaves. Il synchronise6
ensuite le travail de chaque processus
esclave, à chaque itération, et collecte les permutations qu’il choisit ou non d’appliquer sur la configuration
courante partagée entre tous les processus. Finalement, il détermine les conditions d’arrêt de l’algorithme et
retourne la meilleure solution trouvée. Pendant ce temps, chaque processus esclave opère de façon concurrente
avec les variables qui lui sont attribuées, de façon à ce que l’ensemble des processus esclaves réunis
puisse évaluer à chaque itération la totalité des permutations possibles sur la configuration courante partagée,
tout comme le ferait l’algorithme séquentiel.
Avec ce principe, non seulement nous tirons bénéfice de tous les calculs réalisés sans les gaspiller, mais
6Dans le sens qu’il attend une réponse (le résultat) de chaque processus esclave avant de poursuivre son travail.162 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
TABLE 9.1 – Principales caractéristiques liées au fonctionnement des différents protocoles distribués.
Caractéristiques Protocoles
1 2 3 4
#phases (séries d’échanges sur le réseau) 2 1 1 1
#PbE par rapport au #partition #part #part #part #part*(#part+1)/2
évaluation parallèle des meilleurs candidats O N O O
étendue de recherche des meilleurs candidats partition grille grille 1 à 2 partitions
qui évalue les meilleurs candidats PbE PbM PbE PbE
agrégation des meilleurs candidats dans une liste globale O N N N
transfert liste des meilleurs candidats PbE→PbM et
PbM→PbE
PbM→PbE - -
transfert du meilleur gain trouvé par candidat (PbE→PbM) O O O N
transfert des candidats à bannir (PbM→PbE) O O O N
transfert des meilleures permutations trouvées (PbE→PbM) O O O O
transfert des permutations appliquées (PbM→PbE) O O O O
itération locale si pas de permutation favorable N N N O
liste globale des candidats bannis présente sur le PbM N O N N
étendue de la liste des candidats bannis sur chaque PbE partition partition grille 1 à 2 partitions
nous profitons également de la disposition géographique / géométrique de notre problème pour répartir de
façon cohérente les différentes parties de la carte sur les différents processus : un découpage spatial pour un
problème spatial.
Dans la suite, nous choisissons de présenter les caractéristiques principales liées au fonctionnement
de notre algorithme distribué. En effet, nous proposons différentes implémentations (voir la figure 9.6 qui
récapitule le fonctionnement des différents protocoles distribués), et chaque protocole expose des caracté-
ristiques différentes qui permettent de les comparer. Nous étudierons ensuite les éléments complémentaires
intégrés au modèle pour supporter le mode distribué. Nous disposerons alors de tous les éléments pour
examiner en détail le fonctionnement de chaque protocole.
9.4.1 Caractéristiques liées au fonctionnement de la version distribuée
Chaque processus esclave a en charge une partie des variables de la grille (partition) et dispose d’une
représentation synchronisée de la configuration courante globale qui est partagée entre tous les processus,
y compris avec le processus maître. Pour un processus esclave, l’enjeu consiste à déterminer localement
une liste des meilleures permutations uniquement pour les variables qu’il a en charge, de telle manière
que toutes les combinaisons possibles (permutations) puissent être évaluées par la totalité des processus
esclaves, de façon analogue au mode séquentiel.
Étant donné que la recherche des meilleures permutations n’affecte pas l’état de la configuration globale
partagée entre tous les processus, les processus esclaves peuvent fonctionner en parallèle sans aucune diffi-
culté et sans nécessiter une adaptation conséquente des procédures séquentielles. Pour abréger les écritures,
nous utilisons les notations suivantes :
• PbM pour désigner le processus maître ;
• PbE pour désigner un processus esclave ;
• CbG pour désigner la configuration globale qui est partagée et synchronisée entre tous les processus.
Pour illustrer le fonctionnement du mode distribué lié à chaque protocole proposé, nous avons sélectionné
quatorze caractéristiques principales (cf. table 9.1) que l’on commente dans les paragraphes suivants.9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 163
Nombre de phases
Valeurs possibles :
• 1 : 1 échange réseau lors d’une itération entre le PbM et les PbE ;
• 2 : 2 échanges réseau lors d’une itération entre le PbM et les PbE ;
Il s’agit du nombre d’échanges, engagés entre le PbM d’une part et les PbE d’autre part, qui nécessitent
une synchronisation. Rappelons qu’il n’y a aucune communication directe entre les PbE. En général, une
phase commence par un premier message initié par le PbM à destination de tous les PbE, se poursuit par les
réponses de chaque PbE, et prend fin lorsque tous les PbE ont répondu au PbM. Une phase regroupe donc plus
ou moins de messages qui transitent sur le réseau entre différents processus, chaque message pouvant avoir
une taille variable et regrouper des informations de différentes natures. Par exemple, une première phase
peut consister à interroger les PbE pour qu’ils fournissent chacun à leur tour une liste locale de leurs meilleurs
candidats au PbM. Ce message d’interrogation peut contenir les permutations venant d’être réalisées par le
PbM et devant être répliquées sur chaque PbE pour synchroniser leur CbG. Lorsque le PbM a obtenu toutes les
réponses, il peut poursuivre son travail et engager une seconde phase, c’est à dire un second dialogue avec
les PbE.
Nombre de processus esclaves par rapport au nombre de partitions
Valeurs possibles :
• un entier positif : nombre de PbE (déterminé en fonction du nombre de partitions).
Le nombre de PbE nécessaire pour résoudre une instance donnée de notre problème dépend du nombre
de partitions qui a été demandé (par un paramétrage). Les partitions correspondent à des regroupements de
cellules libres pour un découpage donné de la grille, chaque partition étant de taille identique (à l’arrondi
près). Ces regroupements peuvent être opérés de façon plus ou moins sophistiquée. Dans notre implémentation,
un découpage simple est réalisé conformément à l’exemple de la figure 9.5. Par principe, on cherche à
définir le plus grand nombre de partitions tout en minimisant le nombre de processus nécessaires pour gérer
ces partitions. En effet, un nombre important de partitions permet une forte décomposition des variables de
notre problème alors qu’un nombre important de processus nécessite la mobilisation de ressources maté-
rielles importantes (avec un processeur dédié par processus) et des échanges réseaux entre le PbM et chaque
PbE.
Évaluation parallèle des meilleurs candidats
Valeurs possibles :
• O : plusieurs processus sont impliqués au même moment dans la recherche des meilleurs candidats ;
• N : la recherche des meilleurs candidats est réalisée sur un seul processus.
En fonction du protocole, la recherche des meilleurs candidats peut être réalisée soit en bloc par un seul
processus, soit être répartie sur différents processus. Cette caractéristique permet de savoir si la recherche
est parallélisée.
Étendue de recherche des meilleurs candidats
Valeurs possibles :
• 1 partition : la recherche des meilleurs candidats est effectuée sur une partition au maximum ;
• 1 à 2 partitions : la recherche des meilleurs candidats est effectuée sur 1 ou 2 partitions au maximum ;
• grille : la recherche des meilleurs candidats est effectuée sur la grille entière ;
En fonction du protocole, la recherche des meilleurs candidats peut être réalisée soit à l’échelle de la
grille entière, soit à l’échelle d’une seule partition ou bien à l’échelle d’une à deux partitions.164 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
FIGURE 9.5 – Exemple de découpage d’une grille pour former 4 partitions de même taille : chaque groupe
est composé de 18 cellules libres, les cellules fixes étant repérées par un caractère « X ».
Qui évalue les meilleurs candidats
Valeurs possibles :
• PbM : c’est le PbM qui évalue les meilleurs candidats ;
• PbE : chaque PbE évalue les meilleurs candidats.
En fonction du protocole, la recherche des meilleurs candidats peut être prise en charge soit par le PbM,
soit par chaque PbE.
Agrégation des meilleurs candidats dans une liste globale
Valeurs possibles :
• O : une agrégation des meilleurs candidats dans une liste globale est nécessaire ;
• N : aucune agrégation n’est réalisée.
Lorsque la recherche des meilleurs candidats est effectuée à l’échelle d’une partition, la question est de
savoir si le protocole nécessite d’agréger les résultats de toutes les recherches à partir de toutes les partitions
pour constituer une liste globale des meilleurs candidats.
Transfert liste des meilleurs candidats
Valeurs possibles :
• PbE→PbM : on transfert la liste des meilleurs candidats de chaque PbE vers le PbM ;
• PbM→PbE : on transfert la liste des meilleurs candidats du PbM vers chaque PbE ;
• - : aucun transfert n’est nécessaire.
Une fois établie, on se demande si la liste des meilleurs candidats doit transiter entre le PbM et les PbE.
Notons que la liste des meilleurs candidats qui transite peut être globale (i.e. concerner la grille entière) ou
être partielle (i.e. limitée à une ou deux partitions).9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 165
Transfert du meilleur gain trouvé par candidat des processus esclaves vers le processus maître
Valeurs possibles :
• O : le meilleur gain trouvé par candidat doit être transmis des PbE vers le PbM ;
• N : aucun transfert n’est nécessaire.
Lorsqu’on ne retrouve pas de permutation, pour un candidat prometteur, dans la liste locale des meilleures
permutations trouvées, cela ne signifie pas pour autant qu’il s’agit d’un mauvais candidat. En effet, la liste
des meilleures permutations étant limitée en taille, on ne conserve que les meilleures permutations lors
d’une itération. Donc, il se peut que d’autres candidats aient de meilleures permutations en nombre suf-
fisant pour ne pas considérer celles du candidat en question. D’autre part, lorsqu’il s’agit d’un candidat
global, il peut n’avoir des permutations bénéfiques que sur une seule partition, ce qui est suffisant pour ne
pas le bannir. Afin de savoir si un candidat prometteur doit être banni ou non, il faut donc récupérer les
meilleurs gains trouvés de chaque candidat sur le PbM, ce qui nécessite dans ce cas un transfert de données.
Transfert des candidats à bannir du processus maître vers les processus esclaves
Valeurs possibles :
• O : le PbM doit transmettre aux PbE la liste des candidats à bannir ;
• N : aucun transfert n’est nécessaire.
Il arrive que les processus esclaves seuls n’aient pas une visibilité suffisante pour déterminer si il faut
bannir ou non un candidat prometteur. Dans ce cas, l’information doit provenir du PbM qui est en mesure
d’agréger les résultats des différents PbE pour en déduire une information pertinente.
Transfert des meilleures permutations trouvées des processus esclaves vers le processus maître
Valeurs possibles :
• O : les PbE doivent transmettre au PbM leur liste des meilleurs permutations ;
• N : aucun transfert n’est nécessaire.
Le but du mode distribué étant de répartir la recherche des meilleures permutations sur les différents PbE
puis de récupérer le résultat sur le PbM, un transfert réseau est obligatoire pour chaque protocole.
Transfert des permutations appliquées du processus maître vers les processus esclaves
Valeurs possibles :
• O : le PbM doit transmettre aux PbE les meilleures permutations qu’il a retenu et appliqué sur sa CbG ;
• N : aucun transfert n’est nécessaire.
Les différents processus que nous exploitons peuvent être localisés soit sur la même machine, soit sur
des machines distantes. Pour partager la CbG entre ces différents processus, nous n’utilisons pas de mécanisme
automatique de mémoire partagée. Pour que la CbG reste synchronisée, il faut donc répliquer systématiquement
les modifications effectuées sur chaque processus. Le PbM est le seul habilité à opérer des
modifications sur la CbG, c’est à dire à appliquer des permutations. Il faut donc acheminer les permutations
qu’il a réalisé vers les PbE pour que chaque PbE puisse reproduire ces modifications, c’est à dire rejouer localement
chaque permutation sur sa CbG. L’ensemble des permutations réalisées à l’occasion d’une itération
est reporté en une seule étape du PbM vers les PbE.
Itération locale si pas de permutation favorable
Valeurs possibles :
• O : Si aucune permutation favorable n’est trouvée par un PbE, un dispositif est prévu pour refaire une
nouvelle recherche localement sans en informer le PbM ;166 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
• N : Si aucune permutation favorable n’est trouvée par un PbE, il retourne une liste vide au PbM et se
met en attente.
Si un PbE ne trouve pas de permutation favorable après avoir fait une première recherche à partir de la
liste des meilleurs candidats, il a deux possibilités : soit il est capable de lancer une nouvelle recherche
localement avec de nouveaux critères (renouvellement des candidats) sans communiquer avec le PbM, soit
il est incapable de relancer une nouvelle recherche. Dans ce cas, il retourne une liste (de ses meilleures
permutations) vide et il attend les nouvelles instructions du PbM.
Liste globale des candidats bannis présente sur le processus maître
Valeurs possibles :
• O : le PbM doit mémoriser une liste globale des candidats bannis ;
• N : le PbM n’a pas besoin de mémoriser une liste globale des candidats bannis.
En fonction du protocole en œuvre, il peut être nécessaire de maintenir une liste globale des candidats
bannis sur le PbM.
Étendue de la liste des candidats bannis sur chaque processus esclave
Valeurs possibles :
• 1 partition : la taille de la liste des candidats bannis présente sur chaque PbE est relative à 1 partition ;
• 1 à 2 partitions : la taille de la liste des candidats bannis présente sur chaque PbE est relative à 1 ou 2
partitions ;
• grille : la taille de la liste des candidats bannis présente sur chaque PbE est relative à la grille entière ;
L’étendue de la liste des candidats bannis présente sur chaque PbE varie en fonction du protocole utilisé.
Elle peut correspondre à 1 partition, à 1 ou 2 partitions, ou à la totalité de la grille.
9.4.2 Compléments intégrés au modèle
Avant d’identifier les compléments intégrés à notre modèle pour gérer le mode distribué, nous avons besoin
de définir la notion de partition.
Definition 12 (Partition). Une partition correspond à un regroupement de cellules libres de la grille, le
nombre de partitions étant imposé par un paramétrage et chaque partition étant de même taille (à l’arrondi
près). Toutes les cellules libres de la grille sont affectées aux partitions. Pour associer une cellule à une
partition, un découpage simple de la grille est réalisé conformément à l’exemple de la figure 9.5.
Compte tenu du regroupement des cellules en partitions, et de la répartition des partitions entre différents
PbE, nous introduisons les informations suivantes associées à chaque cellule de la grille :
• numéro de groupe : pouvant prendre la valeur « 0 », « 1 » ou « 2 » ;
• indicateur de sélection : pouvant prendre la valeur « vrai » ou « faux ».
Ces informations sont intégrées dans la CbG de chaque PbE sans pour autant être synchronisées entre les
différents processus. Elles sont prévues pour restreindre les permutations pouvant être réalisées sur chaque
PbE (cf. algorithme 15).
9.4.2.1 Numéro de groupe
Chaque PbE se charge d’attribuer un numéro de groupe aux cellules libres qui sont sous sa responsabilité,
c’est à dire qui appartiennent à ses partitions. Un PbE peut avoir une ou deux partitions qui lui sont associées.
Si une seule partition est attribuée au PbE, toutes les cellules ont un numéro de groupe égal à « 0 » ;
Par contre, si il a deux partitions sous sa responsabilité, il attribue aux cellules de sa première partition un
numéro de groupe à « 1 » et aux cellules de sa seconde partition un numéro de groupe égale à « 2 ».9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 167
Algorithme 15 : Contrôle de validité d’une permutation (échange de valeurs entre deux variables).
1 /* Paramètre donné en entrée :
• cellF rom est la cellule d’origine impliquée dans la permutation
• cellT o est la cellule de destination impliquée dans la permutation
• checkCellF rom indique si il faut que la cellule d’origine soit obligatoirement sélectionnable ? */
2 Fonction ACCEPTABLE(cellF rom, cellT o, checkCellF rom)
3 begin
4 if ( ! cellFrom.libre) then
5 return false ;
6 if ( ! cellTo.libre) then
7 return false ;
8 if (checkCellFrom et ( ! cellFrom.selectionnable) then
9 return false ;
10 if ( ! cellTo.selectionnable) then
11 return false ;
12 if (cellFrom.formeUrbaine = cellTo.formeUrbaine) then
13 return false ;
14 if (cellFrom.intensite != cellTo.intensite) then
15 return false ;
16 if (cellFrom.groupe = cellTo.groupe) et (cellFrom.groupe != 0) then
17 return false ;
18 return true ;
end
Dès lors, pour qu’un PbE puisse autoriser une permutation entre deux cellules, il faut que les conditions
suivantes soient remplies (cf. algorithme 15, lignes 16-17) :
• soit les deux cellules ont un numéro de groupe à zéro : ce qui revient à autoriser les permutations au
sein d’une même partition ;
• soit les deux cellules ont un numéro de groupe différent : ce qui limite les permutations aux cellules
de partitions différentes.
9.4.2.2 Indicateur de sélection
Definition 13 (Indicateur de sélection). Un indicateur de sélection spécifie si une cellule donnée de la
grille peut être utilisée pour participer à une permutation. On dira d’une cellule qu’elle est sélectionnable si
l’indicateur de sélection qui lui est associé est positionné à vrai.
L’indicateur de sélection est positionné à « vrai » pour toutes les cellules qui appartiennent aux partitions
affectées à chaque PbE. Une permutation n’est possible qu’entre cellules sélectionnables (cf. algorithme 15,
lignes 8-11) sauf lorsque le candidat (cellule à l’origine des permutations) est imposé au PbE par le PbM.
Dans ce cas, la cellule d’origine liée à la permutation peut correspondre à un candidat provenant des autres
partitions.
Nous verrons, dans l’étude de certains protocoles (no 1 et 4), que cet indicateur de sélection est également
utilisé pour limiter la recherche des meilleurs candidats sur chaque PbE aux partitions qui leurs sont
associées. Cela correspond à la propriété « étendue de recherche des meilleurs candidats » que nous venons
de décrire (cf. paragraphe 9.4.1).168 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
FIGURE 9.6 – Comparaison du fonctionnement général de chaque protocole distribué pour une itération.
Avec : (DC) Demande Candidats ; (RC) Recherche Candidats ; (SC) Synchronisation Candidats ; (DP) Demande
Permutations ; (RP) Recherche Permutations ; (SP) Synchronisation Permutations ; (AP) Application
Permutations. Le bleu représente un travail à l’échelle d’une partition et le jaune au niveau de la grille entière.
Un ovale en pointillé englobe les tâches réalisées par les esclaves, le reste étant pris en charge par le
processus maître. Les doubles traits pointillés indiquent un échange via le réseau.
Protocole 1 Protocole 2 Protocole 3 Protocole 4
9.4.3 Protocoles distribués
Les quatre protocoles distribués que nous proposons (voir figure 9.6) exploitent différemment le découpage
de la grille pour identifier à chaque itération les meilleurs candidats puis les meilleures permutations gagnantes
qui leur sont associées. Ces approches différentes sont synthétisées dans la table 9.1 qui reprend
pour chaque protocole ses principales caractéristiques. En nous appuyant sur ces caractéristiques, nous
expliquons maintenant le fonctionnement détaillé de chaque protocole, sachant que la grille globale est
toujours découpée en partitions de même taille, le nombre de partitions étant un paramètre de l’application.
Soulignons dès à présent que nos expérimentations (voir le chapitre 11) sont essentiellement basées sur
le protocole no 1 et le protocole no 4.
9.4.3.1 Protocole no 1
Dans ce protocole, chaque PbE est définitivement associé à une partition différente de la grille. À chaque
itération, il est nécessaire avec ce protocole de réaliser deux échanges entre le PbM et les PbE.
Dans un premier temps, le PbM demande aux PbE d’identifier leurs meilleurs candidats. Chaque PbE
recherche alors ses meilleurs candidats parmi les variables qui lui sont attribuées pour la configuration
globale partagée (concerne uniquement les cellules de CbG avec un indicateur de sélection à vrai). Grâce
aux informations collectées sur chaque PbE, le PbM peut constituer une liste globale des meilleurs candidats.9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 169
FIGURE 9.7 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 1. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations »
(cf. figure 9.4).
Dans un deuxième temps, le PbM demande aux PbE d’identifier leurs meilleures permutations à partir
de la liste globale des meilleurs candidats qu’il leur transmet. Chaque PbE recherche alors les meilleures
permutations possibles en considérant la liste des meilleurs candidats qui lui est imposée avec les cellules
qui lui sont attribuées.
Le PbM collecte les meilleures permutations provenant de chaque PbE et reconstitue une liste globale des
meilleures permutations. Pour reconstituer la liste globale des meilleures permutations, le PbM ajoute à cette
liste les meilleures permutations provenant de chaque PbE pour ne conserver que les meilleures (i.e. celles
qui apportent le meilleur gain) dans la limite d’une taille maximum définie par un paramètre.
Il applique alors ces permutations sur la CbG (comme on le ferait avec la version séquentielle). Il poursuit
en demandant à nouveau les meilleurs candidats aux PbE, tout en profitant de cet échange (i.e. message)
pour transmettre les permutations qu’il a effectivement réalisé afin que chaque PbE puisse synchroniser170 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
localement sa CbG.
Par rapport à l’algorithme séquentiel, le fonctionnement diffère dans la mesure où une liste de candidats
bannis doit être gérée localement sur chaque PbE, la recherche des candidats bannis étant de leur ressort.
Dans ces conditions, les dimensions dynamiques de la liste des candidats bannis sont calculées par rapport
au nombre de variables libres attribuées à chaque PbE. De plus, pour identifier les mauvais candidats qui
doivent être insérés dans ces listes locales, il est nécessaire de croiser les informations du PbM et des PbE
à chaque itération. Pour ce faire, après avoir identifié localement ses meilleures permutations, chaque PbE
transmet au PbM le meilleur gain trouvé par candidat imposé. Ces informations sont agrégées par le PbM qui
détermine pour chaque candidat le meilleur gain obtenu. Il retourne ensuite aux PbE la liste globale agrégée
des candidats incapables de générer un gain. Charge ensuite à chaque PbE de mémoriser dans sa liste locale
des candidats bannis les mauvais candidats reçus qui font partie des cellules dont il a la charge.
Les principes mis en œuvre avec ce protocole sont simples mais ce dernier laisse néanmoins apparaître
de nombreuses faiblesses :
• chaque itération nécessite une communication en 2 phases entre le PbM et les PbE pour identifier les
meilleurs candidats puis les meilleures permutations ;
• si on travaille avec un nombre réduit de meilleurs candidats et que les candidats considérés n’apportent
pas de gain, deux échanges (communications) sont réalisés entre le PbM et les PbE sans amé-
liorer la CbG ;
• à l’inverse, si on travaille avec beaucoup de candidats, on augmente le nombre de permutations à
évaluer séquentiellement sur chaque PbE, ce qui pénalise fortement les temps de calcul ;
• comme on recherche les meilleures permutations à partir des mêmes candidats sur chaque PbE, l’origine
des permutations remontées au PbM est réduite aux mêmes candidats, ce qui limite la diversité
spatiale des permutations et l’efficacité du mode multi-permutations.
Pour contourner certaines de ces difficultés, une solution consiste à aménager le mode multi-candidats
pour stopper le processus de recherche des meilleures permutations sur chaque PbE dès que le processus
a rencontré « x » candidats offrant un gain (« x » étant un paramètre de l’application). Mais dans ce cas,
l’identification des candidats bannis devient un peu plus complexe et on s’éloigne un peu plus du fonctionnement
séquentiel de l’algorithme. D’autre part, le temps de calcul pour les différents PbE risque alors de
varier fortement, la synchronisation entre les différents PbE rendant le temps de chaque itération dépendante
du PbE le plus long. Par exemple, imaginons pour une itération donnée que la liste globale des meilleurs candidats
imposés soit composée des candidats {c1, c2, . . . , c10} et que le processus de recherche des meilleures
permutations soit limité aux x = 2 premiers candidats offrant des gains. Si {c3, c5, c6, c8, c10} sont les seuls
bons candidats de la liste globale pour un PbE, ce dernier devra évaluer les permutations uniquement pour
{c1, c2, c3, c4, c5} ; c3 et c5 lui permettant d’honorer l’obligation de deux candidats avec gains.
Dans le même esprit, une autre possibilité (celle-ci n’ayant pas été implémentée) consisterait à poursuivre
l’évaluation des permutations à partir de la liste des candidats imposés jusqu’à ce qu’un nombre
minimum de permutations bénéfiques soit atteint.
9.4.3.2 Protocoles no 2 et 3
Ces deux protocoles tentent d’améliorer le protocole no 1 en éliminant une phase de communication sur
les deux obligatoires sans toutefois augmenter le nombre de PbE nécessaires. Ils fonctionnent en une seule
phase avec un nombre de partitions (lié au découpage de la grille) égal au nombre de PbE, chaque PbE étant
définitivement associé à une partie différente de la grille. Pour pouvoir fonctionner dans ces conditions,
ces protocoles abandonnent l’idée d’une recherche parallèle et fractionnée des meilleurs candidats et font
le choix d’identifier à chaque itération les meilleurs candidats de façon globale et séquentielle (par un
processus) sur la totalité de la grille.
Spécificités du protocole no 2 : meilleurs candidats identifiés par le processus maître9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 171
FIGURE 9.8 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 2. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations »
(cf. figure 9.4).
Pour ce deuxième protocole, l’identification des meilleurs candidats est totalement prise en charge par
le PbM, la liste étant ensuite transmise à tous les PbE en transitant par le message de demande des meilleures
permutations. En retour, chaque PbE retourne sa liste des meilleures permutations avec le score des candidats
effectivement évalués. Bien que les candidats bannis soient identifiés par le PbM, il est utile pour un PbE de
connaître les candidats bannis correspondant aux cellules de sa partition pour ne pas avoir à évaluer des
permutations y faisant référence. Compte tenu de cette remarque, on doit synchroniser la liste locale des
candidats bannis sur chaque PbE.
Spécificités du protocole no 3 : meilleurs candidats identifiés par chaque processus esclave
Pour ce troisième protocole, la charge d’identifier les meilleurs candidats sur la grille complète revient
à chaque PbE. À partir de cette liste générée à l’identique par chaque PbE, les PbE recherchent les meilleures
permutations gagnantes générées entre chaque candidat et les cellules sous leur responsabilité. Comme les
meilleurs candidats sont recherchés par chaque PbE sur l’ensemble de la grille, une liste des candidats bannis172 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
FIGURE 9.9 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 3. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations »
(cf. figure 9.4).
relative à la totalité de la grille doit être synchronisée sur chaque PbE et collaborant avec le PbM.
Ces deux protocoles éliminent une phase de communication (avec synchronisation) par rapport au protocole
no 1 tout en exploitant le même nombre de PbE. En contrepartie, l’évaluation séquentielle requise pour
identifier la liste globale des meilleurs candidats peut être pénalisante. D’autre part, même si le nombre de
phases a été réduit, la quantité d’informations devant transiter entre le PbM et les PbE reste quasiment la
même (avec moins de messages, mais plus d’informations dans chaque message), les PbE devant faire appel
au PbM pour synchroniser leur liste locale des candidats bannis. Finalement, les difficultés principales du
protocole no 1 relatives à la diversité spatiale des permutations et à la perte de temps occasionnée si aucun
candidat prometteur ne produit une permutation gagnante restent présentes.
9.4.3.3 Protocole no 4
Avec ce protocole, une seule phase (échange réseau synchronisé) est nécessaire à chaque itération entre
le PbM et les PbE. Néanmoins, pour le même nombre de partitions, il faut prévoir beaucoup plus de PbE, avec
|PbE| = |partition| ∗ (|partition| + 1)/2. Par exemple, pour un grille globale découpée en quatre parties
de même taille, il faut prévoir dix PbE, chaque processus esclave étant définitivement associé à une ou deux
parties de la grille (voir table 9.2).9.4. VERSION DISTRIBUÉE DE L’ALGORITHME 173
FIGURE 9.10 – Mode distribué : traitements réalisés à chaque itération avec le protocole no 4. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section « Itérations »
(cf. figure 9.4).
À chaque itération, chaque PbE recherche les meilleures permutations possibles uniquement entre les
parties qui lui sont assignées. Par exemple, le PbE n
o 1 de la table 9.2 examine les permutations des cellules
localisées dans la zone ① avec les autres cellules de la zone ①. Le PbE n
o 5 examine les permutations
des cellules de la zone ① avec les cellules de la zone ②, etc. Cette façon de procéder permet de couvrir
localement l’ensemble des permutations possibles sur la grille globale.
La recherche des meilleures permutations est bien entendu soumise à une liste des meilleurs candidats
établie préalablement. Lors d’une itération, chaque PbE commence par constituer en fonction des parties
qui lui sont confiées sa propre liste locale des meilleurs candidats. Pour un PbE affecté à une seule partie, il
recherche ses meilleurs candidats uniquement sur cette partie. Pour un PbE affecté à deux parties, il recherche
ses meilleurs candidats sur les deux parties (suivant l’indicateur de sélection décrit en section 9.4.2.2). Pour
chaque PbE, nous disposons d’une liste locale des candidats bannis dont la taille dynamique dépend du
nombre de cellules libres associées au PbE. Chaque candidat, de la liste locale des meilleurs candidats,
incapable de fournir le moindre bénéfice est directement ajouté à la liste locale des candidats bannis.
Les PbE sont synchronisés avec le PbM qui collecte les meilleures permutations et décide de celles qui
devront être appliquées. Une fois cette opération réalisée, le PbM demande à nouveau les meilleures per-174 CHAPITRE 9. RÉSOLUTION INITIALE BASÉE SUR ADAPTIVE SEARCH
TABLE 9.2 – Protocole no 4 : exemple de décomposition de la carte d’une ville en quatre parties de taille
uniforme (à gauche) et distribution de ces parties sur dix processus esclaves (à droite).
① ②
③ ④
Esclave 1 2 3 4 5 6 7 8 9 10
Partie ① ② ③ ④ ① ;② ① ;③ ① ;④ ② ;③ ② ;④ ③ ;④
mutations aux PbE en profitant de cet échange (message) pour transmettre à chaque PbE les permutations
qu’il a effectivement réalisé sur la CbG. Une fois synchronisés, les PbE peuvent rechercher les nouvelles
permutations en parallèle pour la même CbG.
Précisons tout de même que lorsqu’un PbE ne trouve aucune permutation favorable à partir de sa liste
locale des meilleurs candidats, il ne se synchronise pas immédiatement avec le PbM. Dans ce cas, au lieu
de rendre une réponse sans permutation au PbM, il relance automatiquement le processus local de recherche
de ses meilleurs candidats avant de rechercher les meilleures permutations correspondantes limitées à ses
zones de responsabilité. Le PbE poursuit cette succession de recherches jusqu’à ce que l’un des critères
suivants soit atteint :
1. il trouve des permutations favorables ;
2. il ne trouve plus de candidats (sa liste de candidats bannis est pleine et elle ne peut plus être agrandie) ;
3. son PbM le force à synchroniser sa CbG.
Concernant le critère no 3 évoqué ci-dessus, le PbM peut en effet reprendre la main au bout d’un certain
temps d’attente : lorsque certains PbE ne fournissent pas de réponse au bout d’un délai (timeout), le PbM
abandonne la communication en cours avec les PbE qui n’ont pas été en mesure de répondre dans les délais
à sa requête (pour fournir leur liste des meilleures permutations locales). Le PbM poursuit son travail avec
les résultats partiels obtenus (application des meilleures permutations) et réinterroge l’ensemble des PbE.
C’est à ce moment là que les PbE n’ayant pas encore répondus sont obligés de synchroniser leur CbG en
abandonnant leur recherche en cours.
Un mécanisme spéciale est mis en œuvre pour écarter les messages obsolètes qui ont pu être émis par
les PbE retardataires entre le moment où le PbM a abandonné son attente et le moment où les PbE ont été
sommés de se synchroniser. Pour écarter ces messages obsolètes qui peuvent arriver lors des synchronisations
ultérieures, un numéro d’itération est intégré dans tous les messages (doit être identique entre une
demande et les réponses correspondantes) et les réponses associées à un numéro d’itération inférieur au
numéro d’itération courant sont systématiquement ignorées par le PbM.
Concernant le délai d’attente (timeout) exploité par le PbM, il est difficile de le fixer de façon statique
compte tenu du contexte matériel, de la performance des réseaux en place ou encore de l’avancement dans le
processus de résolution. Nous avons donc fait le choix de le calculer de façon dynamique à chaque itération.
Pour le calculer, le PbM doit attendre la première réponse valide du PbE le plus rapide. Il peut alors définir le
timeout lié à l’itération en fonction du temps mis par le PbE le plus rapide, ce temps étant multiplié par un
coefficient paramétrable.
9.5 Conclusion
Ce chapitre dresse un inventaire des techniques principales que nous proposons pour générer une pré-
programmation urbaine à partir du modèle de contrainte défini pour notre problème d’aménagement urbain.
Dans un premier temps, cet inventaire décrit les méthodes mises au point pour générer des configurations
initiales ainsi que notre algorithme de recherche locale basé sur Adaptive Search. Après avoir identifié
différentes optimisations qui permettent d’améliorer les performances de cette métaheuristique, nous
introduisons les modes multi-candidats et multi-permutations qui viennent enrichir les possibilités déjà disponibles.
Dans un contexte séquentiel, l’exploitation de plusieurs candidats renforce la recherche d’une
meilleure permutation à chaque itération mais au prix d’un effort de calcul supplémentaire puisqu’il faut9.5. CONCLUSION 175
évaluer les permutations de chaque candidat. D’un autre côté, le mode multi-permutations profite d’une
exploration du voisinage de toute façon nécessaire pour mémoriser les meilleures permutations qui pourront
être appliquées en série sans nécessiter d’efforts significatifs de calcul. Ces deux modes peuvent être
activés séparément ou fonctionner simultanément. Lorsqu’ils collaborent, le mode multi-candidats peut
apporter de la diversité dans les meilleures permutations retenues. Provenant de secteurs géographiques différents,
les permutations sélectionnées ont alors plus de chance de ne pas interférer les unes avec les autres,
augmentant ainsi le nombre de permutations restant valides pour une application consécutive (i.e. en mode
multi-permutations, les permutations retenues lors d’une même itération sont appliquées en cascade).
Pour faire face à des instances de grande taille tout en contenant les temps de résolution, nous optons
pour une version distribuée de notre algorithme basée sur une décomposition de variables et pouvant être
déployée à grande échelle sur une grille de calcul. Cette version permet alors d’exploiter toute la puissance
des modes multi-candidats et multi-permutations sans nécessiter des temps de calcul supplémentaires, différentes
portions de la grille étant confiées à des processus œuvrant en parallèle pour identifier à chaque
itération les meilleures permutations d’une configuration globale synchronisée. Pour ce mode distribué,
nous avons exploré quatre protocoles pouvant être mis en œuvre, le quatrième étant celui qui offre le plus
d’autonomie aux processus esclaves qui s’affranchissent dans certaines circonstances des ordres donnés par
un processus maître qui sait mieux déléguer ses tâches tout en orchestrant un fonctionnement global de
l’algorithme cohérent et efficace.10
Mode interactif
La seconde étape de notre processus de résolution est interactive. Le but est de permettre aux utilisateurs de
garder le contrôle sur la solution à travers des manipulations interactives sur la ville. Dans le sens d’intégrer
intelligemment les interactions des utilisateurs, l’idée consiste à maintenir actif le processus de résolution
pendant que l’utilisateur effectue des modifications sur la solution.
Lorsque l’on évoque une possible interaction, on sous-entend généralement l’engagement d’au moins
deux acteurs (ou composants) impliqués dans une communication pour participer à une activité partagée.
D’ailleurs, le dictionnaire LAROUSSE donne au mot interaction la définition suivante : « Action réciproque
qu’exercent l’un sur l’autre deux ou plusieurs systèmes physiques ». Dans notre cas, on comprend aisément
l’interaction qui se joue entre les utilisateurs du système et l’interface graphique. Mais de notre point de
vue, l’interaction ne s’arrête pas là et elle intègre également le solveur qui doit, à tout moment, réagir aux
actions des utilisateurs [149, 171, 254, 255].
Dans ce chapitre, nous revenons sur les grands principes qui ont guidé nos choix pour mettre au point ce
mode interactif et nous présentons les différents composants impliqués dans l’interaction. Parmi les parties
prenantes, le système qui gère les communications entre les acteurs est considéré comme un élément à part
entière contribuant pour une large part à la réussite du processus global.
En contexte interactif, le support de multiples scénarios en lien avec un projet est essentiel du point de
vue de l’utilisateur, chaque scénario lui permettant de représenter une solution possible avec ses avantages
et inconvénients [249]. Nous commençons donc par présenter nos travaux dans ce domaine.
Nous expliquons ensuite le fonctionnement général de notre système en commençant par détailler les
différents paramétrages qui ont un effet indirect sur son comportement interactif. Nous décrivons ensuite les
manipulations directes qui peuvent être opérées sur la grille en relevant les principales difficultés techniques
qu’elles soulèvent. Enfin, un paragraphe entier est dédié aux composants graphiques mis au point pour
informer à la volée les utilisateurs des conséquences de leurs choix.
Ce qui nous importe dans ce chapitre, ce sont les fonctionnalités interactives ; l’aspect esthétique de
l’IHM n’étant ici qu’un aspect secondaire. Pour une question de simplification, nous proposons une version
2D de l’IHM qui peut très facilement être transposée en 3D compte tenu de la stratégie qui a guidé nos
choix.
10.1 Principes retenus
Pour que l’application soit réactive en toutes circonstances, les traitements gourmands (i.e. avec des temps
de calcul supérieurs à la seconde) exécutés à la demande du dispositif tactile doivent être lancés en mode
177178 CHAPITRE 10. MODE INTERACTIF
asynchrone dès que c’est possible : ceci permet aux utilisateurs de poursuivre leurs manipulations sans attendre
le résultat des calculs. En contrepartie, une technique (à base de synchronisation1
) doit être proposée
pour intégrer avec un temps de décalage le résultat des calculs asynchrones sans interférer avec les opérations
courantes des utilisateurs. De plus, les dispositifs utilisés pouvant être multi-utilisateurs (e.g. grandes
tables tactiles multi-touch), il est important que le système proposé puisse supporter le travail concurrent de
plusieurs utilisateurs sur des portions différentes d’une même ville.
D’autre part, les contraintes techniques ou bien les préoccupations n’étant pas les mêmes entre le dé-
veloppement d’une IHM et le développement d’un solveur, une exécution autonome et parallèle dans des
processus distincts est souhaitée. De cette manière, l’IHM peut être développée dans un langage de programmation
ou/et avec des outils différents de ceux retenus pour implémenter le solveur. Finalement, l’IHM et
le solveur doivent pouvoir fonctionner de part et d’autre sur des machines distantes, sans que la communication
entre les deux processus ne nécessite un couplage fort. Par exemple, on peut imaginer que la partie
IHM s’exécute sur l’ordinateur associé physiquement au dispositif tactile tandis que le solveur est déployé
sur une grille de calcul répartie sur plusieurs sites [243].
10.2 Présentation des composants impliqués dans l’interaction
Compte tenu des principes annoncés, nous proposons d’organiser l’interaction entre trois composants majeurs
(cf. figure 10.1) pour permettre à notre système d’être efficace (i.e. réactif aux demandes des utilisateurs)
:
• un gestionnaire de messages (asynchrone) ;
• une application liée au dispositif tactile ;
• un solveur interactif.
10.2.1 Gestionnaire de messages
Notre gestionnaire de messages (GDM) se charge de router les messages d’un processus émetteur à un processus
récepteur de façon asynchrone. Il peut être installé sur la machine qui héberge les processus qui vont
l’utiliser (émetteur et récepteur) ou bien sur une machine distante. Il n’y a aucune communication directe
entre l’émetteur et le récepteur : toutes les communications transitent par le GDM. En mode asynchrone,
l’émetteur confie son message au GDM et passe immédiatement à ses autres occupations. En complément
du GDM, un gestionnaire d’événements doit être activé sur chaque processus connecté au GDM pour qu’il
soit alerté dès qu’un message (lui étant destiné) est disponible.
Files de messages Une file de messages conserve les messages qui lui sont confiés tant qu’ils ne sont
pas explicitement récupérés par le destinataire. Les messages sont mis en file les uns à la suite des autres
sachant que les premiers entrés dans la file sont les premiers sortis. Un nom peut être donné à une file et
plusieurs files peuvent cohabiter en même temps. On peut choisir la file à utiliser en fonction de son nom.
Connecteurs d’entrée et de sortie Un connecteur d’entrée et un connecteur de sortie sont installés sur
chaque processus voulant travailler avec le GDM. Le connecteur d’entrée peut être vu comme un thread2
spécialisé capable de détecter à tout moment l’arrivée d’un message sur une file particulière. Dans ce cas,
il peut récupérer le message et lancer un traitement particulier. Ensuite, soit il passe au message suivant
présent dans la file, soit il se met en attente d’un prochain message à venir.
1Dans le sens d’une protection des données partagées entre différents processus légers.
2Processus léger qui partage sa mémoire virtuelle et qui est capable d’interagir directement avec le processus principal ou
avec d’autres threads associés au processus principal.10.2. PRÉSENTATION DES COMPOSANTS IMPLIQUÉS DANS L’INTERACTION 179
FIGURE 10.1 – Routage des messages et interception des événements entre le dispositif tactile et le solveur
interactif. Le gestionnaire de messages prend en charge le transfert des informations sur le réseau et permet
un couplage faible entre les deux processus. Deux connecteurs repérés par les lettres « E » et « S » permettent
à chaque processus (émetteur/récepteur) d’intercepter les messages qui lui sont destinés ou d’injecter de
nouveaux messages vers un processus destinataire dans une file donnée. Le solveur interactif incorpore les
fonctionnalités du solveur de base mis au point pour la résolution initiale et lui apporte les fonctionnalités
nécessaires pour gérer l’interaction.
Le connecteur de sortie permet de créer un nouveau message et de l’injecter dans le GDM sur une file
donnée. Les connecteurs d’entrée et de sortie peuvent œuvrer simultanément (en parallèle). Dans ce cas, les
traitements associés doivent être prévus pour protéger les données partagées susceptibles d’être modifiées
et exploitées par les traitements exécutés en entrée ou en sortie (protection nécessaire via un dispositif de
synchronisation).
10.2.2 Dispositif tactile
Le processus interactif doit permettre à un ou plusieurs utilisateurs de modifier l’organisation de la ville
en changeant l’emplacement des formes urbaines affectées aux cellules de la grille. On veut conserver un
fonctionnement par permutation au niveau de chaque action utilisateur : si l’utilisateur prend une forme
urbaine pour la positionner sur une autre cellule, il faudra donc procéder par échange des formes urbaines
entre ces deux cellules. Ces permutations imposées par l’opérateur sont alors transmises au solveur interactif
pour qu’il prenne en compte ces changements et qu’il calcule une nouvelle solution optimisée. Après cette
étape d’optimisation, le dispositif tactile doit être en mesure de récupérer les permutations automatiques
opérées par le solveur pour les reporter sur l’IHM.
Dans ce contexte, il faut donc distinguer deux origines possibles pour une permutation :
• soit il s’agit d’une permutation manuelle imposée par l’utilisateur ;
• soit il s’agit d’une permutation automatique issue du processus de résolution pour optimiser la solution
courante.
Les permutations manuelles sont issues de l’IHM tandis que les permutations automatiques sont géné-180 CHAPITRE 10. MODE INTERACTIF
rées par le solveur interactif. Pendant que le solveur interactif intègre les permutations manuelles et recalcule
une nouvelle solution proche de la précédente, il faut néanmoins permettre aux utilisateurs de poursuivre
leurs actions sans attendre les résultats des résolutions demandées.
10.2.2.1 Déplacement des formes urbaines
Du point de vue de l’utilisateur, nous représentons le déplacement des formes urbaines comme un « drag &
drop » qui lui permet de :
• sélectionner une ou plusieurs formes urbaines associées à des cellules d’origine ;
• déplacer le groupe des formes urbaines sélectionnées en faisant apparaître visuellement le groupe et
la trajectoire empruntée ;
• lâcher le groupe des formes urbaines sur les emplacements de destination.
Bien qu’il s’agisse d’un procédé classique dans l’utilisation et la perception, sa mise en œuvre relève
d’une implémentation particulière qui doit tenir compte de la contrainte de correspondance d’intensité ou
des cellules figées (routes, rivières, . . . ) qui ne doivent pas être modifiées et qui pourront être enjambées au
cours du déplacement. On doit également représenter la trajectoire empruntée en indiquant à l’utilisateur si
les cellules situées au dessous du groupe en mouvement sont compatibles pour accepter les formes urbaines
sélectionnées.
10.2.2.2 Réception et émission de messages
Les actions déterminantes des utilisateurs sont interceptées localement par l’IHM, un message correspondant
est généré et confié au GDM à destination du solveur interactif. Chaque message en provenance du
GDM et destiné au dispositif tactile est intercepté, interprété et une action adaptée est exécutée localement.
C’est toujours le dispositif tactile qui prend le premier l’initiative d’envoyer un message au solveur interactif,
ce dernier se mettant au service de l’utilisateur pour exécuter les actions qui lui sont demandées et
émettre un message en réponse à la demande lorsque l’action a été réalisée.
10.2.2.3 Liste des Permutations Imposées (LPI)
Lorsque l’opérateur réalise un déplacement de formes urbaines par drag & drop, le système génère un
nombre de permutations correspondant au nombre de formes urbaines impliquées dans le déplacement. Ces
permutations forment alors une liste de permutations imposées (LPI) qui est incorporée dans le message à
destination du solveur interactif.
10.2.3 Solveur interactif
Nous voulions utiliser un même solveur que cela soit dans le cadre d’une résolution initiale ou dans le cadre
de l’interaction avec les utilisateurs. Pour que cela soit possible, nous encapsulons (enveloppons) le solveur
de base (i.e. celui mis au point pour la résolution initiale) afin de le doter de fonctionnalités complémentaires
nécessaires à l’interaction, sans pour autant modifier le solveur de base. Le solveur interactif est connecté
au dispositif tactile par l’intermédiaire du GDM. Il doit être lancé avant les premières interactions et il se
termine automatiquement lorsque l’utilisateur ferme l’IHM. Le solveur interactif charge et mémorise la solution
courante dès le lancement de l’application. Il se synchronise (dans le sens d’actualiser) alors avec le
dispositif tactile en lui transmettant sa solution courante. Ensuite, à chaque fois qu’une action utilisateur est
interceptée par l’IHM, un message est transmis au solveur interactif pour qu’il reporte les opérations manuelles
issues de l’IHM sur sa solution courante. Il demande alors au solveur de base (celui qu’il encapsule)
d’exécuter une résolution initiale basée sur cette solution courante. Le résultat de la résolution calculé par
le solveur de base devient alors la solution courante du solveur interactif. Cette nouvelle solution est alors
communiquée au dispositif tactile pour une nouvelle actualisation des données liées à l’IHM.10.3. GESTION DES SCÉNARIOS 181
Au niveau de notre modélisation, nous consentons quelques compléments sur le modèle (lié au problème
d’aménagement urbain) pour mémoriser les choix des utilisateurs en terme de placement des formes
urbaines.
10.2.3.1 Modèle : mémorisation des cellules verrouillées par les utilisateurs
En complément des propriétés déjà présentes dans notre modèle (voir chapitre 8), nous proposons d’y
intégrer un indicateur (prenant la valeur vrai ou faux) associé à chaque cellule pour indiquer si la forme
urbaine affectée à la cellule est verrouillée (i.e. imposée) par l’utilisateur. Tant qu’une forme urbaine est
verrouillée à une cellule, le solveur ne peut pas la déplacer de lui même pour optimiser la solution courante.
10.2.3.2 Réception et émission de messages
Un gestionnaire d’événements écoute en permanence les messages en provenance du GDM et destinés
au solveur interactif. Dès qu’un message est disponible, il est récupéré, interprété et une action adaptée
est exécutée. L’action entreprise par le solveur doit être terminée avant qu’un autre message puisse être
« consommé » dans la file des messages entrants. En effet, nous souhaitons réutiliser telles quelles les fonctionnalités
du solveur de base sans devoir synchroniser (dans le sens de protéger les informations partagées
entre les processus légers) ses traitements/données internes. D’autre part, nous avons fait le choix d’empiler
les actions des utilisateurs pour les traiter séquentiellement. Cette façon de procéder permet de gérer de
façon transparente les actions provenant de plusieurs utilisateurs travaillant simultanément sur des parties
différentes d’une même ville. En réponse à l’action entreprise, le solveur peut émettre à son tour un message
destiné au dispositif tactile qu’il confie au GDM.
Si les utilisateurs sont très actifs ou/et que les opérations qu’ils demandent au solveur sont gourmandes
en temps, les messages en provenance du dispositif tactile vont pouvoir s’empiler dans le GDM et seront
traités un à un dès que le solveur sera à nouveau disponible.
10.2.3.3 Liste des permutations imposées (LPI)
Certains messages contiennent des permutations imposées par une action de déplacement (ou plusieurs
actions regroupées, ceci étant dû au mode de fonctionnement autonome, cf. section 10.4.3) réalisée par un
utilisateur. Dans ce cas, chaque permutation imposée par l’utilisateur est appliquée sur la solution courante
en échangeant les formes urbaines des cellules concernées. Pour chaque permutation de la liste prise une
à une et dans l’ordre d’arrivée, la cellule d’origine est marquée « déverrouillée » alors que la cellule de
destination est marquée « verrouillée ».
10.2.3.4 Résolution locale
En réponse à certaines actions d’un utilisateur, une résolution peut être lancée pour tenter d’améliorer la
solution courante tout en conservant les choix antérieurs réalisés par les opérateurs. Pour chaque action
associée à un déplacement de formes urbaines, les permutations imposées par l’utilisateur permettent d’établir
un périmètre autour des cellules d’origine et de destination, la taille de ce périmètre étant paramétrable.
Avant la résolution, toutes les cellules de la grille sont rendues non sélectionnables sauf celles comprises
dans le périmètre identifié. Ensuite, une résolution est demandée et le résultat (formes urbaines qui occupent
les cellules) est intégré dans un message à destination du dispositif tactile.
10.3 Gestion des scénarios
Compte tenu du caractère stochastique lié à la procédure de résolution initiale, il est possible de lancer
plusieurs fois la procédure à partir des mêmes critères (paramètres, territoire, formes urbaines à répartir182 CHAPITRE 10. MODE INTERACTIF
FIGURE 10.2 – Chargement d’un scénario mémorisé préalablement. Dans un premier temps, l’utilisateur
indique la ville de référence. Ensuite, il a la possibilité de charger un scénario de travail particulier relatif à
cette ville.
MLV avant
chargement
scénario
MLV après
chargement
scénario
sur la ville, etc.) pour obtenir des solutions différentes, chaque solution étant mémorisée dans une structure
XML3
autonome. À partir de ces différentes solutions, les experts peuvent en sélectionner une qu’ils vont
retravailler en opérant diverses modifications. Il faut pouvoir conserver le travail réalisé pour revenir dessus
par la suite afin de le compléter, pour le partager avec d’autres personnes ou tout simplement pour en garder
une trace. On peut également prévoir différentes versions de travail à partir de la même solution de départ
pour représenter différents scénarios possibles. Nous permettons de sauvegarder chaque scénario (au format
XML) indépendamment de la solution de départ (cf. listing 10.1). Pour cela, nous mémorisons pour chaque
cellule libre (GridCell) représentée par son numéro de ligne et de colonne :
• l’indicateur de verrouillage (CellLocked)
• la forme urbaine affectée (CellUrbanForm)
L’utilisateur pouvant personnaliser le poids de chaque contrainte pendant l’interaction, ces éléments (CompWeight)
doivent également être intégrés à la structure XML.
10.4 Paramétrage du comportement interactif
Le comportement des interactions entre le dispositif tactile et le solveur peut être modifié selon différents
paramètres que l’utilisateur peut changer à tout moment. Certains paramètres agissent sur les prochaines
saisies tandis que d’autres modifient le comportement du solveur. L’étude de ces différents paramètres permet
de dresser un premier inventaire des fonctionnalités interactives mises à la disposition des opérateurs.
10.4.1 Comportement de saisie
On propose aux utilisateurs quatre paramètres qui permettent de modifier le comportement de saisie sur
l’IHM :
3Extensible Markup Language.10.4. PARAMÉTRAGE DU COMPORTEMENT INTERACTIF 183
Listing 10.1 – Exemple de scenario mémorisé au format XML
1 xml v e r s i o n =" 1 . 0 " e n c o di n g =" ut f −8" ?>
2 < S i m u l a t i o n >
3 < F i l e Name=" / home / b r u n o / Documents / . . . / c o n t r i b −i n t e r a c t i o n / s c e n a r i o −mlv−v14 . xml " / >
4 < G r i d C e l l s >
5 < G r i d C e l l CellRow=" 0 " C ell C ol =" 0 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
6 < G r i d C e l l CellRow=" 0 " C ell C ol =" 1 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
7 < G r i d C e l l CellRow=" 0 " C ell C ol =" 2 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
8 . . .
9 < G r i d C e l l CellRow=" 101 " C ell C ol =" 256 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
10 < G r i d C e l l CellRow=" 101 " C ell C ol =" 257 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
11 < G r i d C e l l CellRow=" 101 " C ell C ol =" 258 " C ellL o c k e d =" f a l s e " CellU r ba nF o rm =" 0 " / >
12 < / G r i d C e l l s >
13
14
15
16 . . .
17
18
19 < / CompWeights>
20 < / S i m u l a t i o n >
FIGURE 10.3 – Paramétrage du comportement interactif.
• changement continu ;
• correspondance d’intensité obligatoire ;
• type de sélection ;
• taille du cercle d’influence.184 CHAPITRE 10. MODE INTERACTIF
FIGURE 10.4 – Mode continu désactivé (à gauche) ou activé (à droite).
10.4.1.1 Changement continu
Lorsque l’opérateur se saisit d’une forme urbaine affectée à une cellule4 pour la déposer à un autre emplacement,
soit on considère que l’opération se fait en un seul mouvement, soit on réalise une série de
mouvements tout au long du déplacement en considérant l’itinéraire emprunté pour aller de l’emplacement
d’origine jusqu’à l’emplacement de destination (voir la figure 10.4).
Un mouvement correspond à une permutation, la forme urbaine de la cellule d’origine étant échangée
avec la forme urbaine de la cellule de destination. Si le mode continu est désactivé, une seule permutation
est générée entre les cellules d’origine et de destination. Dans le cas contraire, le système tient compte de la
trajectoire empruntée à partir de la cellule d’origine, et à chaque fois qu’on se déplace d’une cellule sur la
trajectoire, une permutation est réalisée avec la cellule voisine. Après une série de permutations continues
impliquant la forme urbaine prise à la source, celle-ci vient se loger sur la cellule de destination. Dans ce
cas, toutes les formes urbaines rencontrées sur le parcours sont décalées d’une cellule vers l’emplacement
d’origine. Si on considère par exemple la suite de formes urbaines suivante {A, B, C, D, E, F, G} pour aller
de l’origine « A » à la destination « G », on obtient {G, B, C, D, E, F, A} hors mode continu alors qu’on
obtient {B, C, D, E, F, G, A} si le mode continu est activé.
10.4.1.2 Correspondance d’intensité obligatoire
Si le paramètre « même intensité » est activé (ce qui correspond à la valeur par défaut), l’opérateur est obligé
de sélectionner une cellule de destination dont l’intensité correspond à la cellule d’origine pour réaliser un
mouvement. Néanmoins, si on rencontre des intensités différentes sur la trajectoire qui séparent les deux
cellules origine et destination, en mode continu, ces dernières ne sont pas impliquées dans les échanges.
Par exemple, si le trajet implique les formes urbaines {A, B, C, D, E, F, G} pour aller de l’origine « A » à
la destination « G » et que les cellules liées à « C », « D » et « E » ont toutes des intensités différentes de
l’origine « A », on obtiendra la suite {B, F, C, D, E, G, A}
5
.
Cette option n’a aucun effet sur la contrainte de correspondance des niveaux d’intensité du solveur qui
reste toujours active pour réduire les mouvements possibles initiés par la résolution.
10.4.1.3 Type de sélection
Le type de sélection peut correspondre à l’une des options suivantes :
• sélection simple : une seule cellule peut être sélectionnée ;
• sélection étendue : pour sélectionner plusieurs cellules contiguës ou non ;
• sélection contiguë : pour sélectionner des cellules contiguës (en forme de rectangle).
Lorsque plusieurs cellules sont impliquées dans un même mouvement de groupe (le groupe correspondant
4En réalité, l’opérateur peut sélectionner plusieurs formes urbaines en même temps et le comportement reste le même pour
une ou plusieurs formes urbaines.
5La même remarque peut être faite pour des cellules fixes présentes sur le parcours10.4. PARAMÉTRAGE DU COMPORTEMENT INTERACTIF 185
FIGURE 10.5 – Déplacement d’un groupe de formes urbaines en une seule opération. Lorsque la correspondance
d’intensité doit être respectée, il faut conserver une correspondance stricte entre les intensités
des cellules d’origine et des cellules de destination, ces intensités étant repérées dans cet exemple par les
chiffres 1, 2, 3, 4.
aux cellules sélectionnées au même moment par l’utilisateur), elles représentent toutes les cellules d’origine.
Le processus de déplacement devient alors plus compliqué mais les principes évoqués jusqu’à présent
restent applicables, que le mode continu soit activé ou non. Dans ce cas, un mouvement est autorisé uniquement
avec un ensemble de cellules de destination ayant une correspondance stricte en nombre de cellules
impliquées, en organisation spatiale (liée aux cellules sélectionnées) et en intensité (si la correspondance
entre intensités est demandée) (voir figure 10.5).
10.4.1.4 Taille du cercle d’influence
Le cercle d’influence prend forme autour des cellules impliquées dans un déplacement et correspond à la
fois à :
• un indicateur visuel permettant à l’opérateur de repérer les zones de la grille qui seront impactées par
un mouvement ;
• une distance permettant au solveur de déterminer les zones de la grille à considérer autour des changements
imposés par l’utilisateur pour exécuter une résolution locale limitée à ces zones.
La taille du cercle peut être paramétrée par l’opérateur pour agrandir ou réduire les zones impactées par un
déplacement (voir figure 10.6). Plus le cercle est important, plus les effets d’un déplacement seront pris en
compte sur la réorganisation automatique d’une ville en contre partie d’un temps de résolution plus long.
L’utilisateur doit donc trouver un juste compromis entre la réactivité du système et la portée des réparations
automatiques réalisées par le solveur, en fonction de son contexte de travail (puissance du matériel, temps
d’attente admissible, etc.). D’autre part, il peut changer la taille du cercle à tout moment. Par exemple,
l’utilisateur peut décider de fixer une taille du cercle en adéquation avec l’importance des opérations qu’il
réalise, cette importance pouvant être liée au type des formes qu’il déplace, au nombre de formes urbaines
impliquées dans un déplacement ou à la distance du déplacement.
10.4.2 Administration distante du solveur
Par l’intermédiaire de l’IHM, il est possible de :
• désactiver le solveur de base ;
• réactiver le solveur de base ;
• demander une résolution globale sur le solveur.
Par défaut, le solveur de base est actif. Lorsque l’opérateur demande sa désactivation, on conserve un
échange des messages à la volée entre le dispositif tactile et le solveur interactif. Dans cette situation, le
solveur interactif continue d’appliquer les permutations demandées par l’opérateur sur sa solution courante186 CHAPITRE 10. MODE INTERACTIF
FIGURE 10.6 – Cercle d’influence permettant d’identifier la taille des zones impactées par un mouvement.
Dans cet exemple, le cercle de gauche identifie la zone d’origine et le cercle de droite la zone de destination,
les cellules appartenant à ces deux zones étant soumises à une résolution locale. En dehors des cercles, les
formes urbaines restent en place.
mais il ne demande plus aucune résolution locale, ce qui revient à une saisie manuelle coté IHM et à un
report automatique des saisies sur la configuration courante du solveur interactif sans optimisation.
La réactivation du solveur de base intervient sur les prochains mouvements sans être rétroactive. Compte
tenu de ce fonctionnement, il peut être utile de demander une résolution globale après avoir fait une série
de modifications en mode désactivé. La résolution globale considère toutes les cellules de la grille comme
sélectionnables. Par contre, les cellules qui ont été verrouillées par l’utilisateur restent verrouillées.
En associant ces différentes fonctionnalités, l’opérateur peut réaliser une série de modifications en maintenant
une cohérence entre ses saisies et la configuration courante du solveur interactif, sans demander de
résolution. Lorsque ses saisies sont terminées, il peut alors demander une résolution globale qui tiendra
compte de tous les déplacements opérés et cherchera à réparer l’ensemble de la configuration courante sans
remettre en cause les choix réalisés en bloc par l’opérateur.
10.4.3 Mode de fonctionnement autonome
Cette option intitulée « empiler les permutations » permet de travailler en mode autonome sur le dispositif
tactile en interrompant jusqu’à nouvel ordre les communications réseau avec le solveur. Au lieu de
transmettre, au fur et à mesure des saisies, les permutations imposées au solveur ; le système mémorise
ces permutations dans une liste locale d’attente. Lorsque l’opérateur demande à « désempiler les permutations
», la liste locale d’attente est transmise en un seul bloc au solveur qui applique en séquence toutes les
permutations imposées. On revient alors à un mode de fonctionnement normal.
10.4.4 Administration des composants graphiques de retour
Il est possible de désactiver/réactiver la mise à jour temps réel des composants graphiques en charge de
faire un retour visuel aux utilisateurs (cf. section 10.6). En effet, lorsque ces composants sont actifs, ils
nécessitent des informations particulières en provenance du solveur après chaque résolution :
• coûts par contrainte ;
• coûts par cellule.
La désactivation permet d’alléger temporairement les échanges réseau entre le dispositif tactile et le solveur.10.5. MANIPULATIONS DIRECTES SUR LA GRILLE 187
10.4.5 Réglage du poids de chaque contrainte
Côté modèle, un poids est spécifié pour chaque contrainte (voir la section 8.3.1). Grâce à ce dispositif
graphique permettant d’ajuster dynamiquement les poids, l’utilisateur peut revenir sur les valeurs par dé-
faut pour modifier la priorité donnée à chaque contrainte en fonction de ses propres appréciations (voir
figure 10.3). Après la modification des poids sur le dispositif tactile, il faut demander une « synchronisation
» qui se charge de transmettre ces nouveaux paramètres au solveur et qui demande en retour les
nouveaux coûts par contrainte et par cellule pour réactualiser les composants graphiques de retour visuel
lorsqu’ils sont actifs.
10.4.6 Taille de chaque cellule
Il s’agit de définir la taille graphique des cellules sur le dispositif tactile, chaque cellule correspondant
toujours à un îlot urbain de 80x80 mètres. Cette fonctionnalité est très pratique pour représenter les villes
importantes sur le dispositif tactile sans nécessiter trop de place à l’écran, ce qui permet à l’utilisateur de
travailler à l’échelle graphique voulue, une petite taille étant propice à un déplacement groupé de plusieurs
formes urbaines ou à des déplacements importants (en distance).
FIGURE 10.7 – Paramétrage de la taille des cellules.
Taille cellules = 30x30 Taille cellules = 14x14
10.5 Manipulations directes sur la grille
10.5.1 Déplacer une forme urbaine ou un ensemble de formes urbaines
Pour éviter qu’une modification locale réalisée par l’utilisateur puisse impacter la ville entière (i.e. changer
l’ensemble de la solution), la manipulation d’un ensemble de formes urbaines a été définie de manière
à impacter localement la carte. À cette fin, la taille du cercle d’influence est tout d’abord précisée par
l’utilisateur (voir la section 10.4.1.4) pour définir la région dans laquelle les calculs (i.e. optimisation) seront
effectués autour des changements demandés par l’utilisateur. Les utilisateurs peuvent alors sélectionner une
ou plusieurs formes urbaines qu’ils déplacent interactivement sur la carte.
Deux modes d’interaction sont proposés :
• soit le calcul est effectué uniquement lorsque l’utilisateur dépose les formes urbaines sélectionnées à
un nouvel emplacement ;
• soit le calcul est effectué en continu dès que l’utilisateur déplace les formes urbaines.188 CHAPITRE 10. MODE INTERACTIF
Dans le premier cas, les permutations imposées sont identifiées au moment où l’utilisateur dépose les
formes urbaines. On demande alors au solveur une optimisation locale. Cette situation correspond au graphique
de gauche de la figure 10.4 et ne nécessite qu’une seule demande d’optimisation.
Dans le second cas, à chaque mouvement (dans le sens d’un déplacement du pointeur sur la trajectoire),
les permutations imposées sont définies et on demande une optimisation locale. Par rapport à la figure 10.4,
ce cas est représenté par le graphique de droite et l’exemple nécessite six demandes successives d’optimisation,
chaque demande correspondant à un mouvement sur l’itinéraire emprunté. Si on s’en tient aux
traitements réalisés, le mode continu peut être ramené au premier cas : c’est comme si l’utilisateur avait
demandé six drag & drop consécutifs en se déplaçant à chaque fois d’une seule cellule.
10.5.1.1 Construction de la LPI (Liste des Permutations Imposées)
Si le déplacement ne concerne qu’une forme urbaine, la construction de la LPI est simple car elle ne contient
qu’une seule permutation liée aux deux cellules d’origine et de destination. Une fois la permutation récupérée
coté solveur, les deux cellules sont identifiées et on procède à l’échange des valeurs entre les deux
cellules.
Le problème est un peu plus complexe lorsque plusieurs formes urbaines sont impliquées dans un même
déplacement. Dans ce cas, il faut projeter le déplacement sur les cellules de départ pour identifier une à une
les cellules de destination. Par rapport à l’exemple à gauche de la figure 10.8, si l’utilisateur sélectionne les
deux formes urbaines « 1 » et « 2 » du haut pour les déplacer vers le bas, on obtient les deux permutations
suivantes :
• la permutation « A » correspond à la cellule d’origine (1,2) avec la cellule de destination (4,5) ;
• la permutation « B » correspond à la cellule d’origine (2,3) avec la cellule de destination (5,6).
Quel que soit l’ordre d’insertion des permutations dans la LPI, le solveur sera en mesure de placer les
bonnes formes urbaines sur les bonnes cellules.
Néanmoins, si on considère l’exemple à droite sur la figure 10.8, la situation devient encore un peu
plus difficile. Dans cet exemple, le déplacement concerne les deux cellules du haut positionnées en (1,2) et
(2,3) mais l’utilisateur demande un décalage d’une seule cellule en descendant sur la diagonale. Nous avons
toujours deux permutations à générer, mais dans le cas d’un chevauchement (intersection non vide) entre la
zone d’origine et de destination, il faut tenir compte de la trajectoire pour déterminer l’ordre dans lequel les
permutations imposées doivent être ajoutées à la LPI, pour qu’elles puissent être rejouées ensuite de façon
cohérente sur le solveur. Si on considère les deux permutations suivantes :
• la permutation « A » correspond à la cellule d’origine (1,2) avec la cellule de destination (2,3) ;
• la permutation « B » correspond à la cellule d’origine (2,3) avec la cellule de destination (3,4).
Il faut impérativement appliquer la permutation « B » avant la permutation « A » pour que la cohérence
du déplacement soit maintenue. Lorsque le mode continu est sélectionné avec un déplacement groupé de
plusieurs formes urbaines, ces situations sont habituelles puisque le système doit actualiser la LPI à chaque
mouvement.
10.5.1.2 Prise en compte du cercle d’influence par le solveur
Au lieu de transférer vers le solveur interactif les identifiants des cellules présentes dans les cercles d’in-
fluence (représentés sur l’IHM), on transmet uniquement la dimension du cercle d’influence (le rayon) dans
chaque message de type déplacement. C’est le solveur interactif qui se charge ensuite d’identifier les cellules
appartenant aux cercles d’influence liés aux permutations imposées. Afin de simplifier les procédures,
ces cellules correspondent à l’union des voisinages V
d
l,c de chaque cellule Vl,c impliquée dans une permutation
imposée, avec d correspondant au rayon du cercle (voir figure 10.9). Ces notations proviennent de la
section 8.3.1.3.10.5. MANIPULATIONS DIRECTES SUR LA GRILLE 189
FIGURE 10.8 – Création de la liste des permutations imposées en fonction du type de sélection et de déplacement
des formes urbaines.
Ici, l’ordre d’application des
permutations est sans importance
Lorsqu’il y a chevauchement entre la
zone d’origine et de destination, il faut
tenir compte de la trajectoire pour définir
l’ordre d’application des permutations :
échanger 2 ↔ 3 puis 1 ↔ 3
FIGURE 10.9 – Cercles d’influences interprétés sur le solveur interactif : lorsque l’utilisateur déplace (en
groupe) les formes urbaines des cellules « 1 » et « 2 » sur les cellules « 3 » et « 4 » (en une seule opération), le
solveur interactif identifie autour des cellules d’origine et de destination les cellules faisant partie des cercles
d’influence. Pour cela, il utilise le voisinage V
d
l,c de chaque cellule Vl,c impliquée dans une permutation
imposée, avec d correspondant au rayon du cercle. Ces cellules sont alors marquées « sélectionnables »
pour participer à l’optimisation locale.190 CHAPITRE 10. MODE INTERACTIF
10.5.1.3 Cohabitation entre actualisation automatique de la grille et manipulations utilisateur
Le système que nous proposons permet à l’opérateur de poursuivre ses manipulations sur l’interface graphique
alors même que les résultats des optimisations demandées au solveur interactif :
• ne sont pas encore connus ;
• sont connus et éventuellement en cours de report sur l’IHM.
Pour autoriser ce fonctionnement particulier, plusieurs règles ont été élaborées :
• la solution courante présente sur le solveur interactif sert de référence : si il y a des différences entre
la représentation de la solution courante sur l’IHM et celle du solveur interactif, c’est la solution
présente sur le solveur interactif qui reste prioritaire ;
• l’IHM ne demande jamais au solveur de positionner une forme urbaine particulière sur une cellule.
Au lieu de cela, elle demande au solveur d’échanger les formes urbaines présentent sur deux cellules
données ;
• on s’autorise ponctuellement de légères différences entre les formes urbaines de la grille représentée
sur l’IHM et la solution courante localisée sur le solveur ;
• le solveur transmet au dispositif tactile le résultat de ses optimisations en indiquant la forme urbaine
associée à chaque cellule.
10.5.2 Verrouiller ou déverrouiller des cellules à la demande
À tout moment, l’utilisateur peut sélectionner un ensemble de cellules pour les verrouiller (sans avoir à
réaliser de déplacement). Il peut également sélectionner un ensemble de cellules pour les déverrouiller.
10.6 Retours visuels
Les retours visuels sont prévus pour permettre aux utilisateurs d’évaluer les impacts de leurs décisions.
Ces graphiques sont actualisés à la volée dès que des changements sont opérés sur la solution courante du
solveur interactif.
10.6.1 Carte de chaleur
La carte de chaleur présente les régions sur la carte où les coûts sont les plus importants (voir la fi-
gure 10.10), la couleur rouge de la légende correspondant aux coûts les plus élevés.
Pour actualiser ce graphique, le solveur transmet simplement le coût de chaque cellule pour la solution
courante. Les cellules étant situées sur la grille, on obtient instantanément une représentation spatialisée
des coûts. Ces coûts sont directement disponibles dans notre modèle (cf. chapitre 8) grâce aux fonctions de
coût définies pour chaque contrainte qui permettent de reporter les coûts des contraintes sur chaque tuple
« variable | valeur ».
En mode continu, l’utilisateur peut suivre les impacts sur la carte en fur et à mesure qu’il déplace un
groupe de formes urbaines, ce graphique étant actualisé à la volée à chaque mouvement.
10.6.2 Historique d’évolution des coûts
Une seconde représentation graphique, actualisée à intervalle de temps régulier (e.g. toutes les secondes),
affiche le changement de coût global, ainsi que l’évolution des coûts pour chaque contrainte considérée
(distance, accessibilité, taille critique, . . . ). Ainsi, l’utilisateur peut suivre l’impact de ses changements sur
chaque contrainte et identifier les contraintes qui s’améliorent au fil du temps ou au contraire celles qui se
dégradent (voir la figure 10.11).10.6. RETOURS VISUELS 191
FIGURE 10.10 – Carte de chaleur : les zones en rouge sur la carte font apparaître les régions correspondant
aux coûts les plus élevés. Cette carte est directement actualisée avec les coûts de chaque variable disponibles
dans notre modèle.
FIGURE 10.11 – Historique d’évolution des coûts par contrainte : ce graphique est composé de deux parties.
La partie de gauche indique le coût lié à chaque contrainte pour la configuration courante tandis que la partie
principale représente l’évolution des coûts par contrainte à intervalle de temps régulier.
A gauche du graphique, on retrouve un récapitulatif des coûts par contrainte lié à la dernière solution
connue. La grille du milieu quant à elle permet de voir l’évolution des coûts de chaque contrainte en fonction
du temps. Par défaut, ce graphique est rafraîchi à chaque seconde, cette intervalle de temps pouvant être
modifié par l’utilisateur (actualisation toutes les 2 secondes, . . . ). Dès qu’une modification est appliquée par
le solveur sur la solution courante, il transmet les nouvelles informations de coût par contraintes qui seront192 CHAPITRE 10. MODE INTERACTIF
prises en compte au rafraîchissement suivant de l’écran.
10.7 Vidéo d’accompagnement
Certaines options du processus interactif de résolution sont détaillées dans la vidéo d’accompagnement
(voir ici http://vimeo.com/80211470). En particulier, dans les situations où l’utilisateur déplace
volontairement une partie d’une zone industrielle (pour laquelle une taille de zone critique est spécifiée), le
processus de résolution repositionne automatiquement toutes les formes urbaines industrielles pour reformer
une nouvelle zone industrielle pour la taille critique spécifiée en intercalant des espaces de respiration
entre les usines et les maisons individuelles.
10.8 Conclusion
L’interaction entre composants est au cœur des systèmes complexes et, suivant la formule désormais bien
connue, « le tout qu’ils forment représente plus que l’addition des parties ». Notre système d’aide à la
décision n’échappe pas à cette formule et s’enrichit de l’interaction entre une IHM « taillée sur mesure »
et un solveur interactif, qui communiquent entre eux par l’intermédiaire d’un gestionnaire de messages
autonome.
Le système proposé maintient l’utilisateur au cœur du dispositif grâce à des fonctionnalités simples qui
lui permettent de garder un contrôle total sur la solution finale. Il a également à sa disposition une série de
paramétrages qui lui permettent d’adapter les comportements de l’interaction à ses propres besoins. Notre
modèle (voir le chapitre 8) mis au point pour la résolution initiale est réutilisable dans ce contexte avec
un minimum de modification, tout comme l’est le solveur de base utilisé pour la résolution initiale. En
encapsulant le solveur de base dans un solveur interactif, ce dernier peut bénéficier de toute sa puissance
tout en apportant de nouvelles fonctionnalités nécessaires à l’interactivité : le routage des messages, la
détection d’événements, la mémorisation de la solution courante avec des traitements permettant de la
manipuler, l’appel aux traitements d’optimisation, etc. La transformation des manipulations demandées par
l’utilisateur en permutations permet de se conformer au fonctionnement habituel. On retrouve d’une part
les permutations imposées par l’utilisateur sur l’IHM et d’autre part les permutations automatiques issues
des optimisations réalisées par le solveur.
Le gestionnaire de messages asynchrones se révèle pertinent pour actualiser les informations de part
et d’autre tout en conservant une IHM fluide et réactive en toutes circonstances. Pour que les résolutions
puissent se faire à la volée sans trop s’écarter de la solution courante, un cercle d’influence est automatiquement
défini autour des modifications opérées par l’utilisateur et seules les zones correspondantes sont
concernées par le processus d’optimisation. Cette fonctionnalité est prise en charge par le solveur interactif
qui ne rend sélectionnable, sur sa solution courante, que les cellules présentes dans les cercles d’influence.
En réduisant la zone à (ré)optimiser, on réduit les temps de résolution et on améliore la solution courante
sans trop s’en éloigner, la taille du cercle pouvant être modifiée pour ajuster l’éloignement autorisé et les
temps de calcul.11
Expérimentations
Dans ce chapitre, nous cherchons à évaluer différents aspects de nos travaux, à savoir les performances de
nos différents algorithmes de résolution (voir le chapitre 9), la qualité des solutions générées à partir de
notre modèle (voir le chapitre 8) ou encore la pertinence du mode interactif (voir le chapitre 10).
Pour faciliter la phase d’expérimentation, un paramétrage complet du solveur a été mis en place permettant
de tester tel ou tel aspect de son fonctionnement en modifiant un fichier unique contenant les valeurs des
différents paramètres. Parmi ces paramètres, on retrouve les entrées du modèle (avec les matrices d’interaction,
etc.), la déclaration de chaque contrainte, le type de déploiement et des paramètres plus spécifiques
comme la possibilité d’activer ou non la génération d’un tableau de bord complet. Le tableau de bord correspond
à une série de sondes logicielles positionnées au sein du solveur qui, si elles sont activées, mémorisent
au cours de la résolution des informations internes servant à générer des clichés instantanés sur son état
(représentés par des graphiques et vidéos).
Afin d’évaluer l’efficacité de nos différents algorithmes, nous activons ou désactivons par des paramétrages
adaptés certaines fonctionnalités proposées (e.g. version séquentielle ou distribuée, activation du
mode multi-candidat, etc.). Nous comparons ensuite les temps nécessaires à une résolution initiale par rapport
aux fonctionnalités mises en œuvre pour atteindre une qualité de solution qui soit acceptable pour un
problème réel : Marne-La-Vallée1
.
Pour les deux autres aspects, à savoir la qualité des solutions et la pertinence de l’interaction, nous avons
fait appel aux urbanistes impliqués dans le projet de recherche SUSTAINS pour avoir leurs retours. Pour
évaluer la qualité, les expérimentations ont également été menées sur Marne-La-Vallée. Différentes cartes
reprenant un nombre limité de formes urbaines ont été générées à partir de nos résolutions initiales, puis
analysées pour vérifier l’emplacement des formes urbaines par rapport aux différentes zones d’intensité ou
par rapport aux autres formes urbaines. Pour évaluer la pertinence de l’interaction, des démonstrations ont
été menées avec trois urbanistes expérimentés pour recueillir leurs opinions. Une vidéo a également été
mise à leur disposition pour représenter le fonctionnement général du mode interactif (cf. section 10.7).
11.1 Méthodologie
Dans la suite de ce chapitre, on parlera de version pour spécifier une exécution de la résolution initiale sur
un seul processus (version mono-processus, voir section 9.3) ou distribuée sur plusieurs processus (version
distribuée, voir section 9.4). On parlera de mode de fonctionnement pour indiquer si on supporte ou non
1Une ville nouvelle située à l’est de Paris, pour laquelle les urbanistes du projet SUSTAINS disposent de toutes les données
utiles.
193194 CHAPITRE 11. EXPÉRIMENTATIONS
de multiples candidats (mode multi-candidat, voir section 9.3.3) et si on supporte ou non de multiples
permutations (mode multi-permutation, voir section 9.3.4). On réservera le terme protocole pour savoir de
quelle manière on exploite la version distribuée (protocoles 1 à 4, voir la section 9.4.3).
11.1.1 Versions incrémentales de nos prototypes
Le premier prototype de notre solveur (résolution initiale) a été développé en Java avec CHOCO [147]
pour évaluer une méthode complète [222] de programmation par contraintes [16, 97, 9, 233]. Ce premier
prototype ne donnant pas des résultats satisfaisants pour une version limitée de notre problème (voir la
section 9.1 pour plus de détails), nous avons réalisé un second prototype en Java pour la même version du
problème afin d’évaluer les métaheuristiques de voisinage [111] (cf. section 5.6.2), notamment les méthodes
de descente (cf. section 5.6.4).
Compte tenu des résultats encourageants obtenus avec ce dernier prototype, la preuve du concept étant
faite, nous nous sommes orientés vers une version opérationnelle, pour notre problème complet, réalisée en
C++ et basée sur le framework EasyLocal++ [74] (voir le paragraphe 5.8.2). EasyLocal++ a été retenu
pour la puissance de son langage d’implémentation orienté objet, sa modularité et le fait qu’il soit dédié aux
techniques de recherche locale, ce qui lui confère une grande cohérence et une facilité de prise en main.
Dans la suite, nous considérons uniquement cette version opérationnelle.
11.1.2 Jeux de données
Nos jeux de données peuvent être exprimés sous la forme d’une représentation simplifiée, c’est à dire une représentation
de la ville qui ne détermine qu’une partie des propriétés du problème (voir la section 11.1.2.1).
Afin de réaliser nos expérimentations, nous avons exploité différents jeux de données pour représenter
les villes :
• neuf représentations simplifiées avec des tailles de grille différentes (voir la table 11.1) ;
• trois représentations complètes avec des tailles différentes : petite, moyenne, grande ;
• une représentation complète correspondant à la ville de Marne-La-Vallée (issue de données réelles
liées à cette zone urbaine, fournies par les urbanistes du projet SUSTAINS).
TABLE 11.1 – Neuf jeux de données proposés avec une représentation simplifiée de la ville pour participer à
nos expérimentations. Pour chaque taille de grille, nous mettons en correspondance le nombre de variables
du problème (i.e. nombre de cellules libres).
Grille Nombre de variables
8 × 8 64
16 × 16 256
24 × 24 576
32 × 32 1 024
40 × 40 1 600
48 × 48 2 304
56 × 56 3 136
64 × 64 4 096
128 × 128 16 384
11.1.2.1 Représentation simplifiée
Ce type de représentation ne détermine qu’une partie des propriétés du problème :11.1. MÉTHODOLOGIE 195
Listing 11.1 – Exemple de représentation simplifiée d’une ville constituée de 16 × 16 cellules, mémorisée
au format XML.
1 xml v e r s i o n =" 1 . 0 " e n c o di n g =" ut f −8" ?>
2 < M ai n C o n fi g u r ati o n >
3 < I n i t >
4 . . .
5 < G ri d SizeX=" 16 " SizeY=" 16 " / >
6
7 < I n t e n s i t i e s B y B l o c k V al u e s ="
8 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
9 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2
10 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2
11 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2
12 1 1 1 2 2 2 3 3 3 2 2 2 2 2 2 2
13 1 1 1 2 2 3 3 3 3 3 3 2 2 2 2 2
14 1 1 1 2 2 3 3 3 3 3 3 3 2 2 2 2
15 1 1 1 2 3 3 3 3 3 3 3 3 3 2 2 2
16 1 1 1 2 3 3 3 3 3 3 3 3 3 2 2 2
17 1 1 1 2 3 3 3 3 3 3 3 3 3 2 2 2
18 1 1 1 2 2 3 3 3 3 3 3 3 2 2 2 2
19 1 1 1 1 2 2 3 3 3 3 3 2 2 2 2 2
20 1 1 1 1 1 2 2 3 3 3 2 2 2 2 2 2
21 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
22 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
23 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 " / >
24
25
26
27 < A l l o c a t i o n I n t e n s i t y =" 1 " Numbe rO fBlocks=" 38 " / >
28 < / UrbanForm>
29 . . .
30
31 < A l l o c a t i o n I n t e n s i t y =" 1 " Numbe rO fBlocks=" 5 " / >
32 < A l l o c a t i o n I n t e n s i t y =" 2 " Numbe rO fBlocks=" 8 " / >
33 < A l l o c a t i o n I n t e n s i t y =" 3 " Numbe rO fBlocks=" 5 " / >
34 < / UrbanForm>
35 < / U rbanFo rms>
36 . . .
37 < / I n i t >
38 < / M ai n C o n fi g u r ati o n >
• la taille de la grille (16 × 16) (balise « Grid ») ;
• l’intensité de chaque cellule (balise « IntensitiesByBlock ») ;
• le nombre de chaque catégorie de forme urbaine à ventiler sur la ville, par niveau d’intensité (balise
« UrbanForms »).
Avec ces représentations, il n’y a pas de centralité et toutes les cellules font partie d’une ville carrée ou
rectangulaire. Les représentations simplifiées peuvent être construites manuellement. Par exemple, le listing
11.1 fournit une représentation simplifiée pour une grille 16 × 16.
11.1.2.2 Représentation complète
Les représentations complètes incorporent toutes les données du problème, y compris des informations
nécessaires aux applications des différents partenaires impliqués dans le projet SUSTAINS. On y retrouve
des éléments généraux de paramétrage (formes urbaines, axes routiers principaux, . . . ) et une information
détaillée pour chaque cellule :196 CHAPITRE 11. EXPÉRIMENTATIONS
• coordonnées spatiales ;
• indicateur (o/n) pour savoir si la cellule est présente ou non dans la ville ;
• indicateur (o/n) pour savoir si la cellule correspond ou non à une centralité ;
• indicateur (o/n) pour savoir si la cellule est constructible ;
• forme urbaine fixe liée à la cellule (route, rivière, . . . ) ;
• élévation de la cellule ;
• etc.
Les représentations complètes sont générées automatiquement par les logiciels du LIMSI2
, un partenaire
du projet SUSTAINS en charge d’identifier les propriétés d’une ville (contours, zones d’intensité, avenues
principales, etc.). La masse des informations présentes dans cette représentation est telle qu’une construction
manuelle de ce fichier n’est pas envisageable. Notre solveur3
récupère en entrée les éléments qui lui
sont utiles et incorpore le résultat de ses optimisations dans une copie du fichier avant de la transmettre aux
partenaires, notre objectif étant de renseigner une forme urbaine pour chaque cellule libre.
11.1.3 Paramètres de configuration
Le comportement du solveur dépend de nombreux paramètres que nous avons choisi de structurer et de
regrouper dans un fichier de configuration4
(au format XML). Plusieurs fichiers avec des paramètres particuliers
ont été créés pour définir des configurations différentes, ce qui permet de choisir un fichier de
configuration spécifique au lancement du solveur pour qu’il utilise des paramètres particuliers.
11.1.3.1 Indépendance des paramètres par rapport au problème à résoudre
Pour que les paramètres de configuration soient indépendants du problème à résoudre, deux approches
complémentaires ont été mises en place :
• certains paramètres sont exprimés en pourcentage pour les rendre dynamiques (e.g. taille initiale de
la liste des candidats bannis) ;
• la description du problème à résoudre (sous une forme simplifiée ou complète) dépend d’un fichier
XML indépendant du fichier de configuration.
L’utilisateur doit donc préciser deux éléments au lancement d’une résolution :
• l’emplacement et le nom du fichier qui contient les paramètres de configuration ;
• l’emplacement et le nom du fichier qui contient la représentation du problème.
11.1.3.2 Tirage de nombres aléatoires
Un paramètre de configuration particulier concerne le tirage de nombres aléatoires. Il s’agit du paramètre
« SeedValue » qui prend une valeur entière positive ou nulle. Si SeedV alue = 0, une même séquence
de tirages aléatoires donnera des résultats différents. Dans le cas contraire, pour une valeur donnée de
SeedV alue, une même séquence de tirages aléatoires donnera les mêmes résultats (i.e. une série de nombres
aléatoires identiques). Par exemple, ce paramètre permet de générer (ou non) des solutions aléatoires suivant
une même séquence de tirages aléatoires : ceci est essentiel lorsque l’on veut comparer des résultats en
partant d’une solution de départ identique.
En effet, les données indiquées dans nos expérimentations correspondent à une moyenne de 10 exécutions,
chaque exécution étant réalisée avec une valeur différente pour SeedV alue que l’on notera
{seed1, seed2, . . . , seed10}. De cette façon, chaque exécution démarre avec une solution initiale aléatoire
2Le Laboratoire d’Informatique pour la Mécanique et les Sciences de l’Ingénieur (LIMSI) http://www.limsi.fr/
index.fr.html.
3Lorsqu’aucune précision n’est donnée, cela concerne indifféremment le solveur de résolution initiale et le solveur interactif.
4
Il s’agit ici d’un fichier de paramétrage, à ne pas confondre avec une configuration dans le sens solution à un problème.11.1. MÉTHODOLOGIE 197
FIGURE 11.1 – Résumé des mesures sur l’application développée. Généré par l’outil SourceMonitor
(http://www.campwoodsw.com/sourcemonitor.html). Le nombre de lignes indiqué écarte les
lignes vides (*).
différente. Lorsque l’on veut comparer plusieurs versions (mono-processus ou distribué) ou modes de fonctionnement
(multi-candidats, multi-permutation) différents, chaque série d’exécutions reprend la même sé-
quence de valeurs pour SeedV alue, correspondant à la même séquence de solutions de départ.
11.1.4 Implémentation et déploiement
11.1.4.1 Implémentation
L’application a été développée en C++ et s’appuie sur le framework EasyLocal++ [74]. La communication
entre les processus distants se fait par échanges de messages en utilisant le middleware orienté message
Apache ActiveMQ (http://activemq.apache.org/) en lien avec la librairie ActiveMQ-CPP
(http://activemq.apache.org/cms/using-activemq-cpp.html).
Cette communication distante intervient à deux niveaux :
• en version distribuée : pour gérer les communications entre le processus maître et ses esclaves ;
• en mode interactif : pour gérer les communications entre le dispositif tactile et le solveur interactif.
La figure 11.1 fournit un résumé de l’application sur la base de métriques standards. Il s’agit d’un dé-
veloppement conséquent qui définit un peu plus de 200 classes C++ pour 30 000 lignes de code. Cette application
fonctionne sur les systèmes d’exploitation Windows et Linux. Nous utilisons le service InriaForge
pour faciliter le travail collaboratif, notamment Apache Subversion (https://subversion.apache.
org/) comme gestionnaire centralisé de versions pour le code source de l’application. Il s’agit en effet
d’un travail d’équipe réparti entre les sites de Nantes et de Rennes, avec une partie des développements
confiée à un ingénieur de l’Université Rennes 1 qui a pris en charge :
• le support complet des données XML ;198 CHAPITRE 11. EXPÉRIMENTATIONS
• les développements PHP5 pour gérer les échanges via HTTP avec les applications des partenaires,
notre moteur de résolution initiale étant exposé comme un service accessible via le Web ;
• la construction des principales IHM de rendu (en dehors des parties liées au mode interactif, cf.
chapitre 10).
11.1.4.2 Déploiement
Nous avons opéré trois types de déploiement différents et complémentaires sur des machines Linux.
Station de travail Dans un premier temps, les différentes versions sont déployées pour être testées sur ma
station de travail portable équipée de 3,8 Gio de mémoire et d’un processeur multi-cœurs Intel® CoreTM i7-
2630QM CPU @ 2.00GHz x 8. Le système d’exploitation correspond à la version Ubuntu 12.04 (precise)
64 bits.
Serveur de l’INRIA à Rennes Une version stable du solveur est déployée sur un serveur de l’INRIA
à Rennes pour assurer un service permanent de résolution initiale ouvert aux partenaires du projet SUSTAINS.
La communication se fait par échange, via HTTP6
, du fichier qui décrit la ville d’étude (voir la
section 11.1.2.2 qui décrit la représentation complète).
Grid’5000 Concernant la version distribuée, elle est déployée sur la plate-forme française Grid’50007
,
une grille de calcul expérimentale dédiée à la recherche pour réaliser des calculs distribués à grande échelle.
11.2 Tableau de bord
Nous avons instrumentalisé le code source de nos applications pour pouvoir analyser après coup le fonctionnement
interne de notre solveur et le comportement des différentes contraintes. Les analyses fournies
par le tableau de bord correspondent à des graphiques et à une vidéo, générés à la suite d’une résolution
initiale. Ces analyses ont permis d’adapter notre modèle lorsque cela était nécessaire (e.g. problème de performance
avec la contrainte globale de regroupement sur des instances de taille importante : grille 64x64).
Elles peuvent également être utilisées pour améliorer les performances du solveur ou procéder aux réglages
des nombreux paramètres de lancement utilisés lors des expérimentations.
Les graphiques repris dans cette section ont pour la grande majorité été réalisés à partir d’une résolution
initiale lancée le 7 février 2013 à 16h10 en utilisant une représentation incomplète basée sur notre grille
32 × 32. Il s’agit de données de tests qui ne correspondent pas nécessairement à la réalité, et qui peuvent
être en décalage avec la dernière version de notre modèle (voir la section 8.3.1). Cette résolution était liée
au paramétrage suivant des contraintes :
• Interaction entre formes urbaines : poids = 1 ;
• Accessibilité en tout point : poids = 100 ;
• Éloignement : poids = 15 ;
• Espace ou équipement tampon : poids = 20 ;
• Emprise (place) : poids = 15 ;
• Taille mini zone activité artisanale : taille minimum d’un groupe = 6 et poids = 1 ;
• Taille mini zone activité industrielle : taille minimum d’un groupe = 12 et poids = 1.
5Hypertext Preprocessor : langage de programmation principalement utilisé pour produire des pages Web dynamiques
(http://php.net/).
6Hypertext Transfer Protocol en anglais ou protocole de transfert hypertexte.
7Remerciements : plusieurs expériences présentées dans cette thèse ont été réalisées en utilisant la plateforme expérimentale
Grid’5000, issue de l’Action de Développement Technologique (ADT) Aladdin pour l’INRIA, avec le support du CNRS, de
RENATER, de plusieurs Universités et autres contributeurs (voir https://www.grid5000.fr)11.2. TABLEAU DE BORD 199
Listing 11.2 – Paramètres de configuration : exemple de paramétrage des sondes logicielles intégrées au
solveur. La totalité des sondes peut être désactivée (OverallActivation). L’activation/désactivation peut également
intervenir au niveau de chaque sonde (isActivated).
1 < O b s e r v e r s O v e r a l l A c t i v a t i o n =" f a l s e ">
2 < O b s e r v e r I d =" Be stM o veO b se r ve r " D e s c r i p t i o n =" M e i l l e u r s c o r e t r o u v e ( a c ha q ue i t e r a t i o n ) "
3 I s A c t i v a t e d =" t r u e " / >
4 < O b s e r v e r I d =" D e l t a C o s t O b s e r v e r " D e s c r i p t i o n ="Temps moyen p a r c y c l e ( i t e r a t i o n ) "
5 I s A c t i v a t e d =" t r u e " NbEventByCycle=" 20000 " N umE v e nt St a rt =" 0 " NumEventStop=" 0 " / >
6 < O b s e r v e r I d =" MakeMoveGUIObserver " D e s c r i p t i o n =" P e r m u t a t i o n a p p l i q u e e " I s A c t i v a t e d =" t r u e " / >
7 < O b s e r v e r I d =" R u n n e r O b s e r v e r St a rt E n d " D e s c r i p t i o n =" Du ree / c o ut au d e b ut / f i n de r e s o l u t i o n "
8 I s A c t i v a t e d =" t r u e " / >
9 < O b s e r v e r I d =" R u n ne rO b se r ve rNewBe st " D e s c r i p t i o n =" Du ree / d e l t a C o s t g l o b a l e t p a r c o n t r a i n t e "
10 I s A c t i v a t e d =" t r u e " / >
11 < O b s e r v e r I d =" S c o r e L a n d s c a p e O b s e r v e r " D e s c r i p t i o n =" P a y s a g e d e s d e l t a C o s t s p a r c e l l u l e "
12 I s A c t i v a t e d =" t r u e " / >
13 < / O b s e r v e r s >
D’autre part, il y avait 1 024 formes urbaines à répartir sur le territoire, ce nombre étant ventilé de la façon
suivante (ventilation fournie ici sans reprendre le détail par niveau d’intensité) :
• 152 maisons individuelles ;
• 120 maisons de ville ;
• 88 habitats intermédiaires ;
• 48 habitats collectifs R+4 ;
• 40 habitats collectifs R+7 ;
• 80 bâtiments tertiaires R+4 ;
• 40 bâtiments tertiaires R+7 ;
• 140 activités artisanales ;
• 80 activités industrielles ;
• 32 centres commerciaux ;
• 16 écoles maternelles ;
• 20 écoles primaires ;
• 20 collèges ;
• 12 lycées ;
• 12 équipements administratifs ;
• 12 équipements techniques ;
• 20 espaces sportifs de quartier ;
• 20 espaces sportifs inter quartier ;
• 72 espaces de respiration.
11.2.1 Mode opératoire
La génération des éléments du tableau de bord est prise en charge par des sondes logicielles positionnées
au cœur du solveur (voir un exemple de paramétrage avec le listing 11.2). Lorsqu’elles sont activées, elles
génèrent automatiquement des fichiers de trace pendant la phase de résolution. A la fin du processus de ré-
solution, des scripts sont disponibles pour générer les différents graphiques ainsi qu’une vidéo d’évolution
des paysages (voir la section 11.2.5). Pour retrouver les valeurs des principaux paramètres de configuration
utilisés lors de l’expérimentation, un fichier est généré afin d’en garder une trace. Tous les résultats
sont stockés dans un répertoire dont le nom est dynamique, en tenant compte de la date et de l’heure de
lancement.200 CHAPITRE 11. EXPÉRIMENTATIONS
11.2.2 Variation des coûts
Chaque permutation (i.e. échange des valeurs entre deux cellules de la grille, voir la section 8.3.1) appliquée
sur une configuration impacte son coût global en plus ou en moins. Cette différence correspond à la variation
de coût relative à chaque permutation appliquée sur une configuration courante (i.e. à chaque itération de
notre algorithme de résolution). Nous verrons dans les sections suivantes qu’une variation de coût peut
également être calculée pour une permutation sans qu’elle soit appliquée sur la configuration courante.
Dans ce cas, on parlera d’une variation de coût potentielle.
Les graphiques de variation des coûts que nous proposons se présentent sous deux formes :
• une partie récapitulative mettant en parallèle les différentes contraintes sur le même graphique (voir
la figure 11.2).
• une partie détaillée avec un graphique différent par contrainte (voir la figure 11.3) ;
A chaque itération, le système indique la variation du coût enregistrée pour chaque contrainte. La plupart
du temps, la variation est négative, ce qui contribue à la réduction du coût global sur la configuration
courante (nota : les variations apparaissent inversées sur nos graphiques). Il arrive néanmoins que la variation
soit positive sur une ou plusieurs contraintes. Ceci traduit une situation de conflit entre les différentes
contraintes où le gain obtenu pour l’une se fait au détriment des autres, le solde permettant tout de même
de réduire le coût global.
A la lecture des exemples proposés (voir la figure 11.2 ou 11.3), on voit une très forte activité tout
au long du processus de résolution pour les contraintes d’interaction (voir la section 8.3.2.3), d’éloignement
(voir section 8.3.3.1) et d’espace ou équipement tampon (voir section 8.3.3.4). Ceci paraît normal
pour la contrainte d’interaction qui est une contrainte générale qui s’applique à l’ensemble des cellules
(voir la section 8.3.2). Les deux autres contraintes (éloignement et espace ou équipement tampon) sont des
contraintes spécifiques (voir la section 8.3.3), néanmoins elles s’appliquent à beaucoup de formes urbaines
et tout comme la contrainte d’interaction, elles concernent le voisinage d’un nombre important de cellules.
La contrainte d’éloignement est néanmoins plus active au début de la résolution que la contrainte d’espace
ou équipement tampon qui présente une plus forte activité au milieu de la résolution. On peut en déduire
qu’une fois les formes urbaines suffisamment éloignées les unes des autres, elles rentrent moins en conflit
avec la contrainte d’éloignement. En fait, ces trois contraintes sont étroitement liées les unes aux autres, la
modification de l’une ayant des incidences directes sur les deux autres.
La contrainte d’accessibilité (dans sa version locale, voir la section 8.3.3.3) travaille beaucoup au tout
début de la résolution, ceci étant provoqué par son poids, le plus important parmi l’ensemble des contraintes,
qui la rend prioritaire sur les autres. Et une fois que les espaces de respiration sont bien répartis sur le
territoire, cette contrainte n’est que très rarement impactée.
Les deux contraintes de taille minimum qui s’appliquent aux zones d’activité artisanale et industrielle
présentent une activité différente l’une par rapport à l’autre. Il s’agit pourtant de la même contrainte appliquée
à deux formes urbaines distinctes ! Ceci peut s’expliquer, d’une part, par des paramètres de regroupement
différents, le nombre de formes industrielles à regrouper (nombre minimum pour former un groupe)
étant plus important que celui des activités artisanales. Une fois le regroupement des industries réalisé, il
est donc plus difficile à remettre en question. D’autre part, les relations entre les activités artisanales et les
autres formes urbaines sont plus souples (moins contraignantes) que celles liées aux industries, ce qui fait
que les industries sont plus vite isolées du reste, et moins impactées au fil de la résolution.
La contrainte d’emprise (formation des places, voir la section 8.3.3.5) est la contrainte qui est de loin
la moins active. Malgré son activité très faible, les variations de coût qu’elle présente sont globalement
importantes à chaque fois qu’elle est impactée. Cette contrainte intervient uniquement autour des collèges
et lycées, elle est donc limitée en nombre de cellules. Ceci explique probablement pourquoi elle est rarement
impactée.11.2. TABLEAU DE BORD 201
FIGURE 11.2 – Récapitulatif des variations de coût par itération pour chaque contrainte. Les variations de
coût qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte qu’une variation
négative apparaît au dessus de l’axe des abscisses, l’axe des abscisses représentant l’évolution du nombre
des itérations au cours d’une résolution.202 CHAPITRE 11. EXPÉRIMENTATIONS
FIGURE 11.3 – Détail des variations de coût par itération pour chaque contrainte. Les variations de coût
qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte qu’une variation négative
apparaît au dessus de l’axe des abscisses, l’axe des abscisses représentant l’évolution du nombre des
itérations au cours d’une résolution.11.2. TABLEAU DE BORD 203
11.2.3 Répartition des coûts par contrainte
Le graphique de répartition des coûts par contrainte permet de visualiser au fil des itérations la réduction des
coûts de chaque contrainte et la proportion qu’occupe chaque contrainte dans le coût global de la configuration
courante (répartie dans le temps). Par rapport à l’exemple de la figure 11.4, les coûts les plus importants
au début de la résolution sont répartis entre les deux contraintes Éloignement et Espace ou équipement tampon.
Ce sont également ces deux contraintes qui voient leurs coûts respectifs diminuer le plus par rapport
aux autres contraintes, ces diminutions étant les plus importantes au milieu de la résolution. Concernant la
contrainte Accessibilité en tout point, elle subit une diminution importante au tout début du processus de ré-
solution. La même remarque peut être faite pour la contrainte Interaction entre formes urbaines qui diminue
toutefois moins fortement et met plus de temps à se stabiliser, son coût restant globalement constant à partir
de l’itération 150. Les coûts des autres contraintes (Emprise, Taille minimum zone d’activité artisanale et
industrielle) restent très faibles tout au long de la résolution. Ceci peut s’expliquer par un nombre limité
de formes urbaines concernées par ces contraintes. Pour leur donner plus d’expressivité, on pourrait fixer
des poids supérieurs aux contraintes de regroupement (taille minimum), ce qui permettrait de rééquilibrer
la proportion des coûts entre l’ensemble des contraintes (voir la section 8.3.1).
FIGURE 11.4 – Répartition des coûts par contrainte : à chaque itération (en abscisse), on superpose le coût
total de chaque contrainte (en ordonnée). On reconstitue ainsi le coût global de la configuration courante
qui diminue au fil de la résolution. La représentation correspond à un histogramme très resserré, on ne peut
donc pas distinguer les barres qui sont réduites à des lignes verticales dont les couleurs correspondent aux
rectangles de la légende : la première forme urbaine indiquée dans la légende correspond à la forme urbaine
positionnée en bas du diagramme, etc.
11.2.4 Répartition des temps de calcul par contrainte
On s’intéresse ici à la performance des fonctions qui calculent, pour chaque contrainte, la variation du coût
occasionnée par les permutations potentielles ou par les permutations effectivement appliquées. Le nombre
d’évaluations étant très important (pour les variations de coût potentielles, voir le paragraphe 7.5.2.2), on204 CHAPITRE 11. EXPÉRIMENTATIONS
calcule une moyenne des temps de calcul pour un nombre d’appels donné. Par exemple, tous les 20 000
appels à ces fonctions, on enregistre le temps moyen requis pour chaque contrainte et on recommence pour
les 20 000 appels suivants, etc. Les temps sont exprimés en millisecondes avec une représentation cumulée
pour chaque contrainte. Sur la figure 11.5, on démarre la résolution avec un temps moyen cumulé de 0,11 ms
et on la termine avec un temps moyen cumulé à 0,18 ms. L’analyse de ce graphique permet d’expliquer cette
augmentation du temps de calcul moyen. En effet, au fur et à mesure de la résolution, le temps moyen de
calcul pour la contrainte Espace ou équipement tampon diminue très légèrement alors que le temps moyen
de calcul lié aux contraintes de taille minimum augmente plus fortement, avec une augmentation supérieure
pour la contrainte de taille minimum liée aux zones d’activité artisanale. Le nombre de formes urbaines à
répartir pour les activités artisanales est supérieur à celui des activités industrielles (140 contre 80) alors que
la taille minimale pour former une zone d’activité artisanale est inférieure à celle des activités industrielles
(6 contre 12). Ceci est suffisant pour expliquer le surcroît de temps nécessaire afin de gérer les activités
artisanales : plus de formes urbaines et plus de groupes (plus petits) à gérer.
FIGURE 11.5 – Répartition des temps de calcul par contrainte.
11.2.5 Paysage des gains lié à chaque candidat sélectionné
Les gains correspondent uniquement aux variations de coût négatives liées aux permutations évaluées (en
inversant les signes). A chaque itération du processus de résolution initiale, le solveur détermine un candidat
qui sera à l’origine d’une permutation gagnante. Ce graphique représente la répartition spatiale des gains11.2. TABLEAU DE BORD 205
pouvant être obtenus (voir la figure 11.6) en impliquant chaque cellule de la grille à la permutation gagnante
(i.e. avec le candidat retenu). La cellule la plus sombre correspond à celle qui offre le gain le plus important.
Un graphique différent est généré à chaque itération. La figure 11.7 reprend les premières itérations
une à une tandis que la figure 11.8 fait apparaître les premières itérations avec un pas de 10 en 10. Sur les
exemples, les représentations du début font apparaître plusieurs cellules très foncées, signe que plusieurs
gains importants sont réalisables à partir d’un même candidat. Mais l’aspect foncé disparaît rapidement
laissant entrevoir des gains moins significatifs. D’autre part, la répartition spatiale de ces gains varie et leur
nombre également, ceci pouvant être dû à la forme urbaine associée au candidat, les contraintes spatiales
spécifiques qui s’appliquent n’étant pas les mêmes d’une forme urbaine à une autre (voir la section 8.3.3).
Le nombre de cellules proposant un gain peut être important au début du processus en s’affichant avec
plusieurs nuances de gris. Mais très rapidement, ce nombre se réduit et les cellules offrant un gain deviennent
de plus en plus claires. Il est donc plus difficile de trouver une permutation gagnante au fur et
à mesure de la résolution. Un tirage aléatoire d’une cellule gagnante pourrait être envisagé au début du
processus mais ce choix ne semble pas judicieux pour les étapes suivantes.
A la fin du processus de résolution, une procédure automatique rassemble tous les graphiques générés
dans une vidéo unique pour représenter l’évolution du paysage des gains au fil de la résolution.
FIGURE 11.6 – Paysage des permutations gagnantes avec le candidat retenu pour une itération donnée. Pour
l’itération courante (no 1), un candidat (i.e. cellule non représentée ici) a déjà été identifié pour participer
à une permutation gagnante. Ce graphique représente la répartition spatiale des gains pouvant être obtenus
en impliquant une à une chaque cellule de la grille à la permutation gagnante (i.e. avec le candidat retenu) :
plus le gain potentiel est important, plus la cellule est sombre.206 CHAPITRE 11. EXPÉRIMENTATIONS
FIGURE 11.7 – Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la
résolution (i.e. à chaque itération), limitée aux 12 premières itérations. Chaque graphique correspond à une
itération. A chaque itération, un candidat est identifié pour participer à une permutation gagnante. Chaque
graphique correspond au paysage des permutations gagnantes avec le candidat retenu pour l’itération indiquée.11.2.
TABLEAU DE BORD 207
FIGURE 11.8 – Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la
résolution (toutes les 10 itérations). Chaque graphique correspond à une itération. A chaque itération, un
candidat est identifié pour participer à une permutation gagnante. Chaque graphique correspond au paysage
des permutations gagnantes avec le candidat retenu pour l’itération indiquée.
11.2.6 Comparaison des performances entre différentes versions de l’algorithme
de résolution
Comme indiqué dans la section sur le paysage des gains (voir section 11.2.5), un gain correspond à une
variation de coût négative liée à une permutation gagnante (en inversant son signe). On parlera également
ici de durée cumulée : il s’agit du temps mis par le processus de résolution pour atteindre une itération208 CHAPITRE 11. EXPÉRIMENTATIONS
donnée. Par exemple, la première itération est atteinte avec une durée cumulée = 0, la centième itération
correspond à une durée cumulée de 50 s, etc. Cette durée cumulée dépend bien évidemment de l’algorithme
employé pour résoudre un problème.
Sur un même graphique, nous comparons les performances de trois versions de l’algorithme de résolution
pour une même instance de problème en représentant à chaque itération :
• les gains obtenus sur le coût global de la configuration courante ;
• la durée cumulée utilisée par le processus de résolution depuis son démarrage.
En faisant apparaître ces résultats pour chaque version, on peut facilement comparer l’évolution des
gains au cours des processus de résolution et le temps global nécessaire à chaque version.
FIGURE 11.9 – Comparaison des temps et des gains obtenus à chaque itération entre différentes versions de
l’algorithme de résolution. L’instance correspond à une représentation simplifiée pour une grille 32x32. Les
temps sont exprimés en secondes. Les échelles de temps et de gains sont identiques d’une figure à l’autre.
L’axe des abscisses correspond à l’évolution du nombre des itérations au cours d’une résolution.
L’exemple proposé en figure 11.9 remonte au 14 mars 2013 et nous le reprenons ici pour illustrer cette
représentation (type de graphique) qui fait partie du tableau de bord, pas pour comparer précisément les
performances des différentes versions qui ont évolué depuis et que nous décrivons rapidement ci-dessous
sans rentrer dans les détails. La version standard recherche à chaque itération la meilleure permutation à
appliquer sur la configuration courante en évaluant toutes les combinaisons possibles. Il s’agit de la version
de référence correspondant à une méthode de plus forte descente (voir la section 5.6.4). La version candidat11.3. EXPÉRIMENTATIONS LIÉES À LA RÉSOLUTION INITIALE 209
recherche la meilleure permutation à chaque itération en évaluant les permutations possibles uniquement à
partir d’un meilleur candidat identifié (conforme à la méthode Adaptive Search, cf. section 5.6.9). La version
distribuée correspond au protocole no 4 (cf. section 9.4.3.3), avec un découpage de la grille en 4 partitions
confiées à 10 processus esclaves. Chaque processus esclave recherche 24 permutations au maximum à partir
d’un seul candidat. Le processus maître collecte alors l’ensemble des permutions provenant des différents
esclaves et applique en série les meilleures permutations collectées encore capables de produire un gain.
L’exemple de la figure 11.9 montre une version standard capable de trouver les meilleurs gains à chaque
itération mais dont le temps de résolution s’envole. Les deux autres versions (candidat et distribuée) né-
cessitent plus d’itérations, mais elles s’exécutent beaucoup plus rapidement. Ceci est lié au fait qu’elles
travaillent avec un nombre limité de candidats (voir la section 9.3), ce qui réduit très fortement le nombre
de permutations à évaluer à chaque itération. En contrepartie, il n’est pas sûr que la permutation retenue
pour une itération soit la meilleure. Toutefois, ce schéma indique que les candidats identifiés lors d’une
résolution sont pertinents pour générer des gains. Certes, les variations dans les gains trouvés sont importantes
pour la version candidat, mais on atteint tout de même des niveaux de gain comparables à la version
standard.
La version distribuée fait apparaître une variation des gains plus importante encore que le version candidat,
ceci étant lié à son mode de fonctionnement qui permet d’appliquer plusieurs permutations en série
(voir la section 9.3.4), certaines permutations retenues pouvant subir une dégradation importante par rapport
aux gains prévus. Mais en compensation, son fonctionnement permet de trouver un nombre supérieur
de permutations.
11.3 Expérimentations liées à la résolution initiale
11.3.1 Comparaison entre les principales versions et modes de fonctionnement
Nous comparons dans la figure 11.10 les temps de calcul pour une résolution initiale lancée dans différentes
conditions :
• version mono-processus ou distribuée (uniquement avec le protocole no 4, voir la section 9.4.3.3) ;
• mode multi-candidat activé ou non ;
• mode multi-permutation activé ou non ;
• nombre de processus esclaves (slaves) plus ou moins important.
Les tests sont réalisés sur la ville de Marne-La-Vallée qui contient 9038 cellules libres (i.e. variables).
Les résolutions s’arrêtent lorsqu’elles atteignent une qualité de solution acceptable ou dès qu’un timeout
spécifié est atteint. Nous définissons une solution acceptable comme une solution ayant un coût inférieur ou
égal à celui de la meilleure solution trouvée pendant la résolution distribuée mettant en œuvre 36 processus
esclaves (i.e. 1 260 717).
Les résultats indiqués pour les cinq expérimentations correspondent à une moyenne de 10 exécutions,
chaque exécution partant d’une instance aléatoire différente. Entre chaque expérimentation, on utilise néanmoins
les mêmes instances aléatoires de départ pour que les comparaisons soient cohérentes (cf. section
11.1.3.2).
Lors de ces expérimentations, nous utilisons les serveurs granduc situés au Luxembourg, avec 22 nœuds,
chacun ayant 2 CPU Intel à 2.0 GHz, 4 cores/CPU et 15 GB RAM.
Concernant la contrainte d’accessibilité (voir la section 8.3.3.3), nous avons activé la version locale
qui offre de bien meilleurs temps de calcul compte tenu de la taille réelle de nos instances (e.g. permet de
réduire le temps de recherche d’une itération de 4 minutes à quelques millisecondes sur une grille 64x64).
Les résultats montrent que la version séquentielle (mono-processus) est légèrement améliorée en activant
le mode multi-permutation. Mais les meilleures améliorations proviennent de la version distribuée,
qui tire le maximum d’avantages des modes multi-candidat et multi-permutation. Finalement, en considé-
rant le score cible de 1 260 717, on constate un accélération ×11.51 entre la version mono-processus de210 CHAPITRE 11. EXPÉRIMENTATIONS
FIGURE 11.10 – Tests des performances pour différentes versions (mono-processus, distribuée) et différents
modes de fonctionnement (multi-candidat et multi-permutation). Comparaison des temps de résolution (en
faisant une moyenne sur 10 exécutions par méthode) pour obtenir une solution initiale dont la qualité est
imposée sur l’instance de Marne-La-Vallée. La version distribuée est évaluée avec le protocole no 4.
base (modes multi-candidat et multi-permutation désactivés) et la version distribuée (36 processus esclaves,
mode multi-candidat activé avec 1 candidat par esclave, mode multi-permutation activé avec 10 permutations
par esclave).
Ces premiers résultats montrent que l’on peut exécuter nos algorithmes d’optimisation sur des villes de
taille réelle en moins d’une heure, ce qui paraît suffisant pour les besoins des urbanistes.
11.3.2 Évaluation des protocoles 1 et 4 de la version distribuée
Pour cette série d’expérimentations sur Grid’5000, nous avons utilisé les serveurs griffon de Nancy équipés
de processeurs Intel Xeon L5420 cadencés à 2,5 Ghz. Chaque nœud dispose de 2 CPU et chaque CPU de 4
cores, ce qui fait 8 cores disponibles par nœud.
Concernant les protocoles 1 et 4 qui ont été évalués ici, le mode multi-candidat est activé avec 1 candidat
par esclave. On récupère 10 permutations sur chaque esclave et pour rejouer une permutation sur le maître,
son gain ne doit pas varier (i.e. diminution par rapport à l’évaluation initiale) de plus de 80%.11.3. EXPÉRIMENTATIONS LIÉES À LA RÉSOLUTION INITIALE 211
FIGURE 11.11 – Recherche du nombre optimal de processus esclaves à mobiliser.
11.3.2.1 Nombre optimal de processus esclaves à mobiliser
Avec la figure 11.11, nous cherchons à déterminer le nombre optimal de processus esclaves à mobiliser sur
le problème de Marne-La-Vallée afin d’obtenir les meilleurs temps de résolution possibles pour atteindre
un coût global cible fixé à 1 350 000. Ce coût global cible a évolué par rapport aux expérimentations de la
figure 11.10 car le paramétrage des contraintes a été modifié entre temps.
Nous avons évalué les performances pour 36, 120, 231 et 465 esclaves sur les deux protocoles. Le
protocole no 4 a également été évalué avec 820 esclaves, en réalisant toujours une moyenne des résultats
sur 10 exécutions. Avec un nombre de processus esclaves identique, le protocole no 4 propose toujours des
temps de résolution inférieurs à ceux du protocole no 1. Pour le protocole no 1, on peut estimer un nombre
optimal de processus compris entre 100 et 200 compte tenu de la granularité de nos tests. Pour le protocole
n
o 4, il semblerait que le nombre optimal soit situé bien au delà, aux alentours de 800 esclaves.
Ces résultats mériteraient d’être approfondis en évaluant les temps de résolution pour un nombre d’esclaves
plus fin sur certaines portions de la courbe (e.g. incrémenter le nombre d’esclaves de 10 en 10 entre
100 et 200 esclaves pour le protocole no 1). Néanmoins, ils apportent la démonstration que le protocole no 4
est plus performant que le protocole no 1 pour un nombre d’esclaves équivalent, et que ce protocole supporte
également une bien meilleure montée en charge : 495 secondes, soit un peu plus de 8 minutes pour résoudre
le problème de Marne-La-Vallée, en mobilisant 820 esclaves.212 CHAPITRE 11. EXPÉRIMENTATIONS
FIGURE 11.12 – Comparaison des temps de résolution entre la version mono-processus et la version distribuée
déployée à grande échelle. Les protocoles 1 et 4 sont des protocoles distribués. Les intitulés « protocol-
[x]-[y]s » identifie le no du protocole (x) et le nombre de processus esclaves mobilisés (y).
11.3.2.2 Comparaison des temps de résolution entre la version mono-processus et la version distribuée
déployée à grande échelle
Finalement, nous comparons avec la figure 11.12 les performances des protocoles 1 et 4 de la version
distribuée avec la version mono-processus pour évaluer les accélérations maximales pouvant être obtenues
en mobilisant un nombre important de processus esclaves.
Concernant la version mono-processus, le mode multi-candidat est désactivé alors que le mode multipermutation
est activé avec 10 permutations. La meilleure accélération par rapport à la version monoprocessus
est obtenue par le protocole distribué no 4 en mobilisant 820 processus esclaves, on mesure alors
une accélération de ×36.45.
11.4 Retour des urbanistes
11.4.1 Évaluation des solutions initiales
Les urbanistes impliqués sur le projet SUSTAINS ont cherché un moyen d’analyser de manière précise la
répartition des formes urbaines sur le territoire de Marne-La-Vallée, ces éléments étant automatiquement11.4. RETOUR DES URBANISTES 213
générés par notre résolution initiale. Pour cela, ils ont sélectionné à partir de nos résultats certaines formes
urbaines qu’ils ont représentées séparément. Ils ont ainsi généré différentes cartes qui permettent de visualiser
la répartition des formes urbaines retenues en fonction de la zone d’intensité. Ces cartes ont été réalisées
pour les formes urbaines suivantes :
• l’habitat collectif R+4 et R+7 (cf. figure 11.13) ;
• les zones d’activités industrielles et artisanales (cf. figure 11.14) ;
• les espaces verts (cf. figure 11.15).
Une dernière carte reprend ensemble différentes formes urbaines positionnées par nos procédures d’optimisation
: les établissements scolaires avec les différentes formes d’habitat, ceci pour évaluer leur localisation
les unes avec les autres (cf. figure 11.16).
A partir de ces différentes représentations, ils ont pu analyser nos résultats au regard de leurs règles
métier.
Nous reprenons telle quelle leur conclusion :
« Ces représentations permettent de vérifier que la forme urbaine ne génère pas d’incohérence majeure,
mais également de considérer les voies possibles d’amélioration de ce module. En ce qui concerne par
exemple les établissements scolaires, on peut ainsi vérifier que les lycées correspondent bien à deux îlots
(une taille minimale est en effet requise afin que toutes les filières puissent y être représentées). De plus, on
observe qu’un collège peut être attenant à un lycée ».
FIGURE 11.13 – Répartition de l’habitat collectif par rapport aux niveaux d’intensité urbaine (intensités :
2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure
extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNELA-VALLEE.
Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO).214
CHAPITRE 11. EXPÉRIMENTATIONS
FIGURE 11.14 – Répartition des zones d’activité par rapport aux niveaux d’intensité urbaine (intensités :
2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale. Figure
extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNELA-VALLEE.
Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO).
FIGURE 11.15 – Répartition des espaces verts par rapport aux niveaux d’intensité urbaine, hors espaces
de respiration (intensités 2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une
résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE
TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) &
Valérie GACOGNE (COMPLEXIO).11.4. RETOUR DES URBANISTES 215
FIGURE 11.16 – Visualisation des établissements scolaires et de l’habitat. Formes urbaines positionnées sur
la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 :
EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs :
Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO).
11.4.2 Évaluation du mode interactif
Trois urbanistes expérimentés ont évalué de façon moins formelle les bénéfices du mode interactif au travers
de discussions ouvertes. Au cours des démonstrations avec eux, nous avons passé sous silence la sélection
et le chargement d’un scénario de travail, tellement cette opération parait naturelle. Nous avons donc récupéré
une ville déjà organisée (résultat d’une résolution initiale) pour la modifier manuellement. Si l’on se
réfère à la figure 10.2 qui met en parallèle la ville de Marne-La-Vallée organisée sous une forme aléatoire
(en haut) et sous une forme optimisée (en bas), il parait beaucoup plus facile d’opérer des arrangements
sur la carte optimisée qui est déjà bien structurée par rapport à l’autre totalement désorganisée. De plus,
une ré-optimisation locale est beaucoup plus rapide sur une partie perturbée ayant déjà fait l’objet d’une
optimisation.
Passée cette étape de chargement d’un scénario de travail, les urbanistes ont été très intéressés par la
possibilité de réarranger les éléments urbains sur la ville pendant que la carte se réorganise, en maintenant à
la volée la cohérence des contraintes. Dans la pratique, les manipulations des utilisateurs sont susceptibles
de réduire les coûts sur la contrainte d’interaction par exemple, mais il est commode de ne pas avoir à
traiter manuellement ces contraintes structurelles. Un autre exemple particulièrement expressif concerne la
contrainte de regroupement qui provoque le rassemblement des activités artisanales ou industrielles autour
des éléments d’un groupe fragmenté en cours de déplacement.
La carte de chaleur (voir la section 10.6.1) a été particulièrement appréciée car elle permet de repérer
de façon très intuitive et naturelle les régions de la ville dont les propriétés urbaines sont les plus dégradées.
Son actualisation « en temps réel » permet d’évaluer les impacts en cours de manipulation et guide les
déplacements de l’utilisateur, ce qui constitue une aide efficace lors de ses choix.
Le graphique qui propose un historique d’évolution des coûts (voir la section 10.6.2) apparaît moins
intuitif et a nécessité une explication préalable avant d’être accepté des utilisateurs. La partie à gauche de
l’écran, reprenant le détail des coûts par contrainte pour la configuration courante, pourrait être avantageusement
remplacée par un graphique en forme de camembert plus rapide à interpréter dans ce contexte
interactif.216 CHAPITRE 11. EXPÉRIMENTATIONS
11.5 Conclusion
Ce chapitre commence en expliquant notre méthodologie de travail. A cette occasion, nous sommes revenus
sur les premiers prototypes de notre solveur qui nous ont permis de faire des choix progressifs et éclairés.
Nous avons également présenté nos différents jeux de données et l’organisation mise en place pour gérer
les nombreux paramètres de configuration. Les sections implémentation et déploiement apportent des pré-
cisions sur l’architecture technique mise en œuvre, le volume des développements que nous avons réalisés
en équipe et mes choix de déploiement.
La partie suivante aborde les composantes du tableau de bord proposé pour analyser le fonctionnement
du solveur et le comportement des différentes contraintes. Plusieurs graphiques sont présentés : la variation
des coûts, la répartition des coûts, la répartition des temps de calcul ou encore la vidéo qui séquence le
paysage des gains potentiels liés à chaque candidat sélectionné. Cette partie se termine avec la présentation
d’un graphique capable de comparer la proportion des gains obtenus et des temps cumulés (depuis le début
des résolutions) à chaque itération pour trois versions différentes de nos algorithmes de résolution.
Nous abordons ensuite la partie « expérimentations liées à la résolution initiale ». La première section
compare les performances des principales versions (mono-processus et distribuée) en exploitant des modes
de fonctionnement différents (multi-candidat, multi-permutation). Nous nous focalisons ensuite sur deux
protocoles distribués (1 et 4) afin d’optimiser leur fonctionnement en qualifiant un nombre de processus
esclaves permettant d’obtenir les meilleures performances possibles (en temps de résolution pour un coût
cible sur une instance de taille réelle). Les meilleurs temps ont été atteints grâce à un déploiement sur
820 processus esclaves avec le protocole distribué no 4. Testé sur la ville de Marne-La-Vallée, ce protocole
distribué permet une accélération ×36 par rapport à la version mono-processus exploitée en mode multipermutation
activé (avec un maximum de 10 permutations).
Nous terminons ce chapitre en donnant la parole aux urbanistes qui ont pu évaluer deux aspects importants
de nos travaux : (i) la qualité des solutions générées par une résolution initiale et (ii) la pertinence du
mode interactif. Pour les résolutions initiales proposées, aucune incohérence majeure n’a été relevée. Des
possibilités d’amélioration existent et ouvrent la voie vers des perspectives de recherche complémentaires.
Le mode interactif a également suscité un fort intérêt, notamment pour ses possibilités de réarranger manuellement
des éléments urbains sur une ville désormais capable de s’adapter à la volée aux changements
demandés, en maintenant au mieux la cohérence des contraintes urbaines. La carte de chaleur capable de
représenter les anomalies urbaines par degré d’importance et de façon spatialisée constitue une véritable
aide aux utilisateurs pour opérer des choix en évaluant instantanément leurs impacts.IV
Conclusion
21712
Conclusion générale et perspectives
12.1 Conclusion générale
Nous avons commencé ce manuscrit en présentant les villes et les concepts du développement durable, deux
sujets qui ont des impacts importants sur les conditions de vie des populations urbaines de plus en plus
nombreuses. La conception de villes durables nécessite de prendre des décisions complexes qui engagent
des moyens souvent très importants et dont les effets sont visibles sur le long terme. Un état de l’art du
domaine ainsi qu’une analyse des outils mis à disposition des urbanistes nous ont permis d’étayer nos
propos.
Afin d’aider les urbanistes, aménageurs et décideurs dans le processus de conception de villes durables,
ma première contribution a été de proposer un modèle pour notre problème d’aménagement urbain qui
repose sur des contraintes spatiales, le but étant de répartir un ensemble équilibré de formes urbaines (ré-
sidences, commerces, industries, écoles, parcs, . . . ) sur un territoire vierge et délimité dans l’espace tout
en assurant la satisfaction des contraintes. Pour optimiser les instances de ce problème, nous avons associé
à chaque contrainte spatiale une fonction de coût capable d’évaluer le niveau de violation des différentes
propriétés urbaines qu’elle représente. Une description formelle de chaque contrainte a été proposée.
Ma seconde contribution porte sur la réalisation d’un solveur basé sur une méthode de recherche locale,
Adaptive Search [47, 48], étendu avec des heuristiques novatrices pour améliorer les temps de calcul. Une
version distribuée a également été proposée. Cette version distribuée a été déployée sur une grille de calcul1
pour générer différentes solutions sur Marne-La-Vallée, une ville nouvelle qui s’étend sur 8 728 hectares et
qui regroupe 234 644 habitants.
Les expérimentations menées sur cette ville ont mis en évidence des gains de temps significatifs liés
à la version distribuée de notre solveur. Cette version est capable de fournir de bons résultats dans des
temps raisonnables pour des villes importantes. De leur coté, les urbanistes associés au projet de recherche
SUSTAINS ont vérifié la qualité des différentes solutions générées (en automatique) par notre solveur sans
relever d’incohérence majeure. Ils évoquent des voies possibles pour l’amélioration de notre module.
La seconde étape du processus de résolution est interactive et elle correspond à ma troisième contribution
: le concepteur peut interagir avec les solutions générées tandis que le solveur ré-optimise localement
les zones autour des modifications demandées. Des retours graphiques générés à la volée permettent aux
opérateurs de visualiser les impacts occasionnés par leurs modifications. Une vidéo est disponible (voir ici
http://vimeo.com/80211470) pour illustrer le mode de fonctionnement interactif.
1https://www.grid5000.fr
219220 CHAPITRE 12. CONCLUSION GÉNÉRALE ET PERSPECTIVES
12.2 Perspectives de recherche
Concernant les performances tout d’abord, la version distribuée de notre solveur peut certainement être
optimisée. Pour cela, nous pourrions envisager une organisation maître-esclaves plus sophistiquée avec
des agents intermédiaires permettant de limiter les communications réseau les plus pénalisantes tout en
renforçant une autonomie plus grande localement (i.e. sur chaque nœud du réseau).
Suite aux évaluations des urbanistes, nous savons que le modèle que nous proposons peut être enrichi.
Reste à définir avec les experts du domaine les pistes pour l’étendre ou pour l’adapter à de nouveaux besoins.
En effet, le sujet que nous abordons est vaste et propice à de nouveaux projets de recherche très diversifiés.
Un projet urbain peut être envisagé à différentes échelles (ville, quartier, îlot, parcelle, . . . ), et il traverse
une succession d’étapes (pré-programmation, programmation, construction, . . . ) pouvant être en ruptures
les unes avec les autres. Fédérer cette succession d’étapes en envisageant une continuité entre les différentes
échelles constitue une perspective de recherche intéressante dans laquelle nos travaux pourraient s’intégrer.
Le développement durable repose sur un équilibre entre trois piliers de base représentés par l’économie,
l’écologie et les aspects sociaux. Il pourrait être utile de regrouper les contraintes de notre modèle sur la
base de ces différents piliers pour envisager une résolution multi-objectifs [51]. Cette approche renforcerait
la possibilité d’arbitrer des efforts limités dans un domaine pour procurer des gains significatifs dans les
autres.
Enfin, l’interaction que nous proposons est basée sur une représentation en 2D. Une interaction mettant
en scène des scénarios de villes en 3D pourrait se justifier pour des projets qui s’intéressent plus spécifiquement
à la perception visuelle ou aux ambiances urbaines. Aujourd’hui, rien ne nous empêche d’imaginer
une immersion interactive dans une ville virtuelle animée où l’utilisateur modifierait la ville à son gré et se
déplacerait dans les rues pour la percevoir sous ses différents points de vue et à différentes échelles : une
expérience urbaine numérique pour améliorer la qualité des villes du futur.
Bien que notre modèle soit limité, n’adoptant qu’une vue partielle du problème, appliqué seulement
à des villes nouvelles (ou à des nouveaux quartiers), il présente de premiers éléments de réponse dans
la tâche complexe d’aide à la création de villes plus durables, et ouvre des perspectives encourageantes
quant à la création d’une nouvelle génération d’outils de conception, dans une approche fondamentalement
pluridisciplinaire.Liste des tableaux
5.1 Problème du voyageur de commerce : temps de calcul nécessaire pour trouver le trajet le
plus court en réalisant une énumération exhaustive de tous les trajets possibles en fonction
du nombre de villes (un trajet pouvant être évalué en une microseconde). D’après [24]. . . 56
7.1 Pourcentages d’erreur des meilleures métaheuristiques appliquées au QAP. RobuTS (Recherche
tabou robuste [263]), ReacTS (Recherche tabou réactive [17]), Rec-Sim (Recuit
simulé [54]), Hybrid-Gen (Algorithme génétique [94]), Hybrid-Ant (Méthode de colonies
de fourmis [100]). D’après T. MAUTOR [187]. . . . . . . . . . . . . . . . . . . . . . . . 127
8.1 Paramètres des contraintes de regroupement par forme urbaine. . . . . . . . . . . . . . . 140
9.1 Principales caractéristiques liées au fonctionnement des différents protocoles distribués. . . 162
9.2 Protocole no 4 : exemple de décomposition de la carte d’une ville en quatre parties de taille
uniforme (à gauche) et distribution de ces parties sur dix processus esclaves (à droite). . . . 174
11.1 Neuf jeux de données proposés avec une représentation simplifiée de la ville pour participer
à nos expérimentations. Pour chaque taille de grille, nous mettons en correspondance le
nombre de variables du problème (i.e. nombre de cellules libres). . . . . . . . . . . . . . . 194
221Table des figures
1.1 Organisation de la thèse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1 Comparaison entre planification des villes et urbanisme ; d’après [69]. . . . . . . . . . . . 22
4.1 Échanges entre les modules attribués aux différents acteurs du projet SUSTAINS : ① Surface
à aménager et autres paramètres ② Objectif en nombre d’îlots de chaque type (maisons,
immeubles d’habitation, commerces, écoles, bureaux, . . . ) ③ Adresse du fichier de
configuration ④ Contenu du fichier de configuration dans lequel est assigné à chaque îlot
symbolique une fonction urbaine (maisons, immeubles d’habitation, commerces, écoles,
bureaux, . . . ) ⑤ Données sous la forme d’un fichier KML ⑥ Entrées issues du traitement
relatif au fichier KML ⑦ Volumes annuels de consommation par mode sous la forme d’un
fichier CSV ⑧ Fichier KML dans lequel a été inclus l’ensemble des résultats énergie et
transport ⑨ Fichier 3D de base ⑩ État du traitement du fichier 3D et index du projet.
(Schéma extrait du rapport de fin de projet SUSTAINS.) . . . . . . . . . . . . . . . . . . 46
4.2 Conception d’un environnement urbain durable en 4 étapes : (1) paramétrage des contours
du territoire urbain, des propriétés, des axes principaux, des centralités et des zones d’intensités
; (2) calcul du nombre de formes urbaines par niveau d’intensité ; (3) positionnement
automatique des formes urbaines sur la ville en respectant un équilibre entre les trois piliers
d’un développement durable (économique, social, et environnemental) sans privilégier l’un
au détriment des autres ; (4) manipulation interactive des formes urbaines avec maintien des
contraintes et préférences. Les deux dernières étapes sont au cœur de notre travail de thèse. 47
5.1 Méthodes classiques d’optimisation. D’après le livre [266]. . . . . . . . . . . . . . . . . . 61
5.2 Principe lié aux algorithmes d’approximation. D’après [239]. . . . . . . . . . . . . . . . . 64
5.3 Fonctionnement général d’une méthode de recherche locale : représentation sous la forme
d’une marche à travers l’espace de recherche en partant d’une solution initiale s0 et en se
dirigeant de proche en proche vers une solution optimale localement s
∗
. . . . . . . . . . . 76
5.4 Optimum global et local pour un problème de minimisation. . . . . . . . . . . . . . . . . 77
5.5 Paysage lisse d’après [181]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.6 Paysage rugueux d’après [181]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.7 Paysage d’un problème d’optimisation d’après [181]. . . . . . . . . . . . . . . . . . . . . 79
5.8 Principe de génération du voisinage à partir de la solution courante et sélection d’un voisin
d’après [35]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.9 Classification (I&D) des composants d’une stratégie de recherche proposée par BLUM et
ROLI [30] (OG = composants exclusivement guidés par la fonction objectif ; NOG = composants
I&D uniquement guidés par une ou plusieurs fonctions autres que la fonction objectif
; R = composants guidés de façon totalement aléatoire). Le composant repéré par une
croix ’X’ situé à mi-chemin entre l’intensification et la diversification n’est pas stochastique. 82
223224 TABLE DES FIGURES
5.10 Recherche tabou pour un problème de minimisation : déplacement dans l’espace de recherche
en sélectionnant à chaque itération le meilleur voisin dans un voisinage débarrassé
des solutions récentes marquées tabou (pour éviter les cycles). On alterne ainsi entre des
phases d’intensification et de diversification qui poussent la recherche à se diriger vers un
optimum global. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.11 Modèle parallèle de programmation Master-Slave d’après [58]. . . . . . . . . . . . . . . . 92
5.12 Décomposition de domaine suivant le modèle de programmation Master-Slave d’après [58]. 93
5.13 Modules de la plateforme ParadisEO d’après [146]. . . . . . . . . . . . . . . . . . . . . . 98
6.1 Modèle IDC (Intelligence, Design, Choice) proposé par H.A. SIMON [249]. . . . . . . . . 100
6.2 Correspondance entre l’importante des phases du modèle IDC et la structuration des décisions
proposée par LE MOIGNE [167]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.3 Structure d’un SAD proposée par SPRAGUE [255]. . . . . . . . . . . . . . . . . . . . . . 102
6.4 Comparaison des profils de qualité de deux méthodes de résolution M1 et M2 sur une même
instance de problème. Bien que les deux méthodes atteignent l’optimum pour un temps T
de résolution identique, la méthode M1 apparaît plus efficace que M2 dans un contexte
interruptible. D’après la thèse de Lionel LOBJOIS [172]. . . . . . . . . . . . . . . . . . . 105
7.1 Profit de la rente foncière et anneaux de Von THÜNEN (pour 3 anneaux). D’après J.H. VON
THÜNEN et al. [279]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.2 Modèle de CHRISTALLER : théorie des lieux centraux. D’après W. CHRISTALLER [45]. . . 111
7.3 Modèle de ZIPF : relation rang-taille des unités urbaines françaises en 1990. D’après FABRIÈSVERFAILLIE
et al. [89]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.4 Modèle de rente à payer en fonction de la distance au centre. D’après W. ALONSO [6]. . . 112
7.5 Modèle radioconcentrique de BURGESS. D’après E.W. BURGESS [37]. . . . . . . . . . . . 112
7.6 Modèle de HOYT sur la théorie des secteurs : (1) Centre des affaires, (2) Industries et entrepôts,
(3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences
des classes aisées. D’après H. HOYT [137]. . . . . . . . . . . . . . . . . . . . . . 113
7.7 La théorie des centres multiples : (1) Centre des affaires, (2) Industries légères et entrepôts,
(3) Résidences des classes pauvres, (4) Résidences des classes moyennes, (5) Résidences
des classes aisées, (6) Industries lourdes. D’après C.D. HARRIS et E.L. ULLMAN [129]. . 113
7.8 Schéma simplifié d’un modèle dynamique de type LUTI. D’après le rapport final sur la
première phase d’ULTISIM [61]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.9 Positionnement des modèles LUTI. D’après le rapport final sur la première phase d’ULTISIM
[61]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.10 Cours du temps dans UrbanSim. D’après le Rapport 1 - SIMAURIF [246] . . . . . . . . . 119
7.11 Affectation (assignment) π = (3, 2, 4, 1). D’après R.Z. FARAHANI et al. [90]. . . . . . . . 126
7.12 Publications : proportions des solutions techniques proposées pour les QAP. D’après R.Z. FARAHANI
et al. [90]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.1 Formes urbaines réparties automatiquement sur la zone expérimentale de la ville de Marnela-Vallée,
en prenant en compte les contraintes d’un développement urbain durable exprimées
par les urbanistes. D’après les travaux du projet SUSTAINS - schéma fourni par le
LIMSI (Laboratoire d’informatique pour la mécanique et les sciences de l’ingénieur). . . . 132
8.2 Illustration de la distance de Tchebychev à partir de la cellule marquée par un « O » et
positionnée en ligne 3, colonne 3 : chaque colonne est repérée par sa distance (allant de 1 à
4) par rapport à la cellule « O ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.3 Illustration de la distance de Manhattan à parcourir entre le point de départ « D » et le point
d’arrivée « A ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136TABLE DES FIGURES 225
8.4 (V
2
3,3
) représente le voisinage de la cellule marquée par un « O » et positionnée en ligne 3,
colonne 3 pour une taille de voisinage = 2 : le voisinage est constitué de toutes les cellules
marquées par un « 1 » et un « 2 ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.5 (V¯2
3,3
) représente l’anneau de voisinage de la cellule marquée par un « O » et positionnée
en ligne 3, colonne 3 pour une taille de voisinage = 2 : l’anneau est constitué de toutes les
cellules marquées par un « 2 ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8.6 Contrainte d’interaction entre formes urbaines permettant d’exprimer les préférences de
positionnement des formes urbaines les unes par rapport aux autres. Chaque cellule est en
interaction avec ses cellules voisines dans un voisinage limité à une taille de 3 cellules. La
force d’interaction entre deux cellules diminue avec l’augmentation de la distance qui les
sépare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
8.7 Contrainte de distance minimale de séparation entre formes urbaines. . . . . . . . . . . . . 140
8.8 Contraintes de regroupement d’une forme urbaine. . . . . . . . . . . . . . . . . . . . . . 141
8.9 Contrainte d’accessibilité globale avec une distance de couverture limitée à 4 cellules (en
distance de Manhattan) : coût imputé sur chaque cellule habitée et non couverte par un
espace de respiration. Dans cet exemple, la cellule marquée « ER » correspond à la seule
cellule occupée par un espace de respiration. . . . . . . . . . . . . . . . . . . . . . . . . . 142
8.10 Contrainte d’accessibilité locale avec une distance de couverture limitée à 4 cellules (distance
de Tchebychev) : on indique le nombre d’espaces de respiration qui couvrent chaque
cellule habitée. Dans cet exemple, les cellules marquées « ER1 » et « ER2 » correspondent
aux cellules occupées par un espace de respiration. Les cellules habitées marquées avec le
chiffre « 0 » sont les cellules qui vont alimenter la fonction de coût (pénalité pour chaque
cellule sans couverture). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
8.11 Illustration des séparations simples ou doubles entre la cellule centrale et les cellules de
l’anneau périphérique situées à une distance stricte d = 2. . . . . . . . . . . . . . . . . . . 145
8.12 Emprise au sol : le nombre d’espaces verts au pied d’un collège ou d’un lycée est imposé et
ce nombre dépend de la présence de certaines formes urbaines particulières à proximité de
l’établissement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
8.13 Filtrage et diversité des formes urbaines sur chaque centralité : la centralité principale est
constituée de quatre cellules repérées par l’utilisateur avec la lettre « C » et disposées de
part et d’autre d’un axe routier important (avenues). Les formes urbaines positionnées sur
ces cellules doivent être « 6= » entre elles pour favoriser la diversité et un filtre « F » limite
les formes urbaines pouvant prendre place sur chaque cellule. . . . . . . . . . . . . . . . . 147
9.1 Initialisation aléatoire : structures de données utilisées pour créer une solution initiale. . . . 151
9.2 Initialisation gloutonne : paramétrage, par forme urbaine, de la priorité de placement et
du mode de sélection d’une cellule. On commence par positionner l’industrie (no 1) et on
termine par le placement des espaces de respiration (no 19). La colonne « random » indique
si on doit choisir une cellule disponible au hasard ou si on choisit celle qui génère un coût
d’affectation minimum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
9.3 Initialisation gloutonne : structures de données utilisées pour créer une solution initiale. . . 153
9.4 Mode distribué : fonctionnement général maître-esclaves. La partie « itérations » signalée
en foncé est spécifique à chaque protocole distribué que nous proposons et elle fera l’objet
d’un schéma complémentaire dans les sections correspondantes. . . . . . . . . . . . . . . 161
9.5 Exemple de découpage d’une grille pour former 4 partitions de même taille : chaque groupe
est composé de 18 cellules libres, les cellules fixes étant repérées par un caractère « X ». . 164226 TABLE DES FIGURES
9.6 Comparaison du fonctionnement général de chaque protocole distribué pour une itération.
Avec : (DC) Demande Candidats ; (RC) Recherche Candidats ; (SC) Synchronisation Candidats
; (DP) Demande Permutations ; (RP) Recherche Permutations ; (SP) Synchronisation
Permutations ; (AP) Application Permutations. Le bleu représente un travail à l’échelle
d’une partition et le jaune au niveau de la grille entière. Un ovale en pointillé englobe les
tâches réalisées par les esclaves, le reste étant pris en charge par le processus maître. Les
doubles traits pointillés indiquent un échange via le réseau. . . . . . . . . . . . . . . . . . 168
9.7 Mode distribué : traitements réalisés à chaque itération avec le protocole no 1. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section
« Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
9.8 Mode distribué : traitements réalisés à chaque itération avec le protocole no 2. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section
« Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
9.9 Mode distribué : traitements réalisés à chaque itération avec le protocole no 3. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section
« Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
9.10 Mode distribué : traitements réalisés à chaque itération avec le protocole no 4. Cette partie
vient compléter le schéma relatif au fonctionnement général maître-esclaves pour la section
« Itérations » (cf. figure 9.4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
10.1 Routage des messages et interception des événements entre le dispositif tactile et le solveur
interactif. Le gestionnaire de messages prend en charge le transfert des informations sur le
réseau et permet un couplage faible entre les deux processus. Deux connecteurs repérés par
les lettres « E » et « S » permettent à chaque processus (émetteur/récepteur) d’intercepter les
messages qui lui sont destinés ou d’injecter de nouveaux messages vers un processus destinataire
dans une file donnée. Le solveur interactif incorpore les fonctionnalités du solveur
de base mis au point pour la résolution initiale et lui apporte les fonctionnalités nécessaires
pour gérer l’interaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.2 Chargement d’un scénario mémorisé préalablement. Dans un premier temps, l’utilisateur
indique la ville de référence. Ensuite, il a la possibilité de charger un scénario de travail
particulier relatif à cette ville. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.3 Paramétrage du comportement interactif. . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
10.4 Mode continu désactivé (à gauche) ou activé (à droite). . . . . . . . . . . . . . . . . . . . 184
10.5 Déplacement d’un groupe de formes urbaines en une seule opération. Lorsque la correspondance
d’intensité doit être respectée, il faut conserver une correspondance stricte entre les
intensités des cellules d’origine et des cellules de destination, ces intensités étant repérées
dans cet exemple par les chiffres 1, 2, 3, 4. . . . . . . . . . . . . . . . . . . . . . . . . . . 185
10.6 Cercle d’influence permettant d’identifier la taille des zones impactées par un mouvement.
Dans cet exemple, le cercle de gauche identifie la zone d’origine et le cercle de droite la zone
de destination, les cellules appartenant à ces deux zones étant soumises à une résolution
locale. En dehors des cercles, les formes urbaines restent en place. . . . . . . . . . . . . . 186
10.7 Paramétrage de la taille des cellules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
10.8 Création de la liste des permutations imposées en fonction du type de sélection et de déplacement
des formes urbaines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189TABLE DES FIGURES 227
10.9 Cercles d’influences interprétés sur le solveur interactif : lorsque l’utilisateur déplace (en
groupe) les formes urbaines des cellules « 1 » et « 2 » sur les cellules « 3 » et « 4 » (en
une seule opération), le solveur interactif identifie autour des cellules d’origine et de destination
les cellules faisant partie des cercles d’influence. Pour cela, il utilise le voisinage
V
d
l,c de chaque cellule Vl,c impliquée dans une permutation imposée, avec d correspondant
au rayon du cercle. Ces cellules sont alors marquées « sélectionnables » pour participer à
l’optimisation locale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
10.10Carte de chaleur : les zones en rouge sur la carte font apparaître les régions correspondant
aux coûts les plus élevés. Cette carte est directement actualisée avec les coûts de chaque
variable disponibles dans notre modèle. . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.11Historique d’évolution des coûts par contrainte : ce graphique est composé de deux parties.
La partie de gauche indique le coût lié à chaque contrainte pour la configuration courante
tandis que la partie principale représente l’évolution des coûts par contrainte à intervalle de
temps régulier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
11.1 Résumé des mesures sur l’application développée. Généré par l’outil SourceMonitor (http:
//www.campwoodsw.com/sourcemonitor.html). Le nombre de lignes indiqué
écarte les lignes vides (*). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.2 Récapitulatif des variations de coût par itération pour chaque contrainte. Les variations de
coût qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte
qu’une variation négative apparaît au dessus de l’axe des abscisses, l’axe des abscisses
représentant l’évolution du nombre des itérations au cours d’une résolution. . . . . . . . . 201
11.3 Détail des variations de coût par itération pour chaque contrainte. Les variations de coût
qui apparaissent sur l’axe des ordonnées sont inversées sur les graphiques, de sorte qu’une
variation négative apparaît au dessus de l’axe des abscisses, l’axe des abscisses représentant
l’évolution du nombre des itérations au cours d’une résolution. . . . . . . . . . . . . . . . 202
11.4 Répartition des coûts par contrainte : à chaque itération (en abscisse), on superpose le coût
total de chaque contrainte (en ordonnée). On reconstitue ainsi le coût global de la confi-
guration courante qui diminue au fil de la résolution. La représentation correspond à un
histogramme très resserré, on ne peut donc pas distinguer les barres qui sont réduites à des
lignes verticales dont les couleurs correspondent aux rectangles de la légende : la première
forme urbaine indiquée dans la légende correspond à la forme urbaine positionnée en bas
du diagramme, etc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.5 Répartition des temps de calcul par contrainte. . . . . . . . . . . . . . . . . . . . . . . . . 204
11.6 Paysage des permutations gagnantes avec le candidat retenu pour une itération donnée. Pour
l’itération courante (no 1), un candidat (i.e. cellule non représentée ici) a déjà été identifié
pour participer à une permutation gagnante. Ce graphique représente la répartition spatiale
des gains pouvant être obtenus en impliquant une à une chaque cellule de la grille à la
permutation gagnante (i.e. avec le candidat retenu) : plus le gain potentiel est important,
plus la cellule est sombre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
11.7 Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la
résolution (i.e. à chaque itération), limitée aux 12 premières itérations. Chaque graphique
correspond à une itération. A chaque itération, un candidat est identifié pour participer à
une permutation gagnante. Chaque graphique correspond au paysage des permutations gagnantes
avec le candidat retenu pour l’itération indiquée. . . . . . . . . . . . . . . . . . . 206
11.8 Évolution du paysage des permutations gagnantes avec les candidats retenus au fil de la
résolution (toutes les 10 itérations). Chaque graphique correspond à une itération. A chaque
itération, un candidat est identifié pour participer à une permutation gagnante. Chaque graphique
correspond au paysage des permutations gagnantes avec le candidat retenu pour
l’itération indiquée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207228 TABLE DES FIGURES
11.9 Comparaison des temps et des gains obtenus à chaque itération entre différentes versions de
l’algorithme de résolution. L’instance correspond à une représentation simplifiée pour une
grille 32x32. Les temps sont exprimés en secondes. Les échelles de temps et de gains sont
identiques d’une figure à l’autre. L’axe des abscisses correspond à l’évolution du nombre
des itérations au cours d’une résolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
11.10Tests des performances pour différentes versions (mono-processus, distribuée) et différents
modes de fonctionnement (multi-candidat et multi-permutation). Comparaison des temps
de résolution (en faisant une moyenne sur 10 exécutions par méthode) pour obtenir une
solution initiale dont la qualité est imposée sur l’instance de Marne-La-Vallée. La version
distribuée est évaluée avec le protocole no 4. . . . . . . . . . . . . . . . . . . . . . . . . . 210
11.11Recherche du nombre optimal de processus esclaves à mobiliser. . . . . . . . . . . . . . . 211
11.12Comparaison des temps de résolution entre la version mono-processus et la version distribuée
déployée à grande échelle. Les protocoles 1 et 4 sont des protocoles distribués. Les
intitulés « protocol-[x]-[y]s » identifie le no du protocole (x) et le nombre de processus esclaves
mobilisés (y). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.13Répartition de l’habitat collectif par rapport aux niveaux d’intensité urbaine (intensités : 2,
3 et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale.
Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE
TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT
(SIMARIS) & Valérie GACOGNE (COMPLEXIO). . . . . . . . . . . . . . . . . . . . . . 213
11.14Répartition des zones d’activité par rapport aux niveaux d’intensité urbaine (intensités : 2, 3
et 5). Formes urbaines positionnées sur la carte par notre solveur suite à une résolution initiale.
Figure extraite du rapport SUSTAINS Livrable 3.1 : EXPERIMENTATION SUR LE
TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord des auteurs : Bernard COUTROT
(SIMARIS) & Valérie GACOGNE (COMPLEXIO). . . . . . . . . . . . . . . . . . . . . . 214
11.15Répartition des espaces verts par rapport aux niveaux d’intensité urbaine, hors espaces de
respiration (intensités 2, 3 et 5). Formes urbaines positionnées sur la carte par notre solveur
suite à une résolution initiale. Figure extraite du rapport SUSTAINS Livrable 3.1 :
EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LA-VALLEE. Avec l’accord
des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE (COMPLEXIO). . . . 214
11.16Visualisation des établissements scolaires et de l’habitat. Formes urbaines positionnées sur
la carte par notre solveur suite à une résolution initiale. Figure extraite du rapport SUSTAINS
Livrable 3.1 : EXPERIMENTATION SUR LE TERRITOIRE DE MARNE-LAVALLEE.
Avec l’accord des auteurs : Bernard COUTROT (SIMARIS) & Valérie GACOGNE
(COMPLEXIO). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Bibliographie
[1] Droit et politiques de renouvellement urbain. Cahiers du GRIDAUH. : Droit de l’urbanisme. GRIDAUH,
2004. 33
[2] Emile Aarts and Jan K. Lenstra, editors. Local Search in Combinatorial Optimization. John Wiley
& Sons, Inc., New York, NY, USA, 1st edition, 1997. 63, 150
[3] Mohammed Abdellaoui and Christophe Gonzales. Théorie de l’Utilité Multi-attributs. [33], pages
25–62. 59
[4] A. Adla. Aide à la facilitation pour une prise de décision collective : proposition d’un modèle et
d’un outil. PhD thesis, Université de Toulouse III - Paul Sabatier, Spécialité : Informatique, 2010. 99
[5] Ravindra K. Ahuja, Özlem Ergun, James B. Orlin, and Abraham P. Punnen. A survey of very largescale
neighborhood search techniques. Discrete Applied Mathematics, 123(1-3) :75–102, 2002. 78
[6] W. Alonso. Location and land use : toward a general theory of land rent. Publication of the Joint
Center for Urban Studies. Harvard University Press, 1964. 111, 112, 224
[7] Jean-Philippe Antoni. L’ambition de modéliser la ville. In Gérard Brun, editor, Ville et mobilité -
nouveaux regards, pages 227–238. Economica, 2013. 128
[8] J.P. Antoni. Modéliser la ville : Formes urbaines et politiques de transport. Collection "Méthodes et
approches". Economica, 2010. 114, 115, 132, 231
[9] Krzysztof Apt. Principles of Constraint Programming. Cambridge University Press, New York, NY,
USA, 2003. 63, 149, 194
[10] Alejandro Arbelaez and Philippe Codognet. A GPU Implementation of Parallel Constraint-based
Local Search. Techniques foR Implementing Constraint programming Systems (TRICS), 2013. 87,
88, 150, 159
[11] François Ascher. Effet de serre, changement climatique et capitalisme cleantech. Esprit, Fé-
vrier :150–164, 2008. 43
[12] Olivier Bailleux. Cours de programmation par contraintes, 2011. Master-II BD-IA & Image-IA. 56
[13] Cynthia Barnhart, Ellis L. Johnson, George L. Nemhauser, Martin W. P. Savelsbergh, and Pamela H.
Vance. Branch-and-price : Column generation for solving huge integer programs. Operations Research,
46 :316–329, 1996. 62
[14] Nicolas Barnier. Application de la programmation par contraintes à des problèmes de gestion du
trafic aérien. PhD thesis, Thèse doctorat informatique de l’INP Toulouse, 2002. 56
[15] Richard S. Barr, Bruce L. Golden, James P. Kelly, G. C Mauricio, William Resende, and R. Stewart.
Designing and reporting on computational experiments with heuristic methods. Journal of
Heuristics, 1 :9–32, 1995. 75
229230 BIBLIOGRAPHIE
[16] Roman Bartak. Constraint programming : In pursuit of the holy grail. In in Proceedings of WDS99
(invited lecture, pages 555–564, 1999. 56, 63, 149, 194
[17] R. Battiti, G. Tecchiolli, and Others. The Reactive Tabu Search. ORSA Journal on Computing,
6 :126, 1994. 127, 128, 221
[18] Roberto Battiti and Marco Protasi. Reactive local search for the maximum clique problem. Algorithmica,
29(4) :610–637, 2001. 75
[19] G. Bauer and J.M. Roux. La rurbanisation ; ou, La ville éparpillée. Collection Espacements. Éditions
du Seuil, 1976. 25
[20] François BELLANGER. La recherche urbaine à l’heure de la ville 2.0, Oct 2012. Entretien scienti-
fique. 36, 40
[21] A. Bellicha. Maintenance of Solution in a Dynamic Constraint Satisfaction Problem. In Proc. of
Applications of Artificial Intelligence in Engineering VIII, pages 261–274, Toulouse, France, 1993.
107
[22] Amit Bellicha, Bertrand Neveu, Brigitte Trousse, Christian Bessière, Christine Gaspin, David Lesaint,
Fabrice Bouquet, Florence Dupin de Saint-Cyr, Gilles Trombettoni, Gérard Verfaillie, Hélène
Fargier, Jean-Charles Régin, Jean-Pierre Rellier, Jérôme Amilhastre, Jérôme Lang, Khaled Ghedira,
Marie-Catherine Vilarem, Martin Cooper, Mouhssine Bouzoubaa, Olivier Lhomme, Philippe Charman,
Philippe David, Philippe Janssen, Philippe Jégou, Pierre Berlandier, Roger Martin-Clouaire,
Thomas Schiex, and Tibor Kökény. Autour Du Problème De Satisfaction De Contraintes. In In Actes
des 5èmes journées nationales du PRC GDR Intelligence Artificielle, pages 159–178, 1994. 106
[23] Richard Bellman. Dynamic Programming. Princeton University Press, Princeton, NJ, USA, 1 edition,
1957. 63
[24] Sahbi BEN ISMAIL. Cours d’ingénieurs généralistes - Introduction à l’optimisation combinatoire,
2012. 56, 221
[25] S. Ben-Mena. Introduction aux méthodes multicritères d’aides à la décision. Biotechnologie, Agronomie,
Société et Environnement, 2000. 59
[26] F. Benhamou. Stratégie de développement de la recherche de l’université de nantes, programme
université 2020, 2014. 30
[27] Nicolas Berger. Modélisation et résolution en programmation par contraintes de problèmes mixtes
continu/discret de satisfaction de contraintes et d’optimisation. PhD thesis, Université de Nantes,
October 2010. 58
[28] Antoine Billot and Jacques-François Thisse. Modèles de choix individuels discrets : théorie et applications
à la micro-économie. Revue économique, 46(3) :921–931, 1995. 117
[29] James R. Bitner and Edward M. Reingold. Backtrack programming techniques. Commun. ACM,
18(11) :651–656, November 1975. 68
[30] Christian Blum and Andrea Roli. Metaheuristics in combinatorial optimization : Overview and
conceptual comparison. ACM Comput. Surv., 35(3) :268–308, September 2003. 56, 72, 81, 82,
223
[31] Stefan Bock and Otto Rosenberg. A new parallel breadth first tabu search technique for solving
production planning problems. International Transactions in Operational Research, 7(6) :625 – 635,
2000. 94BIBLIOGRAPHIE 231
[32] Mark Boddy and Thomas Dean. Solving time-dependent planning problems. In Proceedings of the
11th International Joint Conference on Artificial Intelligence - Volume 2, IJCAI’89, pages 979–984,
San Francisco, CA, USA, 1989. Morgan Kaufmann Publishers Inc. 104
[33] Denis Bouyssou, Didier Dubois, Marc Pirlot, and Henri Prade. Concepts et méthodes pour l’aide à
la décision, analyse multicritère, volume 3. Hermés, 2006. 59, 229
[34] Jurgen Branke. Evolutionary Optimization in Dynamic Environments. Kluwer Academic Publishers,
Norwell, MA, USA, 2001. 60
[35] R. Braune and G. Zäpfel. Metaheuristic Search Concepts : A Tutorial with Applications to Production
and Logistics. Springer, 2010. 80, 223
[36] Marilyn A. Brown, Frank Southworth, and Andrea Sarzynski. The geography of metropolitan carbon
footprints. Policy and Society, 27(4) :285 – 304, 2009. 43
[37] E.W. Burgess. The Growth of the City : an Introduction to a Research Project. University of Chicago
Press, 1925. 21, 112, 224
[38] S. Cahon, N. Melab, and E.-G. Talbi. Paradiseo : A framework for the reusable design of parallel
and distributed metaheuristics. Journal of Heuristics, 10(3) :357–380, May 2004. 97
[39] Aurore Cambien. La modélisation urbaine : une approche historique. [8], pages 19 – 49. 114, 115
[40] Yves Caniou, Philippe Codognet, Daniel Diaz, and Salvador Abreu. Experiments in parallel
constraint-based local search. In EvoCOP’11, 11th European Conference on Evolutionary Computation
in Combinatorial Optimisation, Lecture Notes in Computer Science, Torino, Italy, 2011.
Springer Verlag. 159
[41] Michel Cantal-Dupart. Vivre un grand paris, Oct 2013. Note ouverte au Président de la République
sur le Grand Paris. 19, 34, 37
[42] V Cerny. Thermodynamical approach to the traveling salesman problem : An efficient simulation
algorithm. Journal of Optimization Theory and Applications, 45(1) :41–51, 1985. 65, 83, 150
[43] F. Choay. L’Urbanisme : utopies et réalités. Points (Paris). Éditions du Seuil, 1965. 22
[44] Solver Choco. Présentation - tutorial et documentation, 2011. 56
[45] Walter Christaller. Central Places in Southern Germany. Prentice-Hall, 1966. 110, 111, 224
[46] Maurice Clerc and Patrick Siarry. Une nouvelle métaheuristique pour l’optimisation difficile : la
méthode des essaims particulaires, 2004. J3eA. 59
[47] Philippe Codognet and Daniel Diaz. Yet Another Local Search Method for Constraint Solving. In
proceedings of SAGA’01, volume 2264 of Lecture Notes in Computer Science, pages 73–90. Springer
Verlag, 2001. 56, 66, 86, 150, 152, 219
[48] Philippe Codognet and Daniel Diaz. An Efficient Library for Solving CSP with Local Search. In 5th
international Conference on Metaheuristics, pages 1–6, Kyoto, Japan, 2003. 86, 150, 219
[49] Philippe Codognet, Daniel Diaz, and Charlotte Truchet. The Adaptive Search Method for Constraint
Solving and its application to musical CSPs. In International Workshop on Heuristics, page 9 pages,
Beijing, Chine, 2002. 87
[50] S. G. Cohen and D. E. Bailey. What makes teams work : Group effectiveness research from the shop
floor to the executive suite. Journal of Management, 23(3) :239–291, 1997. 102232 BIBLIOGRAPHIE
[51] Jared L. Cohon. Multiobjective Programming and Planning. Mathematics in science and engineering.
Academic Press, 1978. 59, 220
[52] N. E. Collins, R.W. Eglese, and Golden B.L. Simulated Annealing : an Annotated Bibliography.
American Journal of Mathematical and Management Sciences, 8(3-4) :209–307, January 1988. 84
[53] Clayton W. Commander. A survey of the quadratic assignment problem, with applications. Morehead
Electronic Journal of Applicable Mathematics, 4 :MATH–2005–01, 2005. 126
[54] David T. Connolly. An improved annealing scheme for the {QAP}. European Journal of Operational
Research, 46(1) :93 – 100, 1990. 127, 221
[55] L. Corbusier and J. Giraudoux. La charte d’Athènes. Cahiers forces vives. Éditions de Minuit, 1957.
11, 24
[56] J.-C. COURBON, D. DUBOIS, and B. ROY. Autour de l’aide à la décision et l’intelligence artifi-
cielle. IBP-Laforia, 1994. Rapport de Recherche. 102, 103
[57] Teodor Gabriel Crainic and Michel Toulouse. Parallel Strategies for Meta-heuristics. [117], pages
475–513. 76
[58] Teodor Gabriel Crainic and Michel Toulouse. Parallel Meta-Heuristics. In Handbook of metaheuristics,
pages 497–541. Springer US, 2010. 91, 92, 93, 94, 159, 224
[59] Andrew Crooks, Christian Castle, and Michael Batty. Key challenges in agent-based modelling
for geo-spatial simulation. Computers, Environment and Urban Systems, 32(6) :417 – 430, 2008.
GeoComputation : Modeling with spatial agents. 115
[60] John Current, Mark Daskin, and David Schilling. Discrete Network Location Models. [80], pages
81–118. 125
[61] Institut d’aménagement et d’urbanisme de la région d’Île-de France. ULTISIM, vers un modèle
intégré transport-urbanisme européen : première phase : rapport final. IAU Île-de-France, 2011.
115, 116, 117, 224
[62] G. B. Dantzig. Maximization of a Linear Function of Variables Subject to Linear Inequalities, in
Activity Analysis of Production and Allocation, chapter XXI. Wiley, New York, 1951. 61
[63] D. Dasgupta and Z. Michalewicz. Evolutionary Algorithms in Engineering Applications. U.S. Government
Printing Office, 1997. 74
[64] C. de Portzamparc. la Ville âge III. Éditions du Pavillon de l’Arsenal, 1997. 26
[65] J. de Rosnay. Le Macroscope : vers une vision globale. Collection Civilisation. Éditions du Seuil,
1975. 114
[66] D. de Werra and A. Hertz. Tabu search techniques. Operations-Research-Spektrum, 11(3) :131–141,
1989. 85, 157
[67] Thomas Dean and Mark Boddy. An analysis of time-dependent planning. In Proceedings of the
Seventh National Conference on Artificial Intelligence (AAAI-88), pages 49–54. AAAI Press/MIT
Press, August 1988. 104
[68] Rina Dechter and Avi Dechter. Belief Maintenance in Dynamic Constraint Networks. Proceedings
of AAAI, pages 37–42, 1988. 60BIBLIOGRAPHIE 233
[69] Philippe Dehan, Enseignant-Chercheur. Cours ingénieur - modes opératoires de l’urbanisme contemporain,
2011. 19, 22, 33, 223
[70] Xavier Desjardins. Pour l’atténuation du changement climatique, quelle est la contribution possible
de l’aménagement du territoire ?, March 2011. Cybergeo : European Journal of Geography [En
ligne], Aménagement, Urbanisme, document 523. 43
[71] Xavier Desjardins. Formes urbaines. [88], pages 108–109. 31
[72] I. Devarenne, A. Caminada, and H. Mabed. Analysis of adaptive local search for the graph coloring
problem. In Proceedings of the 6th Metaheuristics International Conference, MIC 2005, Vienne
Autriche, 2005. 86
[73] Isabelle Devarenne, Hakim Mabed, and Alexandre Caminada. Intelligent neighborhood exploration
in local search heuristics. In Proceedings of the 18th IEEE International Conference on Tools with
Artificial Intelligence, ICTAI ’06, pages 144–150, Washington, DC, USA, 2006. IEEE Computer
Society. 86
[74] Luca Di Gaspero and Andrea Schaerf. Easylocal++ : An object-oriented framework for the flexible
design of local-search algorithms. Softw. Pract. Exper., 33(8) :733–765, July 2003. 96, 194, 197
[75] Daniel Diaz, Salvador Abreu, and Philippe Codognet. Targeting the cell/be for constraint-based local
search. Concurrency and Computation : Practice and Experience, 24(6) :647–660, 2012. 159
[76] Mohammad Dib. Tabu-NG : hybridation de programmation par contraintes et recherche locale pour
la résolution de CSP. PhD thesis, Université de Technologie de Belfort-Montbeliard, December
2010. 56, 66, 67, 89
[77] J. Donzelot, C. Mével, and A. Wyvekens. Faire société : la politique de la ville aux États-Unis et en
France. La couleur des idées. Seuil, 2003. 20
[78] Marco Dorigo. Ant colony optimization : A new meta-heuristic. In Proceedings of the Congress on
Evolutionary Computation, pages 1470–1477. IEEE Press, 1999. 55, 65
[79] J. Dréo. Metaheuristics for Hard Optimization : Methods and Case Studies. Springer, 2006. 73
[80] Z. Drezner and H.W. Hamacher. Facility Location : Applications and Theory. Springer series in
operations research. Springer, 2004. 124, 149, 232, 241
[81] Alexis Drogoul. De la simulation multi-agent à la résolution collective de problèmes. PhD thesis,
Université Paris VI, 1993. 55
[82] Dominique Dron. Origine du développment durable. [88], pages 24–25. 29, 30
[83] Claude Duvallet. Des systèmes d’aide à la décision temps réel et distribués : modélisation par agents.
PhD thesis, Doctorat Informatique de l’Université du Havre, 2001. 99, 103, 104
[84] D. Duvivier, Ph. Preux, and E.-G. Talbi. Climbing up NP-hard hills. In Parallel Problem Solving
from Nature - PPSN IV, volume 1141 of Lecture Notes in Computer Science, pages 574–583. Springer
Berlin Heidelberg, 1996. 79
[85] J. Edmonds. Matroids and the greedy algorithm. Mathematical Programming, 1 :127–136, 1971.
70, 149
[86] A. Elkhyari. Outils d’aide à la décision pour des problèmes d’ordonnancement dynamiques. 2003.
107234 BIBLIOGRAPHIE
[87] Agathe Euzen. À propos du développment durable. [88], page 23. 29, 30
[88] Agathe Euzen, Laurence Eymard, and Françoise Gaill. Le développement durable à découvert. A
découvert. CNRS Editions, 2013. 233, 234, 235, 238, 240, 242, 244
[89] M. Fabriès-Verfaillie, P. Stragiotti, and A. Jouve. La France des villes : le temps des métropoles ?
Bréal, 2000. 111, 224
[90] R.Z. Farahani and M. Hekmatfar. Facility Location : Concepts, Models, Algorithms and Case Studies.
Contributions to Management Science. Physica, 2009. 125, 126, 224
[91] Thomas A. Feo and Mauricio G.C. Resende. Greedy Randomized Adaptive Search Procedures.
Journal of Global Optimization, 6 :109–133, 1995. 89
[92] J. Ferber. Les systèmes multi-agents : Vers une intelligence collective. I.I.A. Informatique intelligence
artificielle. InterEditions, 1995. 55
[93] Andreas Fink, Stefan Voß, and DavidL. Woodruff. Building reusable software components for heuristic
search. 1998. 97
[94] Charles Fleurent and Jacques A. Ferland. Genetic Hybrids for the Quadratic Assignment Problem.
In DIMACS Series in Mathematics and Theoretical Computer Science, pages 173–187. American
Mathematical Society, 1993. 127, 221
[95] R. Fondi and P. Baillet. La Révolution organiciste : entretien sur les nouveaux courants scientifiques.
Livre-club du Labyrinthe. Labyrinthe, 1986. 114
[96] J.W. Forrester. Urban dynamics. M.I.T. Press, 1969. 114
[97] T. Frühwirth and S. Abdennadher. Essentials of Constraint Programming. Cognitive Technologies.
Springer, 2003. 63, 149, 194
[98] Alexandre Gachet. A framework for developing distributed cooperative decision support systems -
inception phase, 2001. Informing Science - Challenges to Informing Clients : A Transdisciplinary
Approach. 103
[99] Philippe Galinier and Jin-Kao Hao. A General Approach for Constraint Solving by Local Search. In
In CP-AI-OR’00, 2000. 87, 154
[100] L. M. Gambardella, E. Taillard, and M. Dorigo. Ant colonies for the Quadratic Assignment Problem.
Journal of the Operational Research Society, (50) :167–176, 1999. 127, 221
[101] Bruno-Laurent Garcia, Jean-Yves Potvin, and Jean-Marc Rousseau. A Parallel Implementation of
the Tabu Search Heuristic for Vehicle Routing Problems with Time Window Constraints. Computers
& Operations Research, 21(9) :1025 – 1033, 1994. 92
[102] V. Gardeux. Conception d’heuristiques d’optimisation pour les problèmes de grande dimension.
Application à l’analyse de données de puces à ADN. PhD thesis, Paris-Est University, Créteil, France,
November 2011. 91
[103] F. Gardi, T. Benoist, J. Darlay, B. Estellon, and R. Megel. Mathematical Programming Solver Based
on Local Search. Wiley, 2014. 97
[104] Michael R. Garey and David S. Johnson. Computers and Intractability : A Guide to the Theory of
NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1979. 58BIBLIOGRAPHIE 235
[105] M. Gen and R. Cheng. A survey of penalty techniques in genetic algorithms. In Evolutionary
Computation, 1996., Proceedings of IEEE International Conference on, pages 804–809, May 1996.
74
[106] M. Gendreau. An Introduction to Tabu Search. In F. Glover and G. Kochenberger, editors, Handbook
of Metaheuristics, chapter 2, pages 37–54. Kluwer Academic Publishers, 2003. 86
[107] Michel Gendreau, Alain Hertz, and Gilbert Laporte. A tabu search heuristic for the vehicle routing
problem. Management Science, 40(10) :1276–1290, 1994. 86
[108] Commission Européenne. Direction générale de la politique régionale. Les villes de demain : Défis,
visions et perspectives. Office des publications de l’Union européenne, 2011. 40
[109] Cynthia Ghorra-Gobin. Le territoire métropolitain à l’heure de la mondialisation. [88], pages 28–29.
31
[110] P. C. Gilmore and R. E. Gomory. A Linear Programming Approach to the Cutting-Stock Problem.
Operations Research, 9(6) :849–859, November 1961. 62
[111] Fred Glover. Future paths for integer programming and links to artificial intelligence. Comput. Oper.
Res., 13(5) :533–549, May 1986. 65, 72, 84, 150, 155, 157, 194
[112] Fred Glover. Tabu Search - Part I. ORSA Journal on Computing, 1(3) :190–206, 1989. 65, 81, 86,
150, 155
[113] Fred Glover. Tabu Search - Part II. ORSA Journal on Computing, 2 :4–32, 1990. 65, 81, 86, 150,
155
[114] Fred Glover. Scatter search and path relinking. New ideas in optimization, pages 297–316, 1999. 65
[115] Fred Glover and Manuel Laguna. Tabu Search. Kluwer Academic Publishers, Norwell, MA, USA,
1997. 56, 65, 81, 150, 155
[116] Fred Glover, Manuel Laguna, and Rafael Martí. Fundamentals of scatter search and path relinking.
CONTROL AND CYBERNETICS, 39 :653–684, 2000. 65
[117] Fred W. Glover and Gary A. Kochenberger. Handbook of Metaheuristics. International Series in
Operations Research & Management Science. Springer, 1 edition, 2003. 232, 238
[118] David E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. AddisonWesley
Longman Publishing Co., Inc., Boston, MA, USA, 1st edition, 1989. 65
[119] R. E. Gomory. Outline of an algorithm for integer solutions to linear programs. Bulletin of the
American Society, 64 :275–278, 1958. 62
[120] Yves Grafmeyer and Isaac Joseph. L’École de Chicago. Naissance de l’écologie urbaine. Aubier,
1984. 112
[121] S. A. Groenewegen, R. M. Smelik, K. J. de Kraker, and R. Bidarra. Procedural city layout generation
based on urban land use models. In EUROGRAPHICS, 2009. 137
[122] William Grossin. Berger gaston, phénoménologie du temps et prospective. Revue française de
sociologie, 6(3) :388–389, 1965. 128
[123] P. Haggett and R.J. Chorley. Models, paradigms and the new geography. The Trinity Press, 1967.
109236 BIBLIOGRAPHIE
[124] S. L. Hakimi. Optimum Locations of Switching Centers and the Absolute Centers and Medians of a
Graph. Operations Research, 12(3) :450–459, 1964. 125
[125] P. Hansen. The Steepest Ascent Mildest Descent Heuristic for Combinatorial Programming. In
Proceedings of the Congress on Numerical Methods in Combinatorial Optimization, Capri, Italy,
1986. 65, 84, 150, 155
[126] Pierre Hansen and Nenad Mladenovic. Variable neighborhood search : Principles and applications.
European Journal of Operational Research, 130(3) :449–467, 2001. 89
[127] J K Hao, P Galinier, and M Habib. Métaheuristiques pour l’optimisation combinatoire et l’affectation
sous contraintes. Revue d’intelligence artificielle, 13(2) :283–324, 1999. 56, 63, 65, 86, 89, 106, 150
[128] Jin-Kao Hao and Christine Solnon. Algorithmes pour l’intelligence artificielle, chapter Métaheuristiques
et intelligence artificielle. Cépaduès, December 2014. 81
[129] C.D. Harris and E.L. Ullman. The Nature of Cities, volume 242. 1945. 112, 113, 224
[130] G. Hégron, L. Tapadinhas, and Groupement d’intérêt scientifique Modélisation urbaine (France).
Modélisation urbaine : de la représentation au projet : [actes du colloque tenu à Paris, École des
Ponts-Paris Tech, 23-24 février 2011]. RéférenceS / Commissariat général au développement durable.
Commissariat général au développement durable, 2012. 35
[131] A. Hertz and D. de Werra. The tabu search metaheuristic : How we used it. Annals of Mathematics
and Artificial Intelligence, 1(1-4) :111–121, 1990. 85, 157
[132] A. Hertz and M. Widmer. La méthode TABOU appliquée aux problèmes d’ordonnancement. Journal
européen des systémes automatisés : JESA., 1995. 79
[133] John H. Holland. Adaptation in Natural and Artificial Systems : An Introductory Analysis with
Applications to Biology, Control and Artificial Intelligence. MIT Press, Cambridge, MA, USA,
1992. 55, 65
[134] S. Holtzman. Intelligent Decision Systems. Teknowledge Series in Knowledge Engineering.
Addison-Wesley, 1989. 99
[135] H.H. Hoos and T. Stützle. Stochastic Local Search : Foundations & Applications. The Morgan
Kaufmann Series in Artificial Intelligence. Elsevier Science, 2004. 82
[136] Eric J. Horvitz. Reasoning about beliefs and actions under computational resource constraints. In In
Proceedings of the 1987 Workshop on Uncertainty in Artificial Intelligence, pages 429–444, 1987.
104
[137] H. Hoyt. The Structure and Growth of Residential Neighborhoods in American Cities. Federal
housing administration. U.S. Government Printing Office, 1939. 112, 113, 224
[138] B. A. Huberman, R. M. Lukose, and T. Hogg. An economic approach to hard computational problems.
Science, 27 :51–53, 1997. 94, 159
[139] D. L. Huff. Defining and Estimating a Trading Area. Journal of Marketing, 28,(3) :34–38, 1964. 113
[140] J.L. Huot. La Ville neuve : une idée de l’Antiquité ? Cahiers du G.S. 72, Terrains et théories en
archéologie. Éditions Errance, 1988. 19
[141] IBM France. Réinventons la ville. Regards sur des villes intelligentes, 2010. Think. 19BIBLIOGRAPHIE 237
[142] J. Jacobs. The economy of cities. Vintage international. Random House, 1969. 20
[143] Arun Jagota and LauraA. Sanchis. Adaptive, restart, randomized greedy heuristics for maximum
clique. Journal of Heuristics, 7(6) :565–585, 2001. 71, 150
[144] Yaochu Jin and J. Branke. Evolutionary optimization in uncertain environments-a survey. Trans.
Evol. Comp, 9(3) :303–317, June 2005. 60
[145] EllisL. Johnson. Modeling and strong linear programs for mixed integer programming. In SteinW.
Wallace, editor, Algorithms and Model Formulations in Mathematical Programming, volume 51 of
NATO ASI Series, pages 1–43. Springer Berlin Heidelberg, 1989. 63
[146] Laetitia Jourdan. Métaheuristiques Coopératives : du déterministe au stochastique. Hdr, Université
des Sciences et Technologie de Lille - Lille I, September 2010. 89, 95, 98, 224
[147] Narendra Jussien, Guillaume Rochart, and Xavier Lorca. Choco : an Open Source Java Constraint
Programming Library. In CPAIOR’08 Workshop on Open-Source Software for Integer and Contraint
Programming (OSSICP’08), pages 1–10, Paris, France, France, 2008. 149, 194
[148] N. Karmarkar. A new polynomial-time algorithm for linear programming. In Proceedings of the
Sixteenth Annual ACM Symposium on Theory of Computing, STOC ’84, pages 302–311, New York,
NY, USA, 1984. ACM. 61
[149] P. G. W. Keen and M. S. Scott Morton. Decision Support Systems : An Organizational Perspective.
Addison-Wesley, Reading, 1978. 102, 177
[150] J. Kennedy and R. Eberhart. Particle swarm optimization. In Neural Networks, 1995. Proceedings.,
IEEE International Conference on, volume 4, pages 1942–1948 vol.4, Nov 1995. 55, 65
[151] Gregory E. Kersten and Geoffrey R. Mallory. Supporting problem representations in decisions with
strategic interactions. European Journal of Operational Research, 46(2) :200 – 215, 1990. 102
[152] Madjid Khichane. Optimisation sous contraintes par Intelligence Collective Auto-adaptative. Thèse
de doctorat en informatique, Université Claude Bernard, October 2010. 89
[153] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi. Optimization by simulated annealing. Science,
Number 4598, 13 May 1983, 220, 4598 :671–680, 1983. 65, 83, 150
[154] A. Koestler and G. Fradier. Le Cheval dans la locomotive : le Paradoxe humain. Génie et folie de
l’homme. Calmann-Lévy, 1968. 114
[155] Tjalling C. Koopmans and Martin Beckmann. Assignment Problems and the Location of Economic
Activities. Econometrica, 25(1) :53–76, 1957. 125
[156] Jakob Krarup and Peter Mark Pruzan. The simple plant location problem : Survey and synthesis.
European Journal of Operational Research, 12(1) :36 – 81, 1983. 125
[157] Krzysztof Krawiec. Metaheuristic Design Pattern : Candidate Solution Repair. In Proceeding of
the sixteenth annual conference on Genetic and evolutionary computation conference, GECCO ’14,
New York, NY, USA, 2014. ACM. 74
[158] M. Kwartler and R Bernard. Communityviz : an integrated planning support system. Planning
Support Systems, November 2001. 49
[159] Thomas J. Laffey, Preston A. Cox, James L. Schmidt, Simon M. Kao, and Jackson Y. Read. Real-time
knowledge-based systems. AI Magazine, 9(1) :27–45, 1988. 103238 BIBLIOGRAPHIE
[160] Yannick Lageat. Variation du trait de côte. [88], pages 76–77. 29
[161] Manuel Laguna, Rafael Marti, and Vicente Campos. Intensification and diversification with elite tabu
search solutions for the linear ordering problem. Computers & Operations Research, 26(12) :1217 –
1230, 1999. 81
[162] Tony Lambert. Hybridation de méthodes complètes et incomplètes pour la résolution de CSP. These,
Université de Nantes, October 2006. 89
[163] A. H. Land and A. G Doig. An automatic method of solving discrete programming problems. Econometrica,
28(3) :497–520, 1960. 62
[164] Pedro Larraanaga and Jose A. Lozano. Estimation of Distribution Algorithms : A New Tool for
Evolutionary Computation. Kluwer Academic Publishers, Norwell, MA, USA, 2001. 70
[165] Catherine Larrère. Éthique et philosophie de l’environnement. [88], pages 48–49. 30
[166] P. Lavedan. Géographie des villes. Géographie humaine. Gallimard, 1936. 19
[167] J.L. Le Moigne. Les systèmes de décision dans les organisations. Systèmes décisions. Section 1 :
Systèmes, plans, contrôles. Presses universitaires de France, 1974. 100, 101, 224
[168] Julien Lepagnot. Conception de métaheuristiques pour l’optimisation dynamique : application à
l’analyse de séquences d’images IRM. These, Université Paris-Est, December 2011. 60
[169] Arnaud Letort. Passage à l’échelle pour les contraintes d’ordonnancement multi-ressources. These,
Ecole des Mines de Nantes, October 2013. 63
[170] P. Lévine, G. Benchimol, and J.C. Pomerol. Systèmes experts dans l’entreprise. Traité des Nouvelles
Technologies : Série décision assistée par ordinateur. Hermes, 1990. 101
[171] P. Lévine and J.C. Pomerol. Systèmes interactifs d’aide à la décision et systèmes experts. Hermes,
1989. 100, 101, 102, 103, 177
[172] L. Lobjois. Problèmes d’optimisation combinatoire sous contraintes : vers la conception automatique
de méthodes de résolution adaptées à chaque instance. 1999. 103, 105, 106, 224
[173] Pierre-Yves Longaretti. Changements globaux. [88], pages 40–41. 29
[174] Michel Loreau. Modélisation et expérimentation pour la biodiversité. [88], pages 90–91. 30
[175] A. Lösch. Die räumliche Ordnung der Wirtschaft. G. Fischer, 1940. (L’organisation spatiale de
l’économie - ouvrage non traduit en français). 111
[176] Helena R. Lourenço, Olivier C. Martin, and Thomas Stützle. A Beginner’s Introduction to Iterated
Local Search. In Proceedings of MIC 2001, Porto, Portuga, July 2001. 83
[177] Helena R. Lourenço, Olivier C. Martin, and Thomas Stützle. Iterated Local Search. [117], pages
321–353. 65, 83, 150
[178] F. Loyer and H. Guéné. Henri Sauvage : les immeubles à gradins. Mardaga, 1987. 23
[179] A.K. MACKWORTH. Constraint satisfaction. S.C. Shapiro (Ed.) Encyclopedia on Artificial Intelligence,
John Wiley & Sons, NY, 1987. 68
[180] D. Mangin. La Ville franchisée : Formes et structures de la ville contemporaine. Éd. de la Villette,
2004. 27, 31BIBLIOGRAPHIE 239
[181] Marie-Eleonore Marmion. Recherche locale et optimisation combinatoire : de l’analyse structurelle
d’un problème à la conception d’algorithmes efficaces. These, Université des Sciences et Technologie
de Lille - Lille I, December 2011. 79, 90, 223
[182] N. Mars, A. Hornsby, and Dynamic City Foundation. The Chinese Dream : A Society Under
Construction. 010 Publishers, 2008. 12
[183] J.P. Martin. Un langage de modélisation à base de règles pour la programmation par contraintes.
PhD thesis, UNIVERSITÉ PIERRE ET MARIE CURIE, 2010. 96
[184] Olivier Martin, Steve W. Otto, and Edward W. Felten. Large-Step Markov Chains for the Traveling
Salesman Problem. Complex Systems, 5 :299–326, 1991. 83
[185] H. Mathieu and M. Tilmont. Étude sur les relations entre problèmes énergétiques et aménagement
urbain. Centre de Recherche d’Urbanisme, 1978. 43
[186] J.L. Maupu. La ville creuse pour un urbanisme durable. Editions L’Harmattan, 2006. 36, 38
[187] Thierry Mautor. Méta-heuristiques et méthodes exactes pour les problèmes d’optimisation combinatoire
difficiles : illustration sur le problème d’affectation quadratique. Hdr, Université de Versailles
- Saint-Quentin-en-Yvelines, 2001. 90, 95, 126, 127, 128, 221
[188] P. Merlin. L’urbanisme. Que sais-je ? Presses universitaires de France, 2007. 20
[189] Nicholas Metropolis, Arianna W. Rosenbluth, Marshall N. Rosenbluth, Augusta H. Teller, and Edward
Teller. Equation of State Calculations by Fast Computing Machines. The Journal of Chemical
Physics, 21(6) :1087–1092, June 1953. 83
[190] Zbigniew Michalewicz, Dipankar Dasgupta, Rodolphe G. Le Riche, and Marc Schoenauer. Evolutionary
algorithms for constrained engineering problems. Evolutionary Computation, 4 :1–32, 1996.
73
[191] L. Michel and P. Van Hentenryck. Localizer : A Modeling Language for Local Search. In Third
International Conference on the Principles and Practice of Constraint Programming (CP’97), Lintz,
Austria, October 1997. 96
[192] Steven Minton, Mark D. Johnston, Andrew B. Philips, and Philip Laird. Minimizing Conflicts : A
Heuristic Repair Method for Constraint Satisfaction and Scheduling Problems. Artificial Intelligence,
58(1-3) :161–205, 1992. 87, 107, 154
[193] H. Mintzberg. The structuring of organizations : a synthesis of the research. Theory of management
policy series. Prentice-Hall, 1979. 100, 101
[194] O. Mongin. Vers la troisième ville ? Questions de société : savoirs, enjeux, débats. Hachette, 1995.
26, 28
[195] D.C. Montgomery. Design and Analysis of Experiments. Number vol. 2. Wiley, 1984. 75
[196] A. Morcheoine, B. Bresse, and J.P. Orfeuil. Énergie, environnement et déplacements urbains :
quelques points de repère. Techniques Sciences Méthodes, génie urbain génie rural, no 1, pages
17-25, 1996. 43
[197] E. Morin. Introduction à la pensée complexe. Collection Communication et complexité. ESF, 1990.
114240 BIBLIOGRAPHIE
[198] R.W. Morrison. Designing Evolutionary Algorithms for Dynamic Environments. Natural Computing
Series. Springer, 2004. 60
[199] Sana Moujahed. Approche multi-agents auto-organisée pour la résolution de contraintes spatiales
dans les problèmes de positionnement mono et multi-niveaux. PhD thesis, Université de Technologie
de Belfort-Montbéliard, 2007. 125, 149
[200] Sana Moujahed, Olivier Simonin, and Abderrafiaa Koukam. Location problems optimization by a
self-organizing multiagent approach. Multiagent and Grid Systems, 5(1) :59–74, 2009. 149
[201] D.J. Musliner, J.A. Hendler, A.K. Agrawala, E.H. Durfee, J.K. Strosnider, and C.J. Paul. The Challenges
of Real-Time AI. 28(1) :58–66, 1995. 103
[202] Ioan Negrutiu and Jean-Michel Salles. Les ressources : la capital naturel évanescent et le défi démographique.
[88], pages 38–39. 30
[203] Bertrand Neveu, Gilles Trombettoni, and Fred Glover. Id walk : A candidate list strategy with a
simple diversification device. In Mark Wallace, editor, CP, volume 3258 of Lecture Notes in Computer
Science, pages 423–437. Springer, 2004. 75
[204] A. Newell and H.A. Simon. Human problem solving. Prentice-Hall, 1972. 101
[205] Yanik Ngoko. L’Approche du portfolio d’algorithmes pour la construction des algorithmes robustes
et adaptatifs. These, Université de Grenoble, July 2010. 94, 159
[206] T.A.J. Nicholson. Optimization in Industry : Industrial applications. London Business School series.
Aldine Atherton, 1971. 65
[207] Guy Orcutt. A new type of socio-economic system. International Journal of Microsimulation,
1(1) :3–9, 1957. 117
[208] Cindy A. O’Reilly and Andrew S. Cromarty. "Fast" Is Not "Real-Time" : Designing Effective RealTime
AI Systems. Proc. SPIE, 0548 :249–257, 1985. 103
[209] Jean-Pierre Orfeuil and Marie-Hélène Massot. La contrainte énergétique doit-elle réguler la ville ou
les véhicules ? Mobilités urbaines et réalisme écologique. Annales de la recherche urbaine, no 103,
pages 18-29, 2007. 43
[210] Ibrahim Osman and Gilbert Laporte. Metaheuristics : A bibliography. Annals of Operations Research,
63(5) :511–623, October 1996. 73
[211] Ibrahim H. Osman and Nicos Christofides. Capacitated clustering problems by hybrid simulated
annealing and tabu search. International Transactions in Operational Research, 1(3) :317–336, 1994.
84
[212] I.H. Osman and J.P. Kelly. Meta-Heuristics : Theory and Applications. Springer, 1996. 73
[213] A. Oyon. Une véritable cité ouvrière : Le Familistère de Guise. Librairie des sciences sociales, 1865.
23
[214] Christos H. Papadimitriou. Computational complexity. Addison-Wesley, 1994. 57
[215] Christos H. Papadimitriou and Kenneth Steiglitz. Combinatorial optimization : algorithms and complexity.
Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1982. 60BIBLIOGRAPHIE 241
[216] Julien Perret, Florence Curie, Julien Gaffuri, and Anne Ruas. Un système multi-agent pour la simulation
des dynamiques urbaines. In Michel Occello and Lilia Rejeb, editors, JFSMA, pages 205–213.
Cepadues Editions, 2010. 121
[217] H. Pirenne. L’origine des constitutions urbaines au moyen âge. Revue Historique, 1895. 19
[218] Franck Plastria. Continuous Covering Location Problems. [80], pages 37–79. 124, 149
[219] J-Ch Pomerol and S. Barba Romero. Choix Multicritère dans l’enterprise. Hermes, Paris, 1993. 101
[220] Jean-Charles Pomerol. Systèmes experts et SIAD : enjeux et conséquences pour les organisations.
Technologies de l’Information et Société, Volume 3, no 1, pages 37-64, 1990. 148
[221] Jean-Charles Pomerol. Artificial intelligence and human decision making. European Journal of
Operational Research, 99(1) :3 – 25, 1997. 102, 103
[222] Jakob Puchinger and Günther R. Raidl. Combining Metaheuristics and Exact Algorithms in Combinatorial
Optimization : A Survey and Classification. In Lecture Notes in Computer Science, volume
3562, pages 41–53, 2005. 61, 149, 194
[223] D. Pumain, L. Sanders, and T. Saint-Julien. Villes et auto-organisation. Economica, 1989. 114
[224] Denise Pumain. Essai sur la distance et l’espace géographique. Revue ATALA - Numéro 12 - La
distance, objet géographique, 2009. 113, 114
[225] Ernest G. Ravenstein. The Laws of Migration. Journal of the Royal Statistical Society, 52(2) :241–
305, June 1889. 113
[226] Jean-Charles Régin. Modélisation et contraintes globales en programmation par contraintes. Hdr,
Université de Nice Sophia-Antipolis, November 2004. 56
[227] Jean-Charles Régin, Mohamed Rezgui, and Arnaud Malapert. Embarrassingly Parallel Search. In
Principles and Practice of Constraint Programming - 19th International Conference, CP 2013, Uppsala,
Sweden, September 16-20, 2013. Proceedings, pages 596–610, 2013. 92, 159
[228] César Rego and Catherine Roucairol. A parallel tabu search algorithm using ejection chains for the
vehicle routing problem. In IbrahimH. Osman and JamesP. Kelly, editors, Meta-Heuristics, pages
661–675. Springer US, 1996. 94
[229] W.J. Reilly. The Law of Retail Gravitation. W.J. Reilly, 1931. 113
[230] Mauricio G. C. Resende. Greedy Randomized Adaptive Search Procedures (GRASP). Journal of
Global Optimization, 6 :109–133, 1999. 89
[231] Celso C. Ribeiro and Mauricio G. C. Resende. Path-relinking intensification methods for stochastic
local search algorithms. J. Heuristics, 18(2) :193–214, 2012. 81
[232] P. Riboulet. Onze Lecons Sur La Composition Urbaine. Presses de l’École Nationale des Ponts et
Chaussées, 1998. 20
[233] Francesca Rossi, Peter van Beek, and Toby Walsh. Handbook of Constraint Programming. Elsevier
Science Inc., New York, NY, USA, 2006. 63, 149, 194
[234] B. Roy. Méthodologie multicritère d’aide à la décision. Economica, Paris, 1985. 60, 101
[235] B. Roy. Réflexions sur le thème : Quête de l’optimum et aide à la décision. Cahier du LAMSADE
no 167, Université de Paris Dauphine, février 2000. 32 pages. 100242 BIBLIOGRAPHIE
[236] B. Roy and D. Bouyssou. Aide Multicritère à la Décision : Méthodes et Cas. Economica, Paris,
1993. 100, 101
[237] S. J. Russell and S. Zilberstein. Anytime sensing, planning, and action : A practical model for
robot control. In Ruzena Bajcsy, editor, Proceedings of the International Conference on Artificial
Intelligence (IJCAI-93), pages 1402–1407, Chambéry, France, 1993. Morgan Kaufmann publishers
Inc. : San Mateo, CA, USA. 99
[238] Sartaj Sahni and Teofilo F. Gonzalez. P-complete approximation problems. J. ACM, 23(3) :555–565,
1976. 125
[239] Nicolas Schabanel. Algorithmes d’approximation et Algorithmes randomisés, 2003. CIRM - ENS
LYON. 64, 223
[240] A. Schärlig. Décider sur plusieurs critères : panorama de l’aide à la décision multicritère. Collection
Diriger l’entreprise. Presses polytechniques romandes, 1985. 60, 101
[241] Thomas Schiex, Hélène Fargier, and Gérard Verfaillie. Valued Constraint Satisfaction Problems :
Hard and Easy Problems. In IJCAI-95, pages 631–639. Morgan Kaufmann, 1995. 67
[242] D.K. Schneider. Modélisation de la démarche du décideur politique dans la perspective de l’intelligence
artificielle. PhD thesis, 1996. 100
[243] René Séguin, Jean-yves Potvin, Michel Gendreau, Teodor G. Crainic, and Patrice Marcotte. Realtime
decision problems : an operations research perspective. Journal of the Operational Research
Society, 48 :162–174, feb 1997. 103, 104, 106, 178
[244] Marc Sevaux. Métaheuristiques : Stratégies pour l’optimisation de la production de biens et de
services. Hdr, University of Valenciennes, July 2004. 65
[245] P. Siarry. Métaheuristiques : Recuits simulé, recherche avec tabous, recherche à voisinages variables,
méthodes GRASP, algorithmes évolutionnaires, fourmis artificielles, essaims particulaires et autres
méthodes d’optimisation. Algorithmes. Eyrolles, 2014. 71, 90, 95, 150
[246] SIMAURIF. Rapport 1 : Modèle dynamique de simulation de l’interaction urbanisation-transports
en région ile-de-france. Projet de recherche, September 2004. 119, 120, 224
[247] SIMAURIF. Rapport 2 : Modèle dynamique de simulation de l’interaction urbanisation-transports
en région ile-de-france. Projet de recherche, October 2005. 120
[248] SIMAURIF. Rapport 3 : Modèle dynamique de simulation de l’interaction urbanisation-transports
en région ile-de-france. Projet de recherche, November 2007. 120
[249] Herbert Alexander Simon. The New Science of Management Decision. Prentice Hall PTR, Upper
Saddle River, NJ, USA, 1977. 99, 100, 177, 224
[250] Jadranka Skorin-Kapov. Tabu search applied to the quadratic assignment problem. INFORMS Journal
on Computing, 2(1) :33–45, 1990. 86
[251] Christine Solnon. Cours de programmation par contraintes, 2003. 56
[252] Christine Solnon. Contribution à la résolution pratique de problèmes combinatoires - des fourmis et
des graphes. Hdr, 2005. 57, 59, 89
[253] Taoufik Souami. De l’écoquartier à la ville intelligente. [88], pages 112–113. 33BIBLIOGRAPHIE 243
[254] R.H. Sprague and E.D. Carlson. Building effective decision support systems. Grolier Computer
Sciences Library. Prentice-Hall, 1982. 102, 177
[255] Ralph H. Sprague Jr. DSS in context. Decision Support Systems, 3(3) :197 – 202, 1987. 102, 177,
224
[256] P. F. Stadler. Towards a Theory of Landscapes. In Lopéz, R. Capovilla, García R. Pelayo, H. Waelbroeck,
and F. Zertuche, editors, Complex Systems and Binary Networks (Proceeding of the Guanajuato
Lectures 1995), pages 77–163. Springer-Verlag, 1996. 79
[257] P.F. Stadler and W. Schnabl. The landscape of the traveling salesman problem. Preprint. Sonderforschungsbereich
343, 1991. 79
[258] John A. Stankovic and K. Ramamritham, editors. Tutorial : Hard Real-time Systems. IEEE Computer
Society Press, Los Alamitos, CA, USA, 1989. 99, 150
[259] J. Q. Stewart. Demographic Gravitation : Evidence and Applications. Sociometry, 11(1/2) :31–58,
1948. 113
[260] Thomas Stützle. Local search algorithms for combinatorial problems - analysis, improvements, and
new applications., volume 220 of DISKI. Infix, 1999. 83
[261] Jean-Pierre SUEUR, sénateur. Villes du futur, futur des villes - quel avenir pour les villes du monde ?,
June 2011. 19
[262] J. Syrota. Perspectives énergétiques de la France à l’horizon 2020-2050 : Rapport de la Commission
Énergie. Rapports et documents. Centre d’analyse stratégique - Documentation française, 2008. 43
[263] E. Taillard. Robust tabou search for the quadratic assignment problem. Parallel Computing, 17(4-
5) :443–455, 1991. 86, 127, 128, 221
[264] Éric D. Taillard, Luca Maria Gambardella, Michel Gendreau, and Jean-Yves Potvin. Adaptive Memory
Programming : A Unified View of Meta-Heuristics. European Journal of Operational Research,
135(1) :1–16, 2001. 96
[265] E. G. Talbi, Z. Hafidi, and J.-M. Geib. A parallel adaptive tabu search approach. Parallel Comput.,
24(14) :2003–2019, December 1998. 94
[266] E.G. Talbi. Metaheuristics : From Design to Implementation. Wiley Series on Parallel and Distributed
Computing. Wiley, 2009. 58, 60, 61, 64, 65, 71, 73, 78, 79, 91, 94, 95, 159, 223
[267] H. Toussain. Algorithmique rapide pour les problèmes de tournées et d’ordonnancement. PhD thesis,
Université Blaise Pascal - Clermont-Ferrand II, 2010. 66, 71
[268] Charlotte Truchet, Florian Richoux, and Philippe Codognet. Prediction of parallel speed-ups for
las vegas algorithms. In 42nd International Conference on Parallel Processing, ICPP 2013, pages
160–169. IEEE, 2013. 93
[269] United-Nations. Department of economic and social affairs, population division : World population
2012. 19
[270] United-Nations. Department of economic and social affairs, population division : World urbanization
prospects, the 2011 revision, population of urban agglomerations. 19
[271] United-Nations. Department of economic and social affairs, population division : World urbanization
prospects, the 2011 revision, urban and rural areas 2011. 19244 BIBLIOGRAPHIE
[272] Pascal Van Hentenryck and Laurent Michel. Constraint-Based Local Search. The MIT Press, 2005.
63, 66, 87, 96, 154
[273] Carlos A Vanegas, Daniel G Aliaga, Peter Wonka, Pascal Müller, Paul Waddell, and Benjamin Watson.
Modelling the appearance and behaviour of urban spaces. In Computer Graphics Forum, volume
29, pages 25–42. Wiley Online Library, 2010. 49
[274] Vijay V. Vazirani. Approximation Algorithms. Springer-Verlag New York, Inc., New York, NY, USA,
2001. 64
[275] R. Venturi, D.S. Brown, and S. Izenour. L’Enseignement de Las Vegas ou le symbolisme oublié de la
forme architecturale. Collection architecture. Architecture + recherches. Mardaga, 1987. 28
[276] Gérard Verfaillie and Thomas Schiex. Maintien de solution dans les problèmes dynamiques de satisfaction
de contraintes : Bilan de quelques approches, 1995. 106
[277] Bruno Villalba. La dimension politique refoulée du développement durable. [88], pages 26–27. 30
[278] L. von Bertalanffy and J.B. Chabrol. Théorie générale des systèmes. Sciences des organisations.
Dunod, 1993. 114
[279] J.H. von Thünen and J. Laverrière. Recherches sur l’influence que le prix des grains, la richesse du
sol et les impots exercent sur les systèmes de culture. 1851. 110, 224
[280] Stefan Voß, Ibrahim H. Osman, and Catherine Roucairol, editors. Meta-Heuristics : Advances and
Trends in Local Search Paradigms for Optimization. Kluwer Academic Publishers, Norwell, MA,
USA, 1999. 73
[281] Chris Voudouris and Edward Tsang. Guided local search. Technical report, European Journal of
Operational Research, 1995. 89
[282] Jens Vygen. Approximation algorithms for facility location problems, 2005. 149
[283] Paul Waddell. UrbanSim : Modeling Urban Development for Land Use, Transportation and Environmental
Planning. Journal of the American Planning Association, 68(3) :297–314, 2002. 49,
117
[284] D. Walker and T.L. Daniels. The Planners Guide to CommunityViz : The Essential Tool for a New
Generation of Planning. Orton Family Foundation Books. Planners Press, American Planning Association,
2011. 122
[285] Jacques Weber. Développement viable, durable ou du rabe ? [88], pages 50–51. 30
[286] Marino WIDMER. Les métaheuiristiques : des outils performants pour les problèmes industriels.
In 3e Conférence Francophone de MOdélisation et SIMulation : Conception, Analyse et Gestion des
Systèmes Industriels, MOSIM’01, Troyes (France), April 2001. 65
[287] Marc Wiel. Comment construire une ville cohérente ? Études foncières, no 138, pages 12-17, 2009.
43
[288] D. H. Wolpert and W. G. Macready. No free lunch theorems for search. Tech. Rep. No. SFI-TR-95-
02-010, Santa Fe Institute, Santa Fe, NM, 1995. 61
[289] S. Wright. The roles of mutation, inbreeding, crossbreeding and selection in evolution. pages 355–
366, 1932. 78BIBLIOGRAPHIE 245
[290] Mutsunori Yagiura and Toshihide Ibaraki. On metaheuristic algorithms for combinatorial optimization
problems. Systems and Computers in Japan, 32(3) :33–55, 2001. 95
[291] Shlomo Zilberstein and Stuart Russell. Optimal composition of real-time systems. ARTIFICIAL
INTELLIGENCE, 82 :181–213, 1996. 99
[292] G. Zipf. Human Behaviour and the Principle of Least-Effort. Addison-Wesley, Cambridge, MA,
1949. 111
[293] G. K. Zipf. The P1P2
D
hypothesis : on the intercity movement of persons, 1946. 113
[294] M. Zlochin, M. Birattari, N. Meuleau, and M. Dorigo. Model-based search for combinatorial optimization
: A critical survey. Annals of Operations Research, 131 :373–395, 2004. 70Thèse de Doctorat
Bruno BELIN
Conception interactive d’environnements urbains durables à base de
résolution de contraintes
Interactive design of sustainable cities with constraints solving
Résumé
La conception de villes plus durables est devenue un
problème de société central. Une ville, à un stade très
en amont du processus de conception, peut être vue
comme un ensemble équilibré de formes urbaines
(unités résidentielles, commerciales, artisanales,
industrielles, routes, écoles, parcs, ...) qui doivent être
spatialement organisées suivant des règles
complexes issues d’une vision systémique de la ville,
intégrant les facettes sociales, économiques,
écologiques et de transport. Dans cette thèse, nous
proposons un outil d’aide à la décision pour assister
les urbanistes et les décideurs dans cette tâche de
conception de villes durables. Nous modélisons le
problème d’aménagement urbain comme un problème
d’optimisation que nous résolvons par des techniques
de recherche locale en réalisant une succession de
permutations entre formes urbaines. Notre outil
organise alors automatiquement les formes urbaines
sur un territoire vierge, et délimité dans l’espace. Nous
étendons cet algorithme séquentiel avec des
heuristiques novatrices pour améliorer les temps de
calcul, et nous proposons une version distribuée
efficace pour des problèmes de grande taille. Enfin,
nous y ajoutons des fonctionnalités interactives
permettant aux experts de modifier l’organisation
spatiale de la ville, tout en maintenant à la volée les
relations entre les formes urbaines, et en les informant
des impacts de leurs choix. Les avantages de notre
approche sont mis en évidence par des exemples et
des évaluations d’experts du domaine, et ouvrent la
voie vers de nouvelles façons de concevoir les villes
du futur.
Abstract
The design of more sustainable cities has emerged as
a central society issue. A city, in the early stage of its
design process, can be seen as a balanced set of
urban shapes (residential, commercial, artisanal and
industrial units, roads, schools, parks, ...). These
shapes need to be spatially organized following
complex rules based on a systemic view of the city,
including social, economic, ecological and
transportation aspects. In this thesis, we provide a
computer-aided decision tool to assist urban planners
and decision makers in the task of designing
sustainable cities. We cast the urban planning
problem as an optimization problem that we solve with
local search techniques, by iteratively swapping the
urban shapes. At this stage, our tool automatically
organizes urban shapes over a given empty, spatially
delimited territory. We extend this sequential algorithm
with novel heuristics to improve the computation time,
and propose a distributed version, efficient on large
problems. Finally, we add interactive features that
allow the experts to modify the spatial organization of
the city, while maintaining on the fly the relations
between shapes and informing the experts of the
impacts of their choices. The benefits of our approach
are highlighted by examples and feedbacks from
experts in the domain, and open the way for new
approaches to design the cities of the future.
Mots clés
Système interactif d’aide à la décision, recherche
locale distribuée, planification urbaine, ville
durable.
Key Words
Decision support system, distributed local
search, urban planning, sustainable city.
L’UNIVERSITÉ NANTES ANGERS LE MANS
Intelligence en essaim pour la distribution de
simulations dans un ´ecosyst`eme computationnel
Guilhelm Savin
To cite this version:
Guilhelm Savin. Intelligence en essaim pour la distribution de simulations dans un ´ecosyst`eme
computationnel. Artificial Intelligence. Universit´e du Havre, 2014. French. .
HAL Id: tel-00932194
https://tel.archives-ouvertes.fr/tel-00932194
Submitted on 16 Jan 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.UNIVERSITÉ DU HAVRE
UFR Sciences et Techniques
THÈSE
pour obtenir le grade de
DOCTEUR DE L’UNIVERSITÉ DU HAVRE
Discipline : Informatique
Guilhelm S
7 janvier 2014
Directeur :
Damien O Professeur à l’université du Havre
Co-directeur :
Antoine D Maître de conférence à l’université du Havre
Rapporteurs :
Pascal B Professeur à l’université du Luxembourg
Cyril F Professeur à l’université du Littoral Côte d’Opale
Examinateurs :
Paul B Directeur de recherche à l’école Polytechnique de Paris
Nicolas M Maître de conférence à l’université de ToursR
Me voici donc à rédiger ces quelques mots qui clôturent la rédaction de ce manuscrit, et
qui suscitent en moi à la fois impatience et circonspection ; l’impatience de pouvoir remercier
toutes ces personnes avec lesquelles j’ai eu l’occasion d’interagir au cours de mon doctorat.
Cependant, je l’écris avec toute la réserve possible de crainte d’en oublier certains. S’il y a
bien une partie qui vient du cœur, je pense qu’il s’agit de celle-ci, vous m’excuserez donc, je
l’espère, de ne pas l’aborder avec la rigueur d’un quelconque conformisme.
J’ai découvert le monde de la recherche durant mes premières années de fac. C’était pour
moi une nouveauté à laquelle mes enseignants de cette époque, pour la plupart cités dans
ces remerciements, ont su me donner goût. Par la suite, il m’a été donnée l’occasion de faire
un pas de plus dans cet univers et pour cela, je n’en remercierai jamais assez Damien. Merci
de m’avoir donné ma chance et d’avoir cru en moi malgré les passes difficiles. Toutes les
rencontres sont enrichissantes dans une vie, mais certaines se démarquent des autres. Tu
fais, sans conteste, partie de ces personnes à part, qui m’ont permis d’évoluer et d’élargir
ma vision du monde. Si je devais retenir une seule des choses que j’ai pu apprendre en te
côtoyant, ce serait que rien n’est plus enrichissant que d’être soi-même une entité qui participe,
avec d’autres entités au travers d’une collaboration dans la joie et la bonne humeur,
à la création d’un tout plus grand que nous. Cette thèse est aussi un travail collectif, il s’agit
d’une structure qui émerge de nombreuses interactions et je suis très honoré d’avoir pu faire
partie de son noyau à tes côtés. J’espère que les moutons remplacent désormais les avions.
Cette thèse n’aurait sûrement pas pu voir le jour sans Antoine, autre particule du noyau,
avec qui je suis resté en contact durant mon année bordelaise et qui m’a motivé pour me
lancer dans ce projet. Un énorme merci d’avoir accepté de la co-encadrer. Merci pour toutes
les ren
lectures dont je t’ai abreuvé en flux continu. Tu fais aussi partie des enseignants qui ont
participé à forger mon attirance pour la recherche et qui m’ont permis d’être là aujourd’hui.
Plus important encore, merci de m’avoir fait découvrir ces petites choses formidables que
sont le maki et le sushi.
La spatialisation, quelque peu inhabituelle, dans laquelle j’ai évolué ces dernières années,
m’a apporté une dimension humaine particulière qui a complété l’apport scientifique
de ces travaux. Je tiens à exprimer toute mon affection à ma famille d’adoption havraise,
Nath et Ced, pour m’avoir fait comprendre que de se sentir chez soi ne dépendait pas tant
du lieu, que des personnes qui s’y trouvent. Vous êtes tous les deux de superbes personnes,
qui tiennent désormais une place particulière dans mon cœur. Je souhaite que la vie vous
iR
apporte ce que vous désirez.
L’aboutissement de cette thèse n’est possible que grâce aux personnes qui ont accepté
de la rapporter et de participer au jury. Un grand merci à Pascal B et Cyril F
pour m’avoir fait l’honneur d’être rapporteurs de cette thèse. C’est un moment quelque peu
angoissant d’avoir terminé la rédaction de son manuscrit et d’être en attente des rapports
qui vont évaluer les travaux qui y sont présentés et qui correspondent à plusieurs années de
travail. Mais quel profond soulagement de découvrir, à leur réception, que cette thèse a été
jugée suffisamment digne d’intérêt pour mériter d’être soutenue. Je remercie très sincèrement
Paul B et Nicolas M pour m’avoir eux aussi fait l’honneur d’accepter
d’examiner ce manuscrit. Vous faites tous partie des personnes jouant un rôle déterminant
dans la conclusion de ces travaux, et je vous en suis profondément reconnaissant.
Merci à Stefan qui, non satisfait de m’avoir appris à équilibrer les arbres de manière stendhaleuse,
m’a fait découvrir la réaction hors du commun se produisant lorsqu’un échantillon
de Bg est plongé dans une solution aqueuse dans des conditions de température faible. Et
plus généralement, merci pour toutes les aventures de la même-pas-cap team. Un grand
merci pour ta relecture très constructive de ce manuscrit.
Merci à Yoann pour les nombreux moments partagés. Et il y en a ! D’abord en tant qu’enseignant,
puis en tant que thésard collègue de bureau, et désormais en tant qu’ami. Je pense
que notre invention du frigo-luge, sport méconnu du grand public, restera dans les méandres
oubliés de l’histoire, faute d’avoir prévu un podium adapté.
La plupart des thésards présents au début de ma thèse sont désormais partis. Seuls deux
restent, perdus dans les abîmes d’une rédaction qui semblait ne pas vouloir se terminer.
Merci à Haïfa pour avoir formé le groupe de vétérans des thésards de la B213 ! Ainsi que pour
ta bonne humeur quasi permanente. Je n’oublie pas les différents thésards qui se sont peu
à peu éloignés vers de nouveaux horizons : Nizar, Michel, Gaétan, Karim, Franzo, Cédric,
Djam, Fahem, et, plus au sud, Frédéric.
Quand tout semble se dérober sous nos pieds, il reste toujours une base solide sur laquelle
s’appuyer. Je tiens donc à remercier ma famille pour son soutien tout au long de ces années.
En particulier ma mère, Catherine, pour sa chasse aux fautes d’orthographe et ma grandmère,
Christiane, pour m’avoir fréquemment offert le gîte et régalé de raie au beurre noir.
Mais aussi mon père Jean-Noël, Stéphanie, et bien sûr, mes sœurettes Laureline et Maïté
et mon frère Thibault. J’ai aussi une pensée affectueuse pour mes grand-parents jurassiens,
Danièle et Michel, que je ne vois pas aussi souvent que je le souhaiterai. Ainsi que pour mon
grand-père, Bernard, qui s’est éteint avant d’avoir pu voir cette thèse terminée. Merci à
ma tante Valérie de m’avoir permis de me ressourcer régulièrement là où la terre prend fin.
Merci à tous les membres de ma famille que je n’ai pas la place de citer ici, mais qui n’en sont
pas moins la cible de mes remerciements. Merci aussi à ma belle-famille, Antoine, Candice,
Dominique, Nadine, pour m’avoir souvent accueilli et nourri ; ainsi que pour votre soutien.
Merci aux différents membres de l’équipe RI2C, et plus généralement du LITIS, voire
du LMAH ! En particulier, Véronique, toujours souriante et à l’écoute ; Frédéric, avec qui il
est vraiment plaisant d’interagir. Mais aussi Éric, et, plus récemment Rodolphe. Sans oublier
les irréductibles Cyrille et Aziz, qui ne doivent avoir un badge que pour entrer dans
iile bâtiment. J’ai une pensée chaleureuse pour Claire ; ainsi que pour Laurent, Dominique,
Jean-Luc, Guillemette, Pierrick, Guillaume, et Arnaud.
Merci aux amis avec qui j’ai pu passé régulièrement de bons moments. En particulier le
clan des amis de toujours, Cédric, Jérémy, François, Mathieu, Antony, Aline, Élise ; Cédric
et Aline ont aussi eu à subir mes squattes réguliers, au détriment de certaines madeleines
dont mes papilles en remercient encore la cuisinière. Le clan Chateau-Corson, Yann, Rachel,
Antoine, Paula, Marie, Philippe, Catherine. Le clan voileux, dont la première rencontre se
fit au milieu de délicieuses effluves de fromage, sous la supervision intransigeante de Nath ;
merci donc à Clem, Tanguy, Benj, Romain, Julie. Sans oublier Vesela, Raphaël, Fabienne,
Gaby, Rafika, Caroline, Maya. Et le clan d’Oc, Xavier, Manu, Carine, Benjamin, Mélanie,
Christine, Gérard, Corinne, Isabelle. Je m’excuse par avance auprès de ceux que j’ai oublié,
car il y en a très certainement !
Je remercie également ceux qui suivent les chemins d’Iwama. J’ai pu, grâce à vous, trouver
une paix intérieure qui a contribué à me donné la force de terminer. Merci donc à JeanLouis,
pour tes discussions enrichissantes, et pour m’avoir poussé à finaliser ce manuscrit.
Merci à Alexis, Virginie et Christelle, mais aussi à tout les autres. Namasté.
Merci à la SNCF, pour m’avoir gracieusement offert des heures gratuites à bord de ses
trains, même si j’aurais aimé pouvoir en contrôler le moment pour en profiter. Merci au
Trappiste, à la Petite Rade, au Miyaki et aux kebabs.
Enfin, une place spéciale pour quelqu’un de spécial, ma dulcinée, Solenne, qui me fait la
joie de partager ma vie depuis bientôt huit années. Désolé pour les absences, et l’humeur parfois
(souvent ?) irascible. Mais surtout, merci pour ta présence, ton soutien, et ton amour.
Il va être temps pour nous de prendre de la hauteur pour continuer de découvrir de nouveaux
horizons, peuplés d’étoiles encore inconnues. Avec tout mon amour.
Merci à vous, qui parcourez cette page et peut être les suivantes, car, ce faisant, vous
contribuez à leur donner un sens.
iiiÀ ma puce Daelys, qui a vu le jour au début de cette thèse,
et qui m’a accompagné toutes ces années.
Tous ceux là, ce sont des individus, qui ne sont pas des dieux bien sûr, ce sont des
hommes, mais ces hommes, ils communiquent les uns avec les autres, ils mettent
en commun, ils créent quelque chose qui est supérieur à eux, par leurs liens, par
leur mise en commun, par leurs échanges, ils font plus qu’eux même et au fond
c’est toute la réalité de notre univers, que chaque fois que l’on assemble, on fait
apparaître autre chose, on fait apparaitre de l’inattendu ; et bien quand on assemble
des hommes, quelque chose de nouveau apparait.
Albert Jacquard, Noms de dieux, 1994
vT
Remerciements i
Table des matières vi
Table des figures xi
Liste des algorithmes xv
I Introduction générale 1
Préambule 3
1 Contexte 7
1.1 Systèmes complexes . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Écosystème computationnel . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.1 Système distribué . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.2 Vers une écologie computationnelle . . . . . . . . . . . . . . . 16
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 Problèmatique 19
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
II Positionnement 27
3 Réseaux d’interactions 29
3.1 Graphes dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.1 Une première approche . . . . . . . . . . . . . . . . . . . . . 31
3.1.2 Modélisation de la dynamique . . . . . . . . . . . . . . . . . . 36
3.1.3 Une approche stochastique des graphes : les chaînes de Markov . 40
3.1.4 Vers une représentation formelle . . . . . . . . . . . . . . . . . 41
3.1.5 Centralité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
viTable des matières
3.2 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2.1 Communautés et organisations . . . . . . . . . . . . . . . . . . 54
3.2.2 Forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4 Répartition de charge 63
4.1 Partitionnement du graphe . . . . . . . . . . . . . . . . . . . . . . . 64
4.2 Approches statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2.1 Technique de la bissection récursive . . . . . . . . . . . . . . . 65
4.2.2 Technique multi-niveaux . . . . . . . . . . . . . . . . . . . . . 65
4.2.3 Classification hiérarchique . . . . . . . . . . . . . . . . . . . . 66
4.2.4 Théorie spectrale . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.5 Approches bio-inspirées . . . . . . . . . . . . . . . . . . . . . 71
4.3 Approches dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3.1 Approches par diffusion . . . . . . . . . . . . . . . . . . . . . 77
4.3.2 Approches par particules . . . . . . . . . . . . . . . . . . . . . 77
4.3.3 Diffusion de labels . . . . . . . . . . . . . . . . . . . . . . . . 78
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5 Calcul distribué 83
5.1 Système distribué . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.1.1 Le système distribué, cette super-machine . . . . . . . . . . . . 84
5.1.2 Réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.1.3 Stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1.4 Intergiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2 Différents types de systèmes distribués . . . . . . . . . . . . . . . . . . 89
5.2.1 Grappe de calcul . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2.2 Grille de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.3 Cloud computing . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2.4 Écosystème computationnel . . . . . . . . . . . . . . . . . . . 92
5.3 Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3.1 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3.2 Marche aléatoire dans un graphe . . . . . . . . . . . . . . . . . 97
5.3.3 Algorithmes fourmis . . . . . . . . . . . . . . . . . . . . . . . 98
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
viiT
III Modèle 103
6 Modélisation des interactions 105
6.1 Qu’est ce que l’interaction ? . . . . . . . . . . . . . . . . . . . . . . . 106
6.1.1 Interactions & Émergence . . . . . . . . . . . . . . . . . . . . 106
6.1.2 Causalité ascendante et descendante . . . . . . . . . . . . . . . 107
6.2 Propriétés des interactions . . . . . . . . . . . . . . . . . . . . . . . . 107
6.2.1 Interaction directe ou indirecte . . . . . . . . . . . . . . . . . . 107
6.2.2 Interaction synchrone ou asynchrone . . . . . . . . . . . . . . 108
6.2.3 Interaction ciblée ou diffuse . . . . . . . . . . . . . . . . . . . 109
6.3 Représentation et manipulation des interactions . . . . . . . . . . . . . 109
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7 Modélisation des organisations 113
7.1 Qu’est ce qu’une organisation ? . . . . . . . . . . . . . . . . . . . . . 113
7.2 Du micro au macro : le changement d’échelle . . . . . . . . . . . . . . . 114
7.2.1 Granularité de la vue sur le modèle . . . . . . . . . . . . . . . . 115
7.2.2 Intérêt du changement d’échelle . . . . . . . . . . . . . . . . . 115
7.2.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.3 Réification des organisations . . . . . . . . . . . . . . . . . . . . . . . 117
7.3.1 Propriété de connexité . . . . . . . . . . . . . . . . . . . . . . 117
7.3.2 Fusion d’organisations connexes . . . . . . . . . . . . . . . . . 118
8 Détection des centroïdes 119
8.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.2 Centralité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.2.2 Centres et centroïdes . . . . . . . . . . . . . . . . . . . . . . 121
8.3 Des fourmis et des centroïdes . . . . . . . . . . . . . . . . . . . . . . 122
8.4 Application aux organisations . . . . . . . . . . . . . . . . . . . . . . 125
8.5 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.5.1 Condition d’arrêt . . . . . . . . . . . . . . . . . . . . . . . . 128
8.5.2 Comparaison des résultats . . . . . . . . . . . . . . . . . . . . 128
8.5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
9 Outil de modélisation 133
9.1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
9.2 Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.2.1 Générateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.2.2 Métriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.2.3 Recherche de structures . . . . . . . . . . . . . . . . . . . . . 138
9.3 Exportation, importation et visualisation . . . . . . . . . . . . . . . . . 138
viiiTable des matières
9.3.1 Formats de fichier . . . . . . . . . . . . . . . . . . . . . . . . 138
9.3.2 Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.3.3 Communications réseaux, inter-threads et inter-plateformes . . . 142
9.4 Comment l’utiliser . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
IV Distribution 149
10 Répartition de charges 151
10.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
10.1.1 Pourquoi une répartition dynamique ? . . . . . . . . . . . . . . 152
10.1.2 Organisations et répartition . . . . . . . . . . . . . . . . . . . 153
10.1.3 Répartition dynamique . . . . . . . . . . . . . . . . . . . . . 153
10.1.4 Qui répartit le répartiteur ? . . . . . . . . . . . . . . . . . . . . 153
10.2 AntCo2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.2.2 Extraction des organisations . . . . . . . . . . . . . . . . . . . 159
10.2.3 Lissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.3 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.3.1 Description des simulations . . . . . . . . . . . . . . . . . . . 163
10.3.2 Méthodes existantes . . . . . . . . . . . . . . . . . . . . . . . 163
10.3.3 Intégration du nombre de migrations . . . . . . . . . . . . . . . 169
10.3.4 Synthèse générale sur les résultats . . . . . . . . . . . . . . . . 177
11 Intergiciel 179
11.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
11.2 L’acteur, un objet actif . . . . . . . . . . . . . . . . . . . . . . . . . . 180
11.2.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
11.2.2 Le paradigme acteur . . . . . . . . . . . . . . . . . . . . . . . 184
11.2.3 Gestion des différents mécanismes . . . . . . . . . . . . . . . . 184
11.3 Une architecture décentralisée . . . . . . . . . . . . . . . . . . . . . . 187
11.3.1 Agence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
11.3.2 Le tout acteur . . . . . . . . . . . . . . . . . . . . . . . . . . 187
11.4 Services des agences . . . . . . . . . . . . . . . . . . . . . . . . . . 188
11.4.1 Découverte d’autres agences . . . . . . . . . . . . . . . . . . . 188
11.4.2 Lucioles et horloge globale décentralisée . . . . . . . . . . . . . 188
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
ixT
Conclusion & Perspectives 193
Annexes 199
A Un modèle de comportement de groupe : les boids 199
A.1 Règles de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
A.2 Voisinage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
A.3 Intégration dans GS . . . . . . . . . . . . . . . . . . . . . 201
B Simulations de tests 203
B.1 Simulation statique, S1 . . . . . . . . . . . . . . . . . . . . . . . . . 203
B.2 Simulation dynamique, S2 . . . . . . . . . . . . . . . . . . . . . . . . 204
C GraphStream 207
C.1 Diagrammes de classes . . . . . . . . . . . . . . . . . . . . . . . . . 207
C.1.1 Éléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
C.1.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
C.1.3 Source et puits . . . . . . . . . . . . . . . . . . . . . . . . . 211
C.1.4 Fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
C.1.5 Algorithmes et générateurs . . . . . . . . . . . . . . . . . . . 215
C.2 Spécifications de DGS au format BNF . . . . . . . . . . . . . . . . . . . 215
D Plateforme d3 217
D.1 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . 217
D.2 Requêtes aux acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Bibliographie et index 223
Bibliographie 225
Publications 237
Index 239
Résumé 243
xT
0.1 Yet Another Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 Fourmis mangeant un morceau de pomme. . . . . . . . . . . . . . . . . . 8
1.2 Essaim d’abeilles sur un arbre. . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Nuée d’oiseaux marins aux îles Shumagin. . . . . . . . . . . . . . . . . . . 10
1.4 Organisation entre fourmis pour traverser un trou. . . . . . . . . . . . . . . 12
1.5 Homéostasie du système thyroïdien. . . . . . . . . . . . . . . . . . . . . . 13
1.6 Système fermé, système ouvert . . . . . . . . . . . . . . . . . . . . . . . 14
1.7 Les différentes couches d’un système distribué . . . . . . . . . . . . . . . . 15
2.1 Description du contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Résilience d’ingénierie et résilience écologie . . . . . . . . . . . . . . . . . 23
2.3 Exemples de formes d’organisation . . . . . . . . . . . . . . . . . . . . . 24
2.4 Décomposition d’une organisation . . . . . . . . . . . . . . . . . . . . . . 25
3.1 Quelques exemples de réseaux . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Exemple de réseau sans échelle . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Présentation des différentes couches en se basant sur une simulation de boids :
(a) le réseau d’interactions, (b) le graphe dynamique initial modélisant le ré-
seau, (c) une vue macroscopique du graphe dynamique . . . . . . . . . . . 35
3.4 Illustration du modèle de dynamique séquentielle . . . . . . . . . . . . . . 37
3.5 Illustration du modèle de dynamique cumulative . . . . . . . . . . . . . . . 38
3.6 Illustration du modèle de dynamique en flux . . . . . . . . . . . . . . . . . 39
3.7 Quelques exemples de mesure de la centralité . . . . . . . . . . . . . . . . 45
3.8 Graphes jouets utilisés pour illustrer les différentes centralités . . . . . . . . 46
3.9 La centralité utilisant le degré appliquée aux graphes G1 et G2 . . . . . . . . 47
3.10 Mesure de la proximité appliquée aux graphes G1 et G2 . . . . . . . . . . . . 48
3.11 Application de l’intermédiarité aux graphes G1 et G2 . . . . . . . . . . . . . 50
3.12 Application du PageRank aux graphes G1 et G2 . . . . . . . . . . . . . . . . 51
3.13 3 communautés formant des cliques . . . . . . . . . . . . . . . . . . . . . 55
3.14 Concept de processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.15 Un graphe dynamique vu comme le résultat d’un ensemble de processus . . . 57
3.16 Transmission discrète et continue . . . . . . . . . . . . . . . . . . . . . . 58
xiT
3.17 Processus micro/macro. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.18 Processus local/global. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.1 Un exemple de partitionnement d’un graphe . . . . . . . . . . . . . . . . . 64
4.2 Illustration de l’approche multi-niveaux appliquée au partitionnement. . . . . 66
4.3 Dendrogramme associé à une classification hiérarchique ascendante . . . . . 68
4.4 Matrice d’adjacence et Laplacienne non-normalisée d’un graphe. . . . . . . . 71
4.5 Codage, croisement et mutation dans un algorithme génétique . . . . . . . . 76
5.1 Classification de l’architecture des machines proposée par Michael J. F . . 85
5.2 Une grappe réalisée avec des R P. . . . . . . . . . . . . . . . . . 90
5.3 Répartition, entre utilisateur et fournisseur du cloud, de la gestion des diffé-
rentes couches d’un système distribué en fonction du modèle (IaaS, PaaS, SaaS). 93
5.4 Un automate e/s de processus . . . . . . . . . . . . . . . . . . . . . . . . 96
5.5 Un automate e/s de communication . . . . . . . . . . . . . . . . . . . . . 96
6.1 Causalité ascendante et descendante. . . . . . . . . . . . . . . . . . . . . 108
6.2 Interaction (a) synchrone et (b) asynchrone entre une entité source et une entité
cible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.3 Création d’interactions naïve . . . . . . . . . . . . . . . . . . . . . . . . 111
6.4 Création d’interactions avancée avec ρini t = 1, δρ = 0.5, ϖ = 0.7 et ρdel = 0.3. 112
7.1 Vue microscopique et vues macroscopiques . . . . . . . . . . . . . . . . . 116
7.2 Exemple de détection d’organisations non-connexes . . . . . . . . . . . . . 118
8.1 Distances des nœuds. La structure en gras représente le sous-graphe induit par
les nœuds dont la distance est minimale, ce qui correspond au centroïde de ce
graphe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
8.2 une organisation comportant une partie faible (en orange). . . . . . . . . . . 126
8.3 (a) une organisation est fournie par un algorithme de détection d’organisations,
(b) une partie faible est détectée, (c) l’organisation initiale est scindée en deux
nouvelles organisations sans partie faible. . . . . . . . . . . . . . . . . . . 127
8.4 Dans cet arbre de 50 nœuds, les fourmis ont détecté le centroïde optimal . . . 127
9.1 Un exemple basique de réseau composé d’une source, de canaux, et d’un puits 136
9.2 Un générateur de graphe dynamique basé sur le modèle des boids. . . . . . . 137
9.3 Résultat d’une marche aléatoire . . . . . . . . . . . . . . . . . . . . . . . 139
9.4 Exemple de fichier DGS . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9.5 Affichage avancé dans GS . . . . . . . . . . . . . . . . . . . . 142
9.6 Le protocole NetStream . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.7 Intégration de GS dans NetLogo . . . . . . . . . . . . . . . . . 144
9.8 Le réseau routier du Havre et de ses environs modélisé en tant que graphe par
GS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
xiiTable des figures
10.1 Différents scénarios d’utilisation du répartiteur de charges . . . . . . . . . . 154
10.2 Application de AntCo2
à un graphe de 400 nœuds généré par attachement pré-
férentiel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.3 Graphe du Zachary Karate Club . . . . . . . . . . . . . . . . . . . . . . . 161
10.4 Tracé de la mesure r1 pour la simulation S1 . . . . . . . . . . . . . . . . . . 166
10.5 Tracé de la mesure r2 pour la simulation S1 . . . . . . . . . . . . . . . . . . 167
10.6 Impact de la valeur du délai sur l’évolution de r1 pour la simulation S1. . . . . 168
10.7 Impact de la valeur du délai sur l’évolution de r2 pour la simulation S1. . . . . 169
10.8 Impact de la valeur du délai sur l’évolution de r1 pour la simulation S2. . . . . 170
10.9 Impact de la valeur du délai sur l’évolution de r2 pour la simulation S2. . . . . 171
10.10 Tracé de la mesure r1 pour la simulation S2 . . . . . . . . . . . . . . . . . . 172
10.11 Tracé de la mesure r2 pour la simulation S2 . . . . . . . . . . . . . . . . . . 173
10.12 Évolution du nombre total de communications effectives et de migrations pour
la simulation S1 (échelle logarithmique) . . . . . . . . . . . . . . . . . . . 174
10.13 Évolution du nombre total de communications effectives et de migrations pour
la simulation S2 (échelle logarithmique) . . . . . . . . . . . . . . . . . . . 175
10.14 Évolution de C en fonction de k pour la simulation S1 . . . . . . . . . . . . 177
10.15 Évolution de C en fonction de k pour la simulation S2 . . . . . . . . . . . . 177
11.1 Appel de méthode entre objets classiques et objets actifs. Un objet A appelle une
méthode d’un objet B. B exécute alors cette méthode et retourne un résultat à
A qui effectue alors un traitement. . . . . . . . . . . . . . . . . . . . . . . 182
11.2 Architecture d’un acteur. . . . . . . . . . . . . . . . . . . . . . . . . . . 183
11.3 Protocole de migration . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
11.4 Différences entre unicast, broadcast et multicast . . . . . . . . . . . . . . . 189
11.5 Les lucioles « synchrones » à Elkmont dans le parc national des Great Smoky
Mountains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
11.6 Synchronisation des lucioles . . . . . . . . . . . . . . . . . . . . . . . . . 192
A.1 Règles appliquées aux boids telles que définies par Craig R. . . . . . 200
B.1 Une grille de dimension 11×11 . . . . . . . . . . . . . . . . . . . . . . . 204
B.2 Un exemple de grille plaquée sur un tore . . . . . . . . . . . . . . . . . . . 204
D.1 Exemple de méthode invocable dans d3
. . . . . . . . . . . . . . . . . . . 221
xiiiL A
1 Calcul d’une partition à l’aide de la théorie spectrale . . . . . . . . . . . . 72
2 Recuit simulé appliqué au partitionnement . . . . . . . . . . . . . . . . 73
3 Algorithme génétique appliqué au partitionnement . . . . . . . . . . . . . 75
4 Cycle d’un algorithme fourmis . . . . . . . . . . . . . . . . . . . . . . . 100
5 Calcul classique du centroïde . . . . . . . . . . . . . . . . . . . . . . . 123
6 Algorithme général . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7 Étape d’une fourmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8 Cycle d’une luciole . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
xvPremière partie
Introduction générale
1P
Ce manuscrit présente nos travaux sur la distribution de simulations de système complexe.
À une autre échelle, nous considérons l’ensemble des entités de la simulation, et l’infrastructure
matérielle utilisée pour la distribution, comme un système complexe à part entière.
Nous effectuons le parallèle avec les écosystèmes naturels afin de mettre en évidence
que nous sommes en présence d’un environnement (le système distribué) qui fournit des ressources
(calcul, mémoire, etc…) à un ensemble d’organismes (les entités) afin de leur permettre
de se développer, de s’exécuter mais aussi d’interagir. Ces éléments nous amènent à
penser en terme d’écosystème computationnel désignant l’ensemble de notre système distribué
dédié aux simulations de système complexe. Au travers de cette vision nous cherchons à
dégager des propriétés souvent propres aux systèmes naturels que l’on souhaiterait obtenir,
sur le long terme, pour ce type de système distribué : robustesse, adaptabilité, résilience.
Notre travail n’est qu’un pas dans cette direction. Nous proposons de centrer ce dernier
autour des interactions et, à cette fin, de modéliser les simulations sous la forme d’un graphe
dynamique les représentant. Cela nous amène à réfléchir sur les différentes façons d’aborder
la dynamique, mais aussi la lecture de ce modèle. En effet, nous cherchons dans ce graphe
des motifs, c’est à dire des organisations, qui vont nous permettre d’obtenir un plus haut
niveau de représentation du graphe et, éventuellement, de gouverner le système de façon à
en optimiser les propriétés qui lui permettront de résister et de s’adapter aux perturbations.
Ces éléments sont complétés par le développement d’une bibliothèque de graphe dynamique
permettant à la fois la modélisation, mais également des mesures locales, globales ou structurelles.
À cela s’ajoute un intergiciel offrant aux simulations la possibilité d’utiliser les informations
collectées au niveau du modèle et la possibilité de migrer les entités composant ces
simulations afin d’aller vers une distribution efficace.
Nous avons choisi de diviser la présentation de ces travaux en quatre parties. La première
partie, nommée « Introduction générale », nous permet de développer le cadre global
des travaux qui seront présentés dans les parties suivantes. Ainsi, un premier chapitre
« Contexte » aborde les systèmes complexes et les réseaux d’interactions ; puis nous dé-
taillons la notion de système distribué, suivi d’une analogie entre un système distribué dédié
aux simulations de système complexe et un écosystème naturel. Nous présentons ensuite,
dans un second chapitre, notre «Problèmatique» qui introduit les contraintes liées à la modélisation
des interactions et à la dynamique. D’une part la dynamique du réseau d’interactions,
et d’autre part celle de l’environnement de distribution.
3. P
Dans la seconde partie, « Positionnement », nous présentons l’état de l’art des diffé-
rents problèmes abordés. Ainsi le chapitre « Réseaux d’interactions » présente la modélisation
d’un réseau d’interactions sous forme de graphe dynamique. Différentes approches de
la modélisation de la dynamique sont abordées. Puis nous nous intéressons aux structures
qui apparaissent dans ce graphe, ainsi qu’aux processus qui vont participer à la dynamique
du graphe. Le chapitre suivant aborde la « Répartition de charge » sous l’angle du partitionnement
de graphes, d’abord de manière générale, puis en s’appuyant sur les différentes
approches statiques et dynamiques. Enfin, le chapitre «Calcul distribué» expose l’architecture
générale de l’infrastructure d’un système distribué. Ce chapitre nous permet de décrire
différents types de systèmes distribués tels que les grappes de calcul, les grilles, le cloud
computing, pour terminer sur les écosystèmes computationnels ; et d’exposer une première
approche sur la manière d’envisager l’algorithmique dans un tel système.
La troisième partie, « Modèle», est dédiée aux modèles que nous proposons pour repré-
senter les interactions entre les entités et les organisations. Nous consacrons le premier chapitre
de cette partie à la « Modélisation des interactions », en décrivant leur importance au
sein du système, leur rôle dans l’émergence d’organisation, ainsi que certaines de leurs propriétés.
Nous nous intéressons à la « Modélisation des organisations » dans le chapitre suivant,
et plus particulièrement aux différentes échelles de représentation du système. Puis,
nous verrons des « Détection des centroïdes » que nous pouvons appliquer à nos modèles
afin d’augmenter la robustesse du système. Nous décrivons, en particulier, une mesure de
centralité, basée sur une approche à base de fourmis numériques, dont le but est de détecter
les centroïdes des organisations. Enfin, nous terminerons cette partie par une présentation
de notre « Outil de modélisation », GS, dont le but est de permettre la manipulation
de la dynamique d’un graphe.
Enfin, la dernière partie «Distribution» expose notre contribution à la répartition dynamique
et décentralisée de charge, ainsi qu’à la modélisation de l’environnement de distribution.
Le chapitre « Répartition de charges », quant à lui, montre les enjeux de la répartition
dynamique de charge. Il développe l’algorithme AntCo2 qui est notre approche à base de colonie
de fourmis utilisée pour détecter des organisations dans le graphe dynamique modélisant
les entités. Ces organisations nous permettent de répartir les entités de manière à équilibrer
la charge et à réduire la bande passante du réseau. Cet algorithme peut cependant conduire
à l’oscillation de certaines entités entre plusieurs organisations, ce qui conduit à des migrations
intempestives venant dégrader les performances globales du système. Nous proposons
des méthodes de lissage pour permettre de réduire ces oscillations, suivies de résultats. Nous
présentons dans un dernier chapitre « Intergiciel » notre contribution à la modélisation de
l’intergiciel d’un écosystème computationnel. Ce modèle propose une architecture décentralisée,
où les entités peuvent communiquer de manière asynchrone.
Nous terminons sur une discussion qui nous permet de conclure ce manuscrit et de pré-
senter les perspectives qui pourront définir une suite future à ces travaux.
4.
Intelligence en
essaim pour
la distribution
de simulations
dans un
écosystème
computationnel
.
Introduction
générale
.
Contexte
.
Problèmatique
.
Positionnement
.
Réseaux
d’interactions
.
Répartition
de charge
.
Calcul
.
distribué
Modèle
.
Modélisation
des interactions
.
Modélisation
des organisations
.
Détection
des centroïdes
.
Outil de
modélisation
.
Distribution
.
Répartition
de charges
.
Intergiciel
.
F 0.1 : Yet Another Table of Contents
5C
1
C
1.1 Systèmes complexes . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Écosystème computationnel . . . . . . . . . . . . . . . . . . . . . 13
1.2.1 Système distribué . . . . . . . . . . . . . . . . . . . . . . 14
1.2.2 Vers une écologie computationnelle . . . . . . . . . . . . . 16
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Nous nous plaçons dans le cadre d’étude des systèmes complexes qui n’est pas sans poser
de problème étant un domaine dynamique et foisonnant. En effet, il n’offre pas de définition
consensuelle : certains abordent le problème à l’aide d’exemples tels que le vol en essaim
(cf. figure 1.3), le trafic routier et ses embouteillages, ou encore les sociétés d’insectes (cf.
figures 1.1 et 1.2)… D’autres l’abordent à l’aide de formulations généralistes telles que « le
tout est plus que la somme des parties » qui bien qu’intéressantes ne peuvent constituer un
cadre formel.
Il n’est pas dans nos prétentions dans cette introduction de proposer une définition qui
lèverait tous ces manques et comblerait toutes les ambiguïtés. Notre propos se situe dans le
contexte systémique où les interactions s’expriment et définissent des propriétés locales et
globales à différents niveaux d’échelle éventuels.
1.1 Systèmes complexes
Les systèmes complexes sont un des composants de bases de nos travaux et pourtant, il
est difficile d’en fournir une définition formelle et consensuelle, qui serait valable pour toutes
7. C
.
F 1.1 : Fourmis mangeant un morceau de pomme. Image sous licence Creative Commons 3.0
par Zainichi Gaikokujin
les personnes travaillant sur le sujet, du fait que le terme même de complexité est polysé-
mique. La difficulté réside d’une part dans les multiples disciplines utilisant le paradigme des
systèmes complexes qui rendent nécessaire l’utilisation d’un vocabulaire commun, et d’autre
part dans la compréhension que nous avons du terme complexité. En tant qu’informaticiens,
nous sommes habitués à manipuler des complexités qui expriment le temps de calcul nécessaire
à un algorithme pour s’exécuter, la quantité de mémoire nécessaire à son exécution,
ou encore la complexité aléatoire de Kolmogorov [K 1965] qui définit la taille du
plus petit algorithme (en nombre de caractères) nécessaire à la production d’une donnée de
sortie à partir de données d’entrée. Les systèmes complexes rentrent dans un champ multidisciplinaire
ce qui implique que la compréhension de la complexité ne peut se restreindre
aux définitions du domaine de l’informatique seul qui se limitent à la théorie de l’information
et ne capturent pas des dimensions essentielles. Nous allons donc tenter dans la suite de
fixer les notions de systèmes et de leur complexité tels que nous les appréhendons.
D’une manière générale, un système est un environnement, délimité du milieu extérieur
81.1. Systèmes complexes
.
F 1.2 : Essaim d’abeilles sur un arbre. Image sous licence CC BY-NC par Fir0002/Flagstaffotos
par une membrane, dans lequel un ensemble d’éléments va avoir la possibilité d’interagir et
éventuellement de s’organiser. Cet environnement et ces éléments sont régis par un certain
nombre de contraintes qui vont permettre de caractériser le système. Les interactions
peuvent être fixes comme dans le cas d’un moteur constituant un système électrique, ou
libres, mais dans ce cas soumises à des contraintes comme par exemple un écosystème naturel.
Nous verrons par la suite que cette membrane qui isole l’environnement peut être
ouverte ou fermée en fonction du fait qu’elle permette ou non des échanges avec le milieu
extérieur. Les éléments, que nous nommerons par la suite entités, ont la possibilité d’interagir
entre eux mais aussi avec l’environnement. Celui-ci peut d’ailleurs servir d’intermé-
diaire à une forme d’interaction indirecte comme par exemple la stigmergie chez les termites
constructeurs [G 1959]. La stigmergie est un mode de communication qui consiste à
déposer un message dans l’environnement qui déclenchera ensuite une réaction de la part
9. C
.
F 1.3 : Nuée d’oiseaux marins aux îles Shumagin. Cette image est dans le domaine publique
des entités qui en prendront connaissance. Des interactions entre les entités peut se dégager
de l’organisation entre les entités, et de ce fait, on ne peut limiter le système à la somme
de ses parties. Le système est au contraire formé par l’environnement, les entités, leurs interactions
ainsi que des propriétés qui émergent du comportement et des interactions des
entités.
On retrouve cette notion d’organisation formant un tout dans la définition de système
donnée dans [S 1931] :
.
“
Totalité organisée, faite d’éléments solidaires ne pouvant être définis que les uns
par rapport aux autres en fonction de leur place dans cette totalité..
Un système peut être ouvert ou fermé. Lorsqu’il est ouvert, la membrane qui délimite
”
l’environnement du système est poreuse et laisse donc passer des flux de l’extérieur du système
qui viennent perturber le système. Le système peut émettre en retour des flux vers
l’extérieur. Ces flux qui traversent le système et sur lesquels le système n’a ni contrôle ni
possibilité de prédiction absolue cassent le déterminisme du système et vont être responsables
de phénomènes d’auto-organisation qui peuvent apparaître. Le système suit alors une
trajectoire qui est non-déterministe. La définition d’un système fermé découle naturellement
de la précédente comme étant son contraire : la membrane du système est hermétique et
les flux traversant l’environnement se cantonnent donc à ceux générés par le système lui
101.1. Systèmes complexes
même. Un système totalement fermé relève du concept. En effet, la nature ne possède pas
d’exemple de tels systèmes et leur observation en serait d’ailleurs impossible : comment observer
quelque chose qui ne se laisse pas traverser par la moindre particule et qui n’en émet
aucune ? C’est pourquoi dans ces travaux nous considérerons que le système est ouvert afin
d’être au plus proche de la réalité des systèmes naturels dont nous nous inspirons.
Le système que nous considérons peut donc être assimilé aux systèmes dissipatifs tels
que formulés par Ilya P et Isabelle S dans [P et S 1996].
Ces systèmes ouverts sont traversés par des flux d’énergie et de matière provenant de l’environnement
extérieur et convertissent une partie de ce flux en informations afin de créer
de l’ordre à l’intérieur du système. Cette absorption d’énergie conduit à l’augmentation de
l’entropie globale du système, qui est dissipée par des phénomènes d’auto-organisations.
La complexité repose sur plusieurs choses. Tout d’abord sur l’appréhension que l’on peut
avoir sur les entités et leurs interactions. En effet, la quantité de ces éléments peut être telle
qu’il devient difficile voire impossible, que ce soit pour un observateur humain ou même
pour une machine, de considérer la totalité des éléments du système et de ce fait de pouvoir
étudier le système par des approches globales. Elle est aussi liée au fait que le système
soit plongé dans le temps [C et H 1997]. Ce temps va définir une succession
d’états du système. Il peut être continu, c’est à dire que peu importe deux temps réels t1
et t2 auxquels correspond un état du système, on peut trouver un état au temps t3 tel que
t1 < t3 < t2. Au contraire, le temps peut être discret : l’état du système n’est défini que
pour certaines valeurs de temps qui sont séparées par un intervalle constant ou non. Dans
ces travaux, nous nous focaliserons sur une approche par événements discrets qui consiste à
considérer les modifications qui surviennent dans le système plutôt que le temps lui même
[Z, P et K 2000]. Cette temporalité, qu’elle soit événementielle ou non,
mène donc au fait que l’on observe une dynamique des différents composants du système,
que ce soit l’apparition ou la disparition d’entités ou d’interactions entre les entités, ou encore
la dynamique des propriétés du système. L M dans [L M 1994] intègre
cette notion d’évolution dans sa description du Système Général :
.
“
un objet qui, dans un environnement, doté de finalités, exerce une activité et voit
sa structure interne évoluer au fil du temps, sans qu’il perde pourtant son identité
unique..
Du fait des interactions entre les entités et de la temporalité, on observe des
”
phénomènes
qui créent de l’organisation au sein du système et qui peuvent intervenir sur différentes
échelles, spatiales ou temporelles. Il est donc nécessaire d’être capable d’effectuer un changement
d’échelle, grâce à la détection des organisations, pour pouvoir observer à un plus
haut niveau d’organisation. Ces phénomènes peuvent survenir à l’échelle microscopique sur
une période de temps suffisamment courte pour pouvoir considérer le phénomène comme
instantané. Ils oscillent autour d’un point d’équilibre. Ces phénomènes, que l’on qualifiera de
synchroniques, bien qu’agissant à l’échelle microscopique ont des conséquences sur l’échelle
macroscopique par leur répétition qui renforce d’autres phénomènes, qualifiés de diachroniques,
qui agissent à une échelle macroscopique. L’action de ces derniers s’effectue sur une
11. C
.
F 1.4 : Organisation entre fourmis pour traverser un trou. L’auteur de cette image est inconnu
fenêtre de temps beaucoup plus large avec des conséquences non-réversibles sur l’environnement
qui entraînent des conséquences sur les phénomènes synchroniques. On peut citer
comme exemple l’infiltration d’une goutte d’eau au travers d’une faille (phénomène synchronique),
la répétition de ce phénomène sur des décennies voire des siècles aboutit à la création
de concrétions, les stalactites ou stalagmites (phénomène diachronique).
Les interactions dans le système peuvent être de type rétroactif ou de type proactif. Dans
le cas d’interactions rétroactives, l’entité va réagir à un stimulus indirectement provoqué par
une entité de plus haut niveau, que ce soit une organisation, l’environnement ou le système
lui-même. L’entité n’a ni contrôle ni but dans cette réaction. Le rôle de la rétroaction va être
d’amplifier (rétroaction positive) ou de diminuer (rétroaction négative) l’intensité d’un phé-
nomène. On retrouve des exemples de ce type d’interactions dans le système endocrinien,
en particulier dans l’homéostasie de la thyroïde [D, L et F 2012] :
un faible niveau d’hormones thyroïdiennes T3/T4 va entraîner de la part de l’hypothalamus
la libération d’hormone thyréotrope (TRH) qui à son tour va stimuler l’hypophyse ; cette stimulation
va aboutir à la production de thyréostimuline par l’hypophyse qui va stimuler la
production d’hormone thyroïdienne jusqu’à un retour à un niveau normal dans le sang (voir
la figure 1.5).
Les interactions proactives impliquent non seulement un contrôle de l’entité mais également
la recherche d’un objectif au travers de l’interaction. L’entité cherche alors à agir à un
plus haut niveau sur une organisation, l’environnement ou le système entier en le transformant,
et en provoquant éventuellement les rétroactions d’autres entités. Cette action résulte
de l’anticipation d’un possible événement à venir qui peut être prédit par l’analyse de ce que
l’entité perçoit du système. Une interaction proactive peut être le résultat de la répétition
d’une même interaction réactive qui, grâce à un mécanisme de mémoire et d’apprentissage,
permet à l’entité de détecter le contexte précédant une certaine interaction, ce qui lui permet
121.2. Écosystème computationnel
.
Hypothalamus
taux en T3/T4 faible taux en T3/T4 normaux
Hypophyse
production de TSH
Thyroïde
stimulée par TSH production de T3/T4
libération de TRH
F 1.5 : Homéostasie du système thyroïdien.
d’anticiper l’interaction. On peut considérer comme exemple le système de régulation thermique
d’un bâtiment dont le rôle serait d’y maintenir une certaine température. Ce système
peut être équipé d’une sonde qui mesure la température extérieure et grâce à l’analyse de
l’évolution de cette température, la sonde peut anticiper l’impact de la température de l’extérieur
sur l’intérieur et ainsi agir de manière proactive en ajustant le réglage des appareils
thermiques pour maintenir la température intérieure constante.
Un système complexe, bien que composé d’entités en interactions, est avant tout le fruit
de ces interactions. On peut d’ailleurs considérer que le système est composé d’interactions
plutôt que d’entités. Ceci implique qu’on ne peut limiter le système à ses seules entités et
qu’on ne peut limiter son analyse à celle d’une partie de ses entités. Il s’agit d’un système nonlinéaire
dans lequel les interactions locales entre entités impliquent des réactions globales du
système.
1.2 Écosystème computationnel
.
“
An ecosystem is a community of living organisms (plants, animals and microbes)
in conjunction with the nonliving components of their environment (things like air,
water and mineral soil), interacting as a system..
”
Cette citation, extraite de W , reprend un vocabulaire qui nous est familier et
qui nous permet de faire le lien avec la notion de système complexe dont il était question
1. https://en.wikipedia.org/wiki/Ecosystem, consultée le 4 août 2013
13. C
. .
F 1.6 : À gauche, un système fermé dans lequel les perturbations extérieures ne
peuvent franchir la membrane du système. Au contraire, à droite, un flux est généré par
les perturbations qui traversent le système.
précédemment : il est question d’entités (les organismes) qui interagissent dans un environnement
en formant un système. Il est aussi question d’éléments « sans vie » que l’on peut
désigner comme étant les ressources de l’environnement. Nous allons maintenant définir et
approfondir ce que nous entendons par écosystème computationnel.
1.2.1 Système distribué
Nous évoluons dans un monde qui est de plus en plus peuplé d’appareils divers et variés.
Grâce à l’essor de la technologie, ces appareils se sont vus dotés de mobilité, mais plus
important encore, leur capacité de communiquer et d’interagir entre eux n’a de cesse d’augmenter.
De l’ordinateur de bureau à la maison elle même, en passant par le téléphone, la
voiture…Tous ces appareils forment un ensemble de sous-réseaux qui peuvent s’interconnecter.
Ces appareils vontformer un système distribué qui va permettre l’exécution de programmes
dont la fonction se réduit au calcul dans le but de générer et d’échanger de l’information. Là
où par le passé un programme se réduisait à une séquence d’instructions qui s’exécutaient
sur un système isolé, il s’agit désormais d’ensembles de programmes qui s’organisent afin de
fournir des services de plus haut niveau. Grâce aux connections existantes entre les appareils,
les programmes peuvent être dispersés sur un ensemble de systèmes.
Il existe différents types de systèmes distribués, liés par exemple aux types d’unité de
calcul ou encore à la topologie du réseaux, ce qui conduit à différentes définitions de ces systèmes.
L. L en 1987 donne la définition suivante d’un système distribué dans [L-
1987] :
141.2. Écosystème computationnel
.
Applications
Intergiciels et services
Ressource 1 Ressource 2 … Ressource n
Entités
Infrastructure d’interconnection
Ressources partagées
F 1.7 : Les différentes couches d’un système distribué
.
“
A distributed system is one in which the failure of a computer you didn’t even know
existed can render your own computer unusable..
Cette définition considère donc un système distribué comme un ensemble de machines
”
qui sont dépendantes les unes des autres à tel point que la perte inopinée d’une de ces machines
peut entraîner un gel complet du système le rendant ainsi inutilisable. Elle transmet
donc l’idée d’une infrastructure statique monolithique. Plus récemment en 2000 dans [E-
2000], W. E nous donne la définition suivante :
.
“
A distributed system consists of a collection of autonomous hosts that are connected
through a computer network. Each host executes components and operates a
distribution middleware, which enables the components to coordinate their activities
in such a way that users perceive the system as a single, integrated computing
facility..
L’auteur utilise ici le terme plus général d’
”
hôte pour désigner les machines faisant partie
du système et ici ces hôtes sont autonomes : nous avons donc une infrastructure modulaire
dont les parties sont communicantes et indépendantes. L’ensemble agit de concert par
l’intermédiaire d’un intergiciel qui permet aux différents composants s’exécutant dans le système
de s’abstraire de leur environnement d’exécution en le considérant comme un unique
environnement dans lequel ils peuvent évoluer.
Bien que cette dernière définition implique une certaine tolérance aux pannes dans le système,
elle n’inclut pas toute la dynamique qui peut régir certains systèmes. Cela peut suffire
pour des systèmes distribués purement dédiés au calcul, comme les grilles ou les grappes,
qui ont une dynamique faible : celle-ci se limite aux pannes de machines et à l’ajout ou la suppression
de ressources qui surviennent à une faible fréquence. On peut cependant considérer
15. C
des systèmes où les machines ont une fréquence d’apparition/disparition plus importante :
par exemple, si le réseau comporte des appareils mobiles tels que des smartphones, du fait
de leur mobilité et d’une connexion sans-fil au réseau sujette aux perturbations, ces périphériques
peuvent se retrouver facilement déconnectés du réseau pour le ré-intégrer par la
suite.
1.2.2 Vers une écologie computationnelle
Le terme « écologie » a été emprunté à la langue allemande Ökologie qui est une combinaison
par le zoologiste et biologiste allemand E. H. H des termes du grec ancien
« οἶκος » (oîkos) signifiant « maison » et du suffixe utilisé pour la construction du nom
des sciences « λογία » (logia) signifiant « discours » . L’écologie peut donc être considé-
rée comme la science de la maison, mais comment peut-on définir maison dans ce contexte ?
Avec « écologie » vient la notion d’écosystème dont l’étymologie peut nous permettre de le
voir comme le système formé par la maison. On peut donc considérer cette maison comme un
système composé d’un ensemble d’habitants (la biocénose), et d’un milieu (la bâtiment, le
biotope) proposant un certain nombre de ressources à ses habitants (nourriture, couchage,
sanitaires, eau, électricité, …). Les ressources arrivent de l’extérieur du système et les habitants
peuvent entrer et sortir : le système formé par la maison est donc ouvert.
Dans notre cas, la maison est un système distribué ouvert dont les habitants sont des entités
logicielles. Tout comme la maison dispose de ressources permettant à ses habitants d’y
vivre, notre système dispose de ressources (capacité de calcul, mémoire, …) qui permettent
à ses entités logicielles de calculer et d’échanger de l’information.
Les différentes machines d’un système distribué vont former le biotope d’un écosystème
computationnel dans lequel nous allons trouver des ressources (capacité de calcul, mémoire,
…). Ce biotope va permettre d’accueillir une biocénose formée par les entités logicielles qui
vont pouvoir évoluer, interagir et s’organiser.
Le terme d’écosystème computationnel a été principalement introduit par [K,
H et H 1989 ; H 1988]. S’inspirer du naturel n’est pas un fait nouveau,
et ceci à différentes échelles : physique, chimique, biologique et sociale [Z
et V 2011]. On trouve par exemple la métaheuristique du recuit simulé s’inspirant des
systèmes thermodynamiques [K, V et G 1983 ; Č 1985], l’algorithme
d’optimisation PSO qui utilise des essaims de particules [K et E
1995] ou encore les algorithmes fourmis s’inspirant des colonies de fourmis ainsi que de
leur mode de communication indirecte [D, M et C 1996]. On retrouve
aussi cette inspiration dans les algorithmes évolutionnistes tels que les programmes évolutionnistes
[F 1962], les algorithmes génétiques [H 1975] ou encore la programmation
génétique [C 1985]. Il s’agit de méta-heuristiques s’inspirant de la théorie de
l’évolution afin de faire évoluer, à l’aide de mécanismes de croisement et de mutation, une
2. Source : Trésor de la Langue Française informatisé, http://www.cnrtl.fr/etymologie/écologie
3. Particule Swarm Optimisation
16Références
population initiale de solutions à un problème donné afin de produire une nouvelle génération
de meilleures solutions.
Si la nature est une source d’inspiration, c’est qu’elle sait faire preuve d’une adaptabilité
que l’on souhaiterait pouvoir reproduire dans nos modèles. Au travers de la métaphore bioinspirée
des écosystèmes computationnels, nous voyons le système distribué comme étant
lui même un système complexe afin d’en obtenir les avantages tout en devant en accepter
les difficultés. Les entités logicielles sont alors les entités de ce système complexe qui interagissent
dans le milieu formé par l’ensemble des ressources de calcul . L’avantage majeur que
l’on souhaite obtenir de cet environnement de distribution vu comme un système complexe
est la capacité d’adaptation dont sont capables de faire preuve de tels systèmes. Cette adaptabilité
émerge autant de mécanismes de collaboration que de mécanismes de compétition
qui permettent tout deux l’auto-organisation.
Nous pouvons clore ce chapitre par une citation de J. L dans [L 1993]
qui présente un système comme un objet adaptatif, contrôlé par des boucles de rétroaction
et capable d’utiliser de l’information afin d’évoluer :
.
“
En définitive, que nous considérions un simple four électrique, une chaîne de magasins
de détail gérée par ordinateur, un chat endormi, un écosystème, ou Gaïa
elle-même tant que nous nous intéressons à quelque chose qui est adaptatif, capable
de récolter de l’information et d’emmagasiner expérience et savoir, son étude
est une question de cybernétique et l’objet étudié peut être nommé un ”système”..
”
Références
Č, V. (1985). “Thermodynamical approach to the traveling salesman problem : An ef-
ficient simulation algorithm”. In : Journal of Optimization Theory and Applications 45,
p. 41–51.
C, P. et D. R. C. H (1997). Modélisation et Simulation des Écosystèmes. Masson.
C, Nichael Lynn (1985). “A Representation for the Adaptive Generation of Simple
Sequential Programs”. In : ICGA, p. 183–187.
D, Johannes, Gabi L et Elisavet H F (2012). “TSH and Thyrotropic
Agonists : Key Actors in Thyroid Homeostasis”. In : Journal of thyroid research.
D, Marco, Vittorio M et Alberto C(1996). “The Ant System : Optimization
by a colony of cooperating agents”. In :IEEE TRANSACTIONS ON SYSTEMS, MAN,
AND CYBERNETICS-PART B 26 (1), p. 29–41.
E, Wolfgang (2000). Engineering distributed objects. Wiley.com.
F, Lawrence J. (1962). “Autonomous automata”. In : Industrial Research 4 (2), p. 14–
19.
17. C
G, Pierre-Paul (1959). “La Reconstruction du nid et les coordinations interindividuelles
chez Bellicositermes natalensis et Cubitermes sp. La théorie de la stigmergie : essai d’interprétation
du comportement des Termites constructeurs”. In : Insectes sociaux.
H, John H. (1975). Adaptation in Natural and Artificial Systems. University Michigan
Press.
H, Bernado A (1988). The ecology of computation. Elsevier Science Inc.
K, J et R E (1995). “Particle Swarm Optimization”. In : IEEE International
of first Conference on Neural Networks.
K, Jeffrey O, TadH et Bernado AH (1989). “Dynamics of computational
ecosystems”. In : Physical Review A.
K, Scott, Mario P V et D. G (1983). “Optimization by simulated annealing”.
In : science 220 (4598).
K, Andreï (1965). “Three Approaches for Defining the Concept of Information
Quantity”. In : Problems of information transmission 1 (1), p. 1–7.
L, Leslie (18 mai 1987). distribution. English. E-mail. : https://research.
microsoft . com / en - us / um / people / lamport / pubs / distributed - system . txt
(visité le 08/08/2013).
L M, Jean-Louis (1994). La théorie du système général, théorie de la modélisation. Les
classiques du réseau intelligence de la complexité.
L, James (1993). La terre est un être vivant : l’hypothèse Gaïa. Champs sciences.
Flammarion. : 978-2-0812-4481-8.
P, Ilya et Isabelle S (1996). La fin des certitudes : temps, chaos et les lois
de la nature. Odile Jacob. : 2738103308.
S, Ferdinand de (1931). Cours de linguistique générale. Payot. Geneva.
Z, Franco et Mirko V(2011). “A survey on nature-inspired metaphors for pervasive
service ecosystems”. In : International Journal of Pervasive Computing and Communications
7 (3), p. 186–204.
Z, Bernard P., Herbert P et Tag Gon K (2000). Theory of Modeling and Simulation
[Second Edition] : Integrating Discrete Event and Continuous Complex Dynamic
Systems.
18C
2
P
Nous avons présenté dans le chapitre précédent notre vision d’un système distribué comme
un écosystème computationnel composé de son biotope (un ensemble de ressources de
calcul interconnectées) et de sa biocénose (les entités logicielles qui vont s’exécuter). La
mise en pratique de ce modèle n’est pas sans soulever certains problèmes, liés d’une part à
l’environnement et d’autre part aux entités, que nous allons présenter dans ce chapitre.
La figure 2.1 montre les différents éléments qui vont intervenir dans le système distribué.
Nous avons à la base une simulation, que l’on souhaite répartir sur un ensemble de
machines, qui va produire un réseau d’interactions. Nous allons modéliser ce réseau d’interactions
grâce à un graphe dynamique que nous allons pouvoir manipuler et analyser. Ce
graphe va évoluer dans un environnement modélisant l’ensemble des machines qui sont à
disposition. De cette analyse, nous allons pouvoir fournir des informations concernant la
distribution de la simulation sur l’ensemble des machines.
D’un point de vue écologique, nous avons vu qu’un écosystème est composé d’un biotope
et d’une biocénose. Le biotope représente un environnement spatialisé qui va fournir un
habitat ainsi que des ressources à la biocénose pour lui permettre de vivre. Cette biocénose
comporte l’ensemble des êtres vivants de l’écosystème (flore, faune, micro-organismes).
Un ensemble de biotopes caractérisés par un climat forme un biotope de plus haut niveau
appelé biome . Ce dernier peut être terrestre ou aquatique. Enfin, l’ensemble des biomes va
former la biosphère.
Dans le cadre des systèmes distribués, nous avons une infrastructure composée de machines
et d’un réseau qui permet l’exécution d’entités logicielles. Cette infrastructure va pro-
1. Terme introduit pour la première fois par Frederic Edward C en 1916
19. P
.
Simulation
Réseaux d’interactions
Ensemble de machines
Modèle : graphe dynamique
micro macro
Environnement
Système distribué
Écosystème computationnel
F 2.1 : Description du contexte. La partie colorée désigne ce à quoi nous nous intéressons
c’est à dire d’une part le modèle d’un réseau d’interactions créé par une simulation et
d’autre part un environnement de distribution modélisant les ressources disponibles.
poser des ressources (capacité de calcul, mémoires, accès à diverses sondes ou autres périphériques,
etc…) aux entités logicielles afin de leur permettre de remplir leurs fonctions.
La table 2.1 récapitule la comparaison entre un écosystème d’un point de vue écologique
et l’écosystème formé par un système distribué.
Nous manipulons et analysons la syntaxe de la simulation dont la sémantique nous est
inaccessible. Tout au plus, nous approchons la sémiologie de la simulation. Cette syntaxe
nous permet de mettre en relation l’ensemble des éléments intervenant dans le système. Afin
de pouvoir l’analyser, il est nécessaire de définir un modèle qui nous fournisse les moyens de
la manipuler.
Tout d’abord se pose le problème de la modélisation de la biocénose logicielle. Il s’agit
d’entités logicielles qui ont la possibilité d’interagir entre elles. Deux problèmes se posent
alors :
1. comment modéliser le réseau d’interactions formé par les entités en interaction ?
2. quel est le modèle d’interaction qui va nous permettre de définir de quelle manière des
entités interagissent entre elles ?
La modélisation du réseau d’interaction peut être réalisée grâce à un graphe dans lequel
chaque entité représente un nœud et où une arête représente une interaction entre deux entités.
Il y a cependant un premier problème qui se pose : du fait que les entités sont réparties
sur un ensemble de machines, chaque machine ne peut construire qu’un sous-graphe local,
représentant les entités qu’elle héberge. On considère en effet comme contrainte que le
nombre potentiel d’entités est trop important pour pouvoir réifier sur une seule machine une
20Écologie Computationnel
aquatique, terrestre ensemble de machines
connectées via un réseau Milieu
eau, air, énergie capacité calcul, mémoire,
sondes, périphériques Ressources
Population flore, faune entités logicielles
Dynamique
du milieu
climatique (saisons, météo),
géologique (tectonique des
plaques, érosion)
ajout/suppression de ressources,
pannes, connexion/déconnexion
de ressources
Dynamique de
la population
cycle naissance/mort,
reproduction
début et éventuellement fin de
programmes
Interactions
liées aux sens/à la perception de
l’autre liées aux communications
contraintes liées à l’environnement
T 2.1 : Comparaison entre la vision d’un écosystème d’un point de vue écologique et d’un
point de vue computationnel.
structure de données dont la taille serait proportionnelle aux nombres d’entités ou d’interactions.
Il est donc impossible de construire un graphe global qui représenterait l’ensemble
des entités, ce graphe est donc un graphe distribué formé par l’ensemble des sous-graphes
locaux de chaque machine.
De plus, afin de pouvoir modéliser la dynamique liée à la fois aux entités et aux interactions,
le graphe devra lui même être dynamique. Nous avons besoin d’un modèle de dynamique
qui soit adapté à la distribution du graphe et à l’absence de réification de la structure
globale.
Nous avons vu que le système distribué que nous cherchons à modéliser est en soi un système
complexe. Le contrôle de tels systèmes est un défi majeur. Plusieurs verrous en sont
les causes, l’aspect multi-échelles temporelles et spatiales de la dynamique constitue sans
doute l’élément essentiel. Une des méthodes consiste à identifier et modéliser des motifs de
dynamique qui capturent plus ou moins grossièrement temporellement et spatialement la
trajectoire du système. Cette démarche entreprise, il est alors envisageable à l’aide de ces
informations d’influencer la trajectoire du système afin de le faire se diriger vers un objectif
recherché. On tente de gouverner le système plutôt que de tenter d’obtenir un contrôle
21. P
optimal que nous sommes incapables d’exercer du fait que cela impliquerait de contrôler
l’ensemble des variables qui, dans le cadre de tels systèmes, est considérable.
Nous complétons cette démarche en essayant également de découvrir des solutions sur
la façon dont il est possible de gouverner un tel système afin d’en améliorer la robustesse et
la résilience. La robustesse permet de quantifier la capacité du système à maintenir sa trajectoire
lorsqu’il est soumis à des aléas qui créent des perturbations souvent majeures et en
chaîne. La notion de résilience peut être définie de deux manières [C S. H 1996] :
d’une part la résilience d’ingénierie définie dans [P 1984], et d’autre part la résilience
écologique telle que décrite dans [C. S H 1973]. La résilience d’ingénierie permet de
mesurer la stabilité autour d’un état d’équilibre en s’appuyant sur la capacité du système à
résister aux perturbations et sa vitesse à revenir à l’état d’équilibre. Cette définition est cependant
insuffisante car elle ne prend pas en compte la possibilité de multiples états d’équilibre
pour le système. La résilience écologique quant à elle permet de mesurer, pour un état
d’équilibre stable, l’amplitude de la perturbation nécessaire pour modifier la trajectoire du
système en le plaçant dans un autre domaine de stabilité. D’une manière plus générale, on
peut considérer la résilience comme la capacité d’un système à s’adapter aux perturbations
en ré-organisant sa structure interne afin de lui permettre de conserver ses caractéristiques
globales [W et al. 2004] :
.
“
Resilience is the capacity of a system to absorb disturbance and reorganize while
undergoing change so as to still retain essentially the same function, structure,
identity, and feedbacks..
”
Dans le cadre des écosystèmes computationnels, cette dernière définition reflète ce que
l’on souhaite obtenir du système distribué : peu importe les perturbations venant agir sur le
système (dynamique des ressources de calcul, dynamique des entités, …), on souhaite que
ce système s’adapte et continue à remplir sa fonction.
Afin d’illustrer notre propos, nous pouvons considérer que nous avons besoin de calculer
et de maintenir un plus court chemin entre deux nœuds du modèle, pour optimiser le routage
des communications par exemple. Nous calculons donc une solution initiale puis, du fait de
la dynamique, des perturbations viennent remettre en question la validité de notre solution.
Il peut s’agir en l’occurrence de la suppression de certains nœuds ou arêtes faisant partie de
la solution ou l’ajout de nouveaux éléments dans le graphe qui vont contribuer à l’apparition
d’une nouvelle solution significativement meilleure. Nous attendons de notre système que
malgré ces perturbations il soit capable de s’adapter en mettant à jour la solution initiale de
façon à ce qu’elle continue à être valable. C’est cela que nous entendons par résilience.
Cette résilience du système repose sur l’auto-organisation qui émerge des interactions
entre les entités et plus particulièrement de mécanismes de collaboration mais aussi de compétition.
On trouvera principalement de la collaboration à l’intérieur de l’organisation, c’est
à dire entre ses membres, tandis que la compétition résulte d’interactions entre des entités
situées aux limites des organisations. La gouvernance du système, dans l’optique d’optimiser
sa résilience, nécessite dans un premier temps la détection des organisations de manière
22.
A
B
états du système
niveau d’énergie
.
Énergie nécessaire au changement d’état
. état .
. état stable x.
.
. domaine de stabilité
F 2.2 : Résilience d’ingénierie et résilience écologie. On constate qu’il faut plus d’énergie
au système pour quitter l’état d’équilibre A que pour quitter l’état B : la résilience d’ingénierie
est plus forte en A que en B. En revanche, le domaine de stabilité associé à l’état B
est plus important que celui associé à l’état A : la résilience écologie de B est plus forte que
celle de A.
à maximiser la robustesse de ces organisations. Pour cela, il est important de comprendre et
de définir ce qui caractérise une organisation.
Une organisation est une structure du graphe associée à une sémantique qui va donner
un sens et un rôle à l’organisation. Cette structure possède une forme qui va influencer la
robustesse de l’organisation face aux perturbations. Par exemple, si la structure de l’organisation
forme un sous-graphe complet, sa robustesse sera maximale car très difficile à casser.
Au contraire, si la structure forme un chemin, la suppression d’un seul élément peut casser
l’organisation.
La difficulté liée à la dynamique réside dans l’entretien de la structure de l’organisation
afin de maintenir cette dernière dans le temps. En effet, une entité qui disparaît va modifier
la structure de l’organisation dont elle fait partie. De même que l’ajout d’une nouvelle entité
va nécessiter de déterminer si elle fait partie d’une nouvelle organisation en formation ou si
elle peut être intégrée à une organisation existante ; dans ce dernier cas, il est nécessaire de
mettre à jour la structure de cette organisation.
Afin de mieux analyser les organisations, on peut considérer que trois parties peuvent
potentiellement composer une organisation (voir la figure 2.4) :
— le noyau qui, s’il existe, correspond à la partie intérieure stable de l’organisation ;
— une membrane regroupant l’ensemble des entités de l’organisation qui interagissent
23. P
. .
F 2.3 : Exemples de formes d’organisation. Les éléments colorés forment l’organisation.
avec au moins une entité en dehors de l’organisation ;
— une partie intérieure intermédiaire.
Le noyau reflète l’idée d’un point d’équilibre de l’organisation et offre donc des éléments
d’informations nous permettant d’affiner la détection des organisations : si l’on est capable
de détecter la présence de multiples points centraux à l’intérieur d’une même organisation,
l’organisation a une forte probabilité d’être instable. L’affinage consiste alors à diviser l’organisation
afin d’obtenir de nouvelles organisations plus petites mais plus robustes. Cela implique
de disposer d’un outil adapté à notre contexte et permettant de caractériser ces points
d’équilibres. Nous verrons par la suite une présentation de mesures de centralité qui permettent
de détecter les points centraux d’un graphe.
Références
H, C. S (1973). “Resilience and stability of ecological systems”. In : Annual review of
ecology and systematics 4, p. 1–23.
H, C S. (1996). “Engineering resilience vs. ecological resilience”. In : Engineering Within
Ecological Constraints. The National Academies Press, p. 31–44. : 9780309051989.
P, Stuart L (1984). “The complexity and stability of ecosystems”. In :Nature 307 (5949),
p. 321–326.
W, Brian et al. (2004). “Resilience, Adaptability and Transformability in Social– ecological
Systems”. In : Ecology and Society 9 (2).
24Références
.
F 2.4 : Décomposition d’une organisation possédant les trois composantes : en orange
le noyau, en noir la partie intermédiaire et en rouge la membrane. Les nœuds gris repré-
sentent les nœuds ne faisant pas partie de l’organisation.
25Deuxième partie
Positionnement
27C
3
R
3.1 Graphes dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.1 Une première approche . . . . . . . . . . . . . . . . . . . 31
3.1.2 Modélisation de la dynamique . . . . . . . . . . . . . . . . 36
3.1.3 Une approche stochastique des graphes : les chaînes de Markov 40
3.1.4 Vers une représentation formelle . . . . . . . . . . . . . . . 41
3.1.5 Centralité . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2.1 Communautés et organisations . . . . . . . . . . . . . . . . 54
3.2.2 Forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Les réseaux d’interactions sont partout dans le monde qui nous entoure. On les retrouve
à tous niveaux : des interactions chimiques entre des molécules aux interactions sociales
entre des êtres vivants. Ce chapitre est consacré à présenter la modélisation de réseaux d’interactions
et en particulier celle de la dynamique présente dans ces réseaux.
De manière formelle, un réseau est un système dans lequel un ensemble d’entités sont
connectées entre elles [M. E. J. N 2003]. Ces connections résultent d’une interaction
entre les entités concernées, c’est pourquoi on parlera de réseau d’interactions. Lorsque ce
réseau est plongé dans le temps, nous allons pouvoir observer une dynamique au niveau des
29. R
entités, de nouvelles pouvant apparaître, d’autres existantes pouvant disparaître, ainsi qu’au
niveau des interactions entre les entités. On observe aussi une dynamique des propriétés
qui composent ces différents éléments. Cette dynamique, qui est en soi une composante du
réseau, va être la pierre angulaire de nos travaux.
Parmi l’ensemble des réseaux, une certaine catégorie se distingue en regroupant des
réseaux qui partagent certaines des caractéristiques suivantes :
— une structure complexe de par son irrégularité ou un nombre d’entités et d’interactions
suffisamment important, rendant la visualisation et la compréhension du ré-
seau trop compliquées pour l’œil humain ;
— une dynamique portant à la fois sur la structure (évolution des entités ainsi que des
interactions) mais aussi sur les informations caractérisant les éléments du réseaux
(entités et interactions) ;
— un comportement non-prédictible ;
— l’émergence de nouvelles propriétés du système, comme par exemple d’auto-organisation
dont nous reparlerons par la suite ;
— des mécanismes de collaboration/compétition.
Ces réseaux sont associés aux systèmes complexes et vont être l’objet de notre attention.
Les mondes réel et virtuel regorgent d’exemples de tels réseaux : les interactions protéinesprotéines,
les échanges entre individus sur Internet, les collaborations scientifiques, les communications
entre des machines, etc… Certains exemples sont présentés sur la figure 3.1.
Nous avons vu dans ce qui précède que nous pouvons distinguer trois composants des
réseaux d’interactions :
— tout d’abord, un ensemble d’entités ;
— puis des interactions entre ces entités ;
— et enfin, une dynamique omniprésente.
Nous utilisons le terme entité afin de définir de manière générique les processus autonomes
qui composent ces systèmes : il s’agira selon le contexte de molécules, de cellules,
d’individus ou encore d’ordinateurs voire de processus. On peut trouver ces objets sous
d’autres noms dans la littérature (agents, nœuds, sommets). Les entités peuvent correspondre
à des objets localisables dans notre espace physique lorsque le réseau est spatialisé,
ou au contraire les entités peuvent évoluer dans un espace virtuel tel que le web.
Une interaction représente l’action réciproque d’une entité sur une autre. Cette action
peut être directe lorsque une entité demande explicitement à une autre d’effectuer une certaine
action, ou au contraire l’interaction peut se faire indirectement lorsque l’action d’une
entité est le résultat du comportement d’autres entités. Les interactions indirectes peuvent
par exemple être liées à des mécanismes de rétro-action, ou des mécanismes de dépôt de
message. L’entité qui est à l’origine de l’interaction peut procéder de deux manières :
— soit elle rentre dans un état bloquant dont elle ne sortira qu’à la réception de la ré-
ponse de l’entité cible, une telle interaction peut alors être qualifiée de synchrone ;
— soit elle continue à effectuer d’autres actions tant que celles-ci ne dépendent pas du
résultat de l’action initiale, puis lorsque ce résultat est disponible, l’entité peut alors
303.1. Graphes dynamiques
s’occuper de son traitement, on parlera alors d’interaction asynchrone ;
L’action que représente une interaction est elle aussi dépendante du contexte : réaction
chimique, échange de courrier, connexion d’un câble sont autant d’exemples de ce que peut
être cette action. La figure 3.1 illustre certaines de ces possibilités.
Afin d’être capables d’étudier et de manipuler ces réseaux, nous avons besoin d’une
structure capable des les modéliser. La modélisation d’un ensemble d’éléments et d’un ensemble
de paires de ces mêmes éléments est possible grâce aux graphes. Cependant, les
graphes tels quels ne nous permettent pas de modéliser l’élément moteur qu’est la dynamique
globale du réseau, c’est pourquoi nous allons nous intéresser au domaine des graphes
dynamiques.
3.1 Graphes dynamiques
3.1.1 Une première approche
Le graphe est un objet à la fois informatique et mathématique permettant la représentation
de problèmes composés d’un ensemble d’éléments pouvant être reliés entre eux. Dans
la littérature, le graphe trouve son origine il y a quelques siècles, dans le problème des sept
ponts de Königsberg de L. E[E 1741].
Les éléments représentés par le graphe sont appelés nœuds, et les relations existantes
entre ces nœuds sont appelés respectivement arcs ou arêtes selon que la relation est ordonnée
ou non. Dans le cas où les relations sont ordonnées, on parlera de graphe orienté ou
di-graphe. Un graphe G est alors noté G = (V,E) où V représente l’ensemble des nœuds du
graphe et E l’ensemble des arêtes (des arcs dans le cas d’un graphe orienté).
Certains problèmes nécessitent que les nœuds et/ou les arêtes du graphe possèdent un
poids. C’est le cas, par exemple, du problème de l’arbre couvrant de poids minimal [B
1926] où l’on cherche à extraire un sous-graphe dont l’ensemble des nœuds soit le même
que celui du graphe d’origine et dont l’ensemble de arêtes soit un sous ensemble qui permette
de connecter tous les nœuds sans qu’il y ait de cycle et de telle sorte que la somme
des poids des arêtes de ce sous ensemble soit minimale. C’est aussi le cas de certains algorithmes
de plus court chemin tel que D [D 1959] dans lesquels on cherche à
minimiser la somme des poids de arêtes composant le chemin, ou encore le problème de flot
maximum comme l’algorithme de F-F [F 1956]. Lorsque les éléments du
graphe disposent de tels poids, on parle alors de graphe pondéré en précisant éventuellement
si la pondération porte sur les nœuds, les arêtes voire même les deux. Un graphe pondéré
alors noté G = (V,E,pV ,pE ) ou pV est une fonction de V → R et pE une fonction de E → R
représentant respectivement les poids des nœuds et ceux des arêtes.
De manière plus générale, on peut souhaiter associer plus d’une valeur aux éléments du
graphe. Ces valeurs, que nous allons désigner sous le terme d’attributs, vont pouvoir être utilisées
pour caractériser les éléments. Il s’agit alors d’une association entre un mot, la clef, et
la valeur correspondante. Si les ensembles KV etKE représentent respectivement l’ensemble
31. R
.
(a) La plus grande composante du réseau de collaboration
de l’institut Santa Fe, avec les divisions
principales indiquées par différentes formes
de nœuds [G et M. E. J. N 2002]
.
(b) Le réseau trophique (ici d’un milieu cô-
tier) décrit les liens existant entre les diffé-
rents organismes d’un écosystème en terme de
nutrition. Il se base sur les chaînes alimentaires
et permet de visualiser les flux d’énergie
et de matière existant au sein de l’écosystème.
Source : https://fr.wikipedia.org/
wiki/Réseau_trophique, consultée le 30 octobre
2013.
.
(c) Réseau d’interactions entre un échantillon de livres
vendus sur le site Amazon. Les nœuds représentent des
livres. Une interaction entre deux livres signifie que ces
livres ont été achetés ensemble.
F 3.1 : Quelques exemples de réseaux
323.1. Graphes dynamiques
des clefs possibles pour les nœuds et les arêtes, on peut alors généraliser les fonctions pV et
pE précédentes :
pV : V ×KV → R
pE : E ×KE → R
(3.1)
Nous choisissons ici l’ensemble R pour désigner l’ensemble dont font partie les valeurs
des attributs. Ces valeurs peuvent cependant être autre chose que des réels, il peut s’agir
d’entiers, de couleurs, etc… L’ensemble R permet cependant d’englober toutes ces valeurs
et de fournir ainsi une manière générique de décrire les attributs.
Un graphe dynamique permet de modéliser les modifications pouvant survenir au niveau
de la structure du graphe (modification de l’ensemble des nœuds V (G) ou de celui des arêtes
E(G)) mais aussi sur l’évolution des attributs associés aux éléments (nœuds, arêtes).
Dans la littérature, la notion de graphe dynamique est référencée sous différents termes
qui dépendent du contexte et du domaine dans lesquels le graphe est exploité. Par exemple
la notion de réseaux complexes est particulièrement utilisée dans l’étude de réseaux extraits
du monde réel comme c’est le cas de [B et al. 2006] dans une étude du graphe du
net. La particularité de ces réseaux est d’être constitués d’un ensemble massif et dynamique
d’entités en forte interaction. La notion de réseaux complexes englobe entre autres celle de
réseaux sans échelle ainsi que celle de réseaux petit-monde [S et W 1998] . Les
réseaux sans échelle introduits par A.-L. B et E. B [B et B
2003] sont des réseaux dans lesquels la distribution des degrés suit une loi de puissance,
ainsi quelques nœuds sont fortement connectés tandis que la grande majorité ne le sont que
très faiblement. Cette répartition des degrés fait que le réseau est invariant d’échelle, c’est
à dire que l’on observe les mêmes propriétés peu importe l’échelle considérée (cf. la figure
3.2). Les réseaux petit-monde quant à eux possèdent une grande partie de nœuds faiblement
connectés mais de telle sorte que la longueur moyenne du plus court chemin entre deux
nœuds du réseau soit faible. Afin de montrer que le réseau que nous formons, en tant qu’être
humain connecté à un certain nombre d’autres humains que nous connaissons, est de type
petit-monde, le sociologue Stanley M mena une expérience en 1967 dans laquelle il
tente de faire transiter 60 lettres remises à des personnes d’une ville du Nebraska et devant
atteindre une ville du Massachusetts en échangeant ces lettres uniquement en mains propres
avec des connaissances personnelles. Sur ces 60 lettres, seulement 3 arrivèrent... mais en
quatre jours (les deux villes étant séparées d’environ 2250 km).
Notre objectif n’est pas de nous consacrer ici à la description de l’ensemble des termes
utilisés pour désigner un graphe dynamique. On trouvera dans la thèse de Yoann P [P-
2008] une partie permettant d’approfondir la description de plusieurs des termes que
nous avons vus. Pour notre part, nous retiendrons le terme réseau d’interactions pour dé-
signer la structure réelle ou virtuelle émergeant d’interactions entre des éléments que nous
nommons entités. Le terme graphe dynamique désigne l’objet qui va nous permettre de modéliser
ce réseau. La figure 3.3 permet de visualiser ces différentes couches :
1. scale-free networks et small-world networks
33. R
.
.
0 20 40 60 80 100 120 140 160 180 200 220 240
0
5,000
10,000
degrés
nombre de nœuds
distribution des degrés
34 F 3.2 : Réseau sans-échelle généré avec GS par attachement préférentiel.3.1. Graphes dynamiques
.
a
b
c
F 3.3 : Présentation des différentes couches en se basant sur une simulation de boids :
(a) le réseau d’interactions, (b) le graphe dynamique initial modélisant le réseau, (c) une
vue macroscopique du graphe dynamique
a. un ensemble d’agents nommés boids est simulé [R 1987] , leur but est de
reproduire le comportement de groupe d’organismes vivants tels que certaines espèces
de poissons ou encore certaines espèces d’oiseaux ; on considère qu’il y a une
interaction entre deux boids lorsque la distance qui les sépare est suffisamment faible
pour que l’un influence le comportement de l’autre ;
b. le graphe dynamique modélisant le réseau d’interactions : chaque boid est représenté
par un nœud, les interactions sont représentées par une arête entre les nœuds correspondants
; il s’agit là d’une vue du graphe à l’échelle microscopique ;
c. le même graphe mais vu d’une échelle macroscopique : les boids ont été regroupés
afin de former des structures.
Une vue macroscopique du graphe signifie que l’on va désormais observer des structures
2. le modèle des boids est présenté en détail dans l’annexe A
35. R
composées de nœuds plutôt que les nœuds eux mêmes. Ces structures seront principalement
des organisations que nous allons présenter par la suite (cf .3.2.1). Ce type de vue
implique de procéder à un changement d’échelle qui passera par une phase de détection des
structures qui nous intéressent, puis par la création d’un nouveau graphe donc les nœuds
représenteront les structures détectées à l’étape précédente.
3.1.2 Modélisation de la dynamique
Si les nœuds et les arêtes du graphe sont des éléments dont la représentation ne pose pas
de problème majeur, la représentation de la dynamique qui va opérer à plusieurs niveaux sur
le graphe est bien moins intuitive.
Nous allons nous intéresser aux différentes manières de modéliser la dynamique dans
un graphe. Cette dynamique est composée d’un ensemble de modifications qui peuvent survenir
dans le graphe. Dans [F. H et G 1997], F. H et G. G proposent
différents types de dynamiques de graphe qui vont permettre de définir que les ensembles
d’éléments du graphe (nœuds et arêtes) vont pouvoir évoluer. C’est à dire qu’il est possible
que le graphe se voie ajouter ou retirer des nœuds ou des arêtes au fil du temps. Les auteurs
définissent alors un type de graphe où seul l’ensemble des nœuds évolue, puis de manière
similaire un graphe où seul l’ensemble des arêtes évolue. On notera que la dynamique ne
peut difficilement porter que sur les nœuds du fait que la suppression d’un nœud implique
la suppression de l’ensemble des arêtes adjacentes à ce nœud. Les auteurs définissent aussi
des types de dynamiques permettant de faire évoluer le poids des nœuds et/ou des arêtes.
Cette première approche de la dynamique nous permet d’énumérer les modifications qui
vont survenir sur un graphe dynamique. Tout d’abord des modifications sur les ensembles
de nœuds et d’arêtes, il y a alors la possibilité d’ajouter et/ou de supprimer des éléments, et
ensuite, des modifications sur les attributs associés aux éléments.
Nous allons voir dans ce qui suit différentes façons de modéliser ces modifications et par
conséquent la dynamique du graphe.
Dynamique séquentielle
Une première approche de la dynamique d’un graphe G consiste à le modéliser comme
une séquence de graphes statiques Gi. i symbolise alors un temps discret et Gi représente
l’état du graphe au temps i. Le graphe G est alors un triplet (V (G),E(G),{Gi}) où V (G) est
l’ensemble des nœuds présents dans au moins un des graphes Gi, de même pour E(G) qui
représente l’ensemble des arêtes présentes dans au moins un des graphes Gi.
On retrouve alors la définition de graphe évolutif proposé dans [Afonso F 2002 ;
B-X, A. F et J 2003] :
.
“
Soit G = (V,E) un graphe orienté avec V un ensemble de sommets et E un ensemble
d’arêtes dont les extrémités appartiennent à V . Soit SG = (G1,G2,...,GT )
un ensemble de sous-graphes de G. Le système GE = (G,SG ) est appelé ”graphe
évolutif”..
”
363.1. Graphes dynamiques
.
V (G) = {A,B,C,D,E}
E(G) = {AB, AC, AD,BD,BE,CD,DE}
.
A
B
D
i = 1
V1(G) = {A,B,D}
E1(G) = {AD,BD}
.
A
B
C
D
i = 2
V2(G) = {A,C,D}
E2(G) = {AC, AD}
.
A
B
C
D
E
i = 3
V3(G) = {B,C,D,E}
E3(G) = {BE,CD,DE}
.
A
B
C
D
E
i = 4
V4(G) = {A,B,C,D,E}
E4(G) = {AB, AD,CD,DE}
F 3.4 : Illustration du modèle de dynamique séquentielle
Dans ce modèle, la dynamique se produit étape par étape, chaque étape correspondant
à un graphe statique. La figure 3.4 propose un exemple de ce type de dynamique.
Dynamique cumulative
Une dynamique cumulative consiste à agréger la totalité du graphe dynamique en un
graphe statique contenant les informations sur les périodes de présence de chaque élément
dans le graphe. Ces périodes sont des segments du temps dans lequel le graphe est plongé
qui indique quand un élément était présent dans le graphe. On notera alors le graphe G =
(V,E,PV ,PE ) où V (respectivement E) est l’ensemble des nœuds (des arêtes) apparaissant
au moins une fois dans le graphe dynamique. PV et PE sont des fonctions permettant de dé-
finir la présence dans les graphes des nœuds (respectivement des arêtes). Cette dynamique
est illustrée figure 3.5.
Contrairement à une dynamique séquentielle où l’échantillonnage impose d’avoir un temps
discret, il est ici possible d’utiliser un temps continu. Nous utiliserons donc T afin de désigner
le temps de manière générique, cet ensemble couvrant tout ou partie de l’ensemble N si l’on
souhaite utiliser un temps discret, ou de l’ensemble R pour un temps continu. PV et PE sont
alors des fonctions de V → P(T) (respectivement E → P(T)).
Dans [C, P et V 2003], les auteurs utilisent ce type de dynamique
pour l’étude de grands graphes représentant des télécommunications. Une fenêtre de temps
est définie, c’est à dire un segment de l’ensemble T, puis un graphe statique correspondant
à l’agrégation des événements survenus pendant cette fenêtre de temps est extrait à partir
du graphe dynamique.
3. P(X) désigne l’ensemble des parties de X
37. R .
V (G) = {A,B,C,D,E}
E(G) = {AB, AC, AD,BD,BE,CD,DE}
.
PV (A) = {1,2,4}
PV (B) = {1,3,4}
PV (C) = {2,4}
PV (D) = {1,4}
PV (E) = {3,4}
.
PE (AB) = {4}
PE (AC) = {2}
PE (AD) = {1,2,3}
PE (BD) = {1}
PE (BE) = {3}
PE (CD) = {3,4}
PE (DE) = {3,4}
.
A
B
C
D
E
i = 1
A
B
C
D
E
i = 2
A
B
C
D
E
i = 3
A
B
C
D
E
i = 4
F 3.5 : Illustration du modèle de dynamique cumulative. Les éléments en pointillés ne
sont pas présents dans le graphe pour le temps donné.
Dynamique par flux d’événements
On considère que la dynamique du graphe est définie par un flux d’événements généré
par un processus PG . Ce processus prend la forme d’une fonction qui à un intervalle temporel
associe un ensemble ordonnée d’événements survenus dans cet intervalle. L’ensemble U
représente l’ensemble de tous les événements possibles. Chaque événement u ∈ U est un
triplet (ϑ,w,e) dans lequel :
— ϑ désigne la date à laquelle l’événement survient ;
— w est un élément d’un ensemble W définissant l’ensemble des actions pouvant venir
modifier le graphe ; cette action peut être l’ajout ou la suppression d’un élément
(nœud ou arête) ou la modification d’un attribut. Dans ce dernier cas, w contient
aussi la clef et la nouvelle valeur de l’attribut modifié ;
— e désigne l’élément impliqué dans l’événement.
Le processus PG peut alors être défini :
PG :
T×T → P(U)
(t,t
′
) →
{
u = (ϑ,w,e) | t < ϑ ≤ t
′
} (3.2)
On introduit l’opérateur ⊕ entre un graphe G = (V,E) et un ensemble d’événements
U ∈ U qui permet d’appliquer à G les événements contenus dans U. À l’aide d’un processus
itératif qui opère aux moments choisis ti et en prenant un graphe initial G0 au temps t0,
il nous est alors possible de construire le graphe Gi, i > 0 :
Gi = Gi−1 ⊕PG (ti−1,ti) (3.3)
383.1. Graphes dynamiques .
A
B
D
t = 1
u1 = (1, A JOUT, A)
u2 = (1, A JOUT,B)
u3 = (1, A JOUT,D)
u4 = (1, A JOUT, AD)
u5 = (1, A JOUT,BD)
.
A
B
C
D
t = 2
u6 = (2,RET IRE,BD)
u7 = (2,RET IRE,B)
u8 = (2, A JOUT,C)
u9 = (2, A JOUT,C A)
.
A
B
C
D
E
t = 3
u10 = (3,RET IRE, AC)
u11 = (3,RET IRE, A)
u12 = (3, A JOUT,B)
u13 = (3, A JOUT,E)
u14 = (3, A JOUT,BE)
u15 = (3, A JOUT,DE)
u16 = (3, A JOUT,CD)
.
A
B
C
D
E
t = 4
u17 = (4,RET IRE,BE)
u18 = (4, A JOUT, A)
u19 = (4, A JOUT, AB)
u20 = (4, A JOUT, AD)
F 3.6 : Illustration du modèle de dynamique en flux. Les éléments rouges viennent
d’être ajoutés dans le graphe, tandis que les éléments en pointillés ont été supprimés.
Contrairement aux dynamiques séquentielle et cumulative, l’indice i des Gi n’indique
pas le temps mais le nombre d’itérations du processus permettant de générer le graphe. Un
aperçu du fonctionnement de cette dynamique est donné figure 3.6.
On retrouve cette modélisation de la dynamique dans la littérature dans les problèmes
de ré-optimisation qui consiste , pour un problème donné, à adapter une solution initiale aux
changements survenus dans le graphe afin d’éviter de recalculer une solution à partir de zéro.
C’est le cas des travaux de C. D et G. F. I [D et I 2006]
sur le problème de recherche de l’ensemble des plus courts chemins .
Conclusion
Nous venons donc de voir différentes façons de modéliser la dynamique d’un graphe. Ces
modèles se différencient en partie sur la manière dont le temps est représenté. L’approche
séquentielle utilise un domaine de temps discret, chaque élément de la séquence représentant
une étape de ce temps. Au contraire, l’approche cumulative permet de gérer le temps
de façon continue pour peu que l’ensemble T représentant le temps soit lui-même continu.
Cela est aussi possible en utilisant un modèle de dynamique par flux.
D’autre part, les modèles se différencient sur la façon de représenter les ensembles d’élé-
ments. Les modèles séquentiel et cumulatif décrivent le contenu de ces ensembles alors que
le modèle flux décrit la manière de les construire.
Dans nos travaux, nous avons choisi de voir la dynamique comme un flux. Ce modèle
nous parait être le mieux adapté à notre contexte dans lequel il n’est pas possible de construire
ni de connaître à l’avance l’ensemble de tous les nœuds du graphe et encore moins celui des
4. APSP, All-Pairs Shortest Paths
39. R
arêtes. Cette impossibilité est due d’une part au caractère non-déterministe de la trajectoire
des systèmes que nous observons, et d’autre part à une de nos hypothèses de départ considérant
que la quantité d’entités et d’interactions est trop importante pour pouvoir être réifiée
en une seule structure.
3.1.3 Une approche stochastique des graphes : les chaînes de Markov
Nous avons vu jusqu’à présent la modélisation du graphe et de sa dynamique en s’appuyant
sur la théorie des ensembles. Il est aussi possible de parvenir à cette modélisation à
l’aide de probabilités. Il nous semble donc important de présenter cette approche.
Une chaîne de Markov est un processus opérant sur un ensemble d’états S = s1,s2,...,sn
qui permet de se déplacer d’un état à un autre par étape [G et S 1997]. On
appelle probabilité de transition la probabilité pi j de passer de l’état si à l’état sj.
Les probabilités de transition sont contenues dans la matrice de transition P du processus.
La probabilité de passer de l’état si à l’état sj en k étapes correspond à l’élément i j de la
matrice P
k
et est noté p
(k)
i j .
Il est possible d’utiliser les chaînes de Markov afin de définir les graphes dynamiques
sous la forme d’un processus stochastique. Pour cela, on considère l’ensemble d’états GM
contenant l’ensemble des graphes à M sommets ainsi qu’une suite de variables aléatoires
X1,X2,...,Xn où chaque Xi appartient àGM . On considère la probabilité initiale p(x) = P(X1 =
x) ainsi qu’une probabilité de transition p(x, y) = P(Xm+1 = y|Xm = x).
La notion de temps est définie dans [R, R et S 2011] comme une suite
J1,...,Jn,... de délais entre les événements. La date Tn de l’événement n est alors :
Tn =
∑n
i=1
Ji
Nous allons reprendre un des exemples présentés dans [R, R et S
2011] afin d’illustrer ce mode de représentation des graphes. Dans cet exemple, nous considérons
un ensemble de M personnes représentant les nœuds du graphe, {1,...,M}. Une
information qui n’est connue à l’origine que par une personne doit être partagée jusqu’à être
connue de tout le monde. À chaque étape une personne connaissant l’information choisit de
la partager avec n’importe quelle autre personne ce qui ajoute une arête entre ces deux personnes.
Le processus s’arrête lorsque chaque personne est au moins connectée à une autre.
Les délais entre les étapes sont calculés en utilisant une distribution de M-L dont
la fonction de survie est :
P(J > t) = Eβ(−t
β
) =
∑∞
n=0
(−t
β
)
n
Γ(nβ+1)
Le but de cette expérience est alors d’étudier le temps total nécessaire à la diffusion de
l’information en fonction du paramètre β.
403.1. Graphes dynamiques
3.1.4 Vers une représentation formelle
La représentation formelle d’un graphe dynamique nécessite en premier lieu de repré-
senter le temps dans lequel le graphe évolue. Ensuite, par rapport à ce temps, il faut être
capable de représenter d’une part l’état de la structure du graphe à un temps donné, d’autre
part l’état des données associées aux différents éléments du graphe.
Formalisme pour les réseaux tolérants aux délais
Dans [C et al. 2012], A. C et al. présentent un modèle nommé TVG
(pour « Time-Varying Graphs ») afin d’unifier différents modèles présents dans la littérature
dans certains domaines des systèmes dynamiques en particulier les réseaux tolérants aux
délais, les réseaux de mobilité opportuniste ou encore les réseaux complexes du monde réel.
La représentation d’un graphe G est (V,E,T,ρ,ζ) avec :
— V , l’ensemble des entités ;
— E, l’ensemble des relations entre entités ;
— T, une partie d’un domaine temporel T ;
— ρ : E ×T → {0,1}, la fonction de présence des arêtes ;
— ζ : E ×T → T, la fonction de latence des arêtes.
La dynamique peut être étendue aux entités par l’ajout d’une fonction indicatrice de leur
présence ψ : V ×T → {0,1} et une fonction de latence pour les entités φ : V ×T → T.
Les fonctions de latence permettent, en ce qui concerne ζ, de définir le temps nécessaire
pour traverser une arête à un temps t, et pour ce qui est de φ de définir les temps de
traitements locaux.
Cette représentation est adaptée pour la modélisation d’infrastructure de communication,
en particulier les réseaux mobiles. Elle contient de ce fait certains éléments comme les
fonctions de latence qui sont propres aux domaines cibles comme les réseaux tolérants aux
délais. Du fait que cette représentation soit dédiée à ces domaines particuliers, elle ne peut
nous satisfaire là où nous cherchons à exprimer les choses de façon générale. C’est pourquoi
nous allons désormais présenter une nouvelle représentation formelle permettant de repré-
senter un graphe dynamique de manière générique : le temps dans lequel il est plongé, sa
structure et les attributs liés aux différents éléments.
Proposition d’un formalisme générique
Temps Nous avons commencé à voir dans 3.1.2 que la définition d’un modèle de dynamique
implique la définition de la temporalité dans laquelle le graphe est plongé. C’est au
travers de cette ligne de temps que nous allons pouvoir définir l’évolution du graphe.
Le temps peut être une succession dénombrable ordonnée de valeurs ti, comme c’est le
cas pour une dynamique séquentielle, de telle sorte qu’à chaque ti est associé un état Gi du
graphe. On dira du temps qu’il est discret du fait qu’entre deux temps successifs, ti et ti+1,
41. R
il n’est pas possible de définir un nouvel état du graphe. Ce type de temporalité est exprimé
par l’ensemble N ou une partie de cet ensemble.
Au contraire, le temps peut être non dénombrable. Pour toutes valeurs du temps t et t
′
tel que t < t
′
il est possible d’obtenir une nouvelle valeur t
′′ tel que t < t
′′ < t
′
. On considère
alors le temps comme continu et il est possible de l’exprimer par l’ensemble R.
Structure L’ensemble des nœuds du graphe dynamique est dépendant du temps. On le
définira donc comme la fonction v qui a un temps t donné associe un ensemble de nœuds
Vt. On considère que l’ensemble des nœuds possibles pour un graphe est infini mais dénombrable.
On peut par conséquent utiliser l’ensemble N afin de le représenter, chaque nœud
pouvant donc être associé à un entier. L’ensemble des nœuds du graphe est alors un élé-
ment de P(N). P(N) constitue l’ensemble des parties de N, c’est à dire l’ensemble de ses
sous-ensembles : P(N) = {U |U ⊆ N}. Nous utiliserons donc ce dernier afin de représenter
l’ensemble de tous les nœuds. La fonction v sera alors :
v : T → P(N)
t → Vt
(3.4)
De même, l’ensemble des arêtes du graphe dynamique est aussi dépendant du temps. Il
sera défini à l’aide de la fonction e qui à un temps donné t associe un ensemble d’arêtes Et :
e : T → P(N×N)
t → Et
, Et ⊆ (Vt ×Vt)
(3.5)
Il nous est donc possible de définir la partie structurelle d’un graphe dynamiqueG comme
étant le triplet (v,e,T).
Attributs Nous avons vu en 3.1.1 les fonctions pV et pE qui permettent de définir un
ensemble de propriétés, les attributs, sur les éléments du graphe. Nous pouvons étendre la
définition de ces fonctions pour y inclure la composante temporelle :
pV : V ×KV ×T → R
pE : E ×KE ×T → R
(3.6)
Le graphe lui-même pouvant posséder des propriétés qui vont évoluer avec le temps,
nous introduisons la fonction pG qui, à un ensemble de clef KG , permet d’associer des valeurs
:
pG : KG ×T → R (3.7)
On peut par exemple considérer l’ensemble de clefs KV = {poi d s,couleur,t ai l le}. La
fonction pV (n,couleur,t) permet alors de connaitre la couleur du nœud n au temps t.
En considérant le triplet A = (pG ,pV ,pE ), nous pouvons alors définir un graphe dynamique
avec attributs comme étant le quadruplet (v,e,A,T).
423.1. Graphes dynamiques
Application aux modèles de dynamique
Considérons maintenant notre représentation formelle en fonction des différents modèles
de dynamique que nous avons présentés en 3.1.2. Nous laisserons ici de côté la partie
concernant les attributs.
Dynamique séquentielle (G0 = (V0,E0),...,Gi = (Vi
,Ei),...,Gn) une séquence de graphes
statiques. On définit alors le graphe dynamique correspondant par G = (v,e,[0,n]), avec :
— v(t) = Vt
— e(t) = Et
Dynamique cumulative En considérant :
— le temps R
+ ;
— l’ensemble VA de tous les nœuds présents à au moins un instant t ∈ R
+ ;
— EA l’ensemble équivalent pour les arêtes ;
— la fonction indicatrice α : VA ×R
+ → {0,1} définissant si un nœud est présent dans le
graphe à un temps donné ;
— la fonction indicatrice β : VA ×VA ×R
+ → {0,1} définissant de manière équivalente si
une arête est présente dans le graphe à un temps donné.
On peut alors définir le graphe dynamique G = (v,e,R
+) avec :
— v(t) = {u | α(u,t) = 1};
— e(t) =
{
(u, v) | β(u, v,t) = 1
}
.
Dynamique par flux On considère un processus PG correspondant à un graphe dynamique,
ainsi qu’un graphe initial Gt0
correspondant à l’état du graphe au temps t0. En reprenant
l’opérateur ⊕ défini en 3.1.2, on peut alors construire le graphe Gt = (Vt
,Et) :
Gt = Gt0 ⊕PG (t0,t)
On obtient alors le graphe dynamique G = (v,e,T) avec :
v(t) = Vt
e(t) = Et
Pour résumer, nous considérons un graphe dynamique comme étant un processus dynamique
fournissant un flux d’événements. Ces événements décrivent les modifications qui
surviennent dans le graphe. Il est alors possible de construire le graphe à partir de sa version
précédente en appliquant successivement les événements qui sont survenus entre temps.
Le formalisme, que nous avons introduit ci-dessus, permet de décrire ce processus.
43. R
3.1.5 Centralité
La notion de centre est utilisée dans différents domaines scientifiques, comme la géomé-
trie ou encore la physique, sous divers noms tels que barycentre, centre de masse, centroïde,
centre de gravité, etc…Elle est l’expression du besoin de définir une zone d’équilibre dans
un objet, qu’il soit pondéré ou non. La centralité n’est pas directement liée à la dynamique
du graphe. Elle va cependant être une mesure importante pour une partie de nos travaux,
lorsque nous chercherons à détecter les centroïdes des organisations.
Dans le domaine des graphes, on cherche principalement à mesurer à quel point chaque
nœud se trouve éloigné du centre du graphe. On parle alors de mesure de centralité qui permet
d’introduire une relation d’ordre entre les nœuds en fonction de cet éloignement vis à vis
du centre du graphe. Il est alors possible de déterminer le ou les centres du graphe comme
étant les nœuds qui minimisent ou maximisent (en fonction de la mesure choisie) cette mesure.
La centralité dans les graphes est l’expression du besoin de faire ressortir les informations
les plus importantes qui, du fait de l’augmentation de la quantité d’informations contenue
dans les graphes, se retrouvent noyées dans la masse. C’est par exemple le cas dans l’étude
de réseaux sociaux [F 1978] où la centralité permet de mieux cerner l’importance
des nœuds dans le réseau et d’appréhender la diffusion d’informations à travers le réseau.
Dans la littérature, la centralité, les centres et les centroïdes font l’objet de nombreux
travaux : de C. J donnant une preuve de leur existence dans chaque arbre en 1869
[J 1869] aux travaux de P. J. S qui généralise leurs définitions [S 1978],
en passant par leur présence dans les livres de théorie des graphes [O 1962 ; FrankH
1969 ; M. N 2010].
Dans ce qui suit, nous allons aborder certaines mesures de centralité que sont : le degré,
la proximité, l’intermédiarité, la centralité spectrale ou encore le PageRank utilisé par le moteur
de recherche G. De nombreux travaux scientifiques traitant de ces mesures, ainsi
que d’autres mesures qui ne seront pas abordées ici, peuvent être consultées pour approfondir
le sujet [M. N 2010 ; C 2010]. Certaines des mesures citées sont présentées
dans la figure 3.7. Nous utiliserons par la suite les graphes G1 et G2 (cf. figure 3.8) pour
illustrer les mesures de la centralité que nous présenterons.
Degré
La mesure de centralité la plus simple est le degré, consistant tout simplement à utiliser
le degré des nœuds comme valeur de centralité, c’est à dire le nombre d’arêtes adjacentes au
nœud considéré. On considère donc que plus un nœud est connecté à d’autres nœuds, plus
ce nœud est important. L’inconvénient de cette mesure est de ne considérer que localement
les nœuds ce qui peut aboutir à de fortes valeurs de centralité pour des nœuds qui seraient
isolés (par exemple si ces nœuds sont connectés à de nombreuses feuilles du réseau).
443.1. Graphes dynamiques
.
(a) Degré
.
(b) Proximité
.
(c) Vecteur propre
.
(d) Page Rank
F 3.7 : Quelques exemples de mesure de la centralité. Plus la taille du nœud est importante
(et plus sa couleur s’approche du jaune), plus la valeur de la centralité de ce nœud est
importante.
Si l’on considère la matrice d’adjacence A du graphe, le degré du nœud i se note alors :
cd (i) =
∑
j
Ai j
Lorsque le graphe est orienté, il devient nécessaire de considérer d’une part le degré
entrant, et d’autre part le degré sortant. Pour chaque nœud i, on obtient deux mesures
cde (i) et cd s(i) :
cde (i) =
∑
j
Aj i ; cd s(i) =
∑
j
Ai j
La figure 3.9 montre l’application du degré aux graphes définis dans la figure 3.8.Actuellement,
le degré reste à la base de nombreux travaux sur la centralité dans la littérature.
45. R
.C A E F H
B
D
G
I
(a) G1
.
C
A
E
F
H
B
D
G
(b) G2
F 3.8 : Graphes jouets utilisés pour illustrer les différentes centralités (tirés de [C
2010])
Proximité
La proximité, ou closeness, permet de tenir compte de l’ensemble du graphe pour le
calcul de la centralité. La proximité d’un nœud i est égale à la moyenne des longueurs des
plus courts chemins de i vers tous les autres nœuds du graphe. Autrement dit, la proximité
cc (i) du nœud i d’un graphe G = (V,E) est définie par l’équation :
cc (i) =
1
|V | −1
∑
j∈V \{i}
d(i, j) (3.8)
où d(i, j) représente la longueur du plus court chemin entre les nœuds i et j.
L’inconvénient de cette méthode réside dans le fait qu’elle nécessite le calcul de l’ensemble
des plus courts chemins du graphe. Ceci implique d’une part une complexité en
O(|V |
3
) si l’on utilise l’algorithme de F-W [F 1962]. On peut améliorer la
complexité en utilisant l’algorithme de J [J 1977] qui nous permet d’obtenir
en O(|V |·|E|+|V |
2
l og |V |). D’autre part, cette méthode nécessite une approche globale qui
est difficile dans le cas d’un graphe distribué.
463.1. Graphes dynamiques
. A
B
C
D
E F
G
H
I
cd (A) = 4
cd (B) = 1
cd (C) = 1
cd (D) = 1
cd (E) = 2
cd (F) = 4
cd (G) = 1
cd (H) = 1
cd (I) = 1
(a) Le degré appliqué au graph G1
.
A
B
C
D
E
F
G
H
cde (A) = 1
cde (B) = 2
cde (C) = 3
cde (D) = 5
cde (E) = 2
cde (F) = 2
cde (G) = 1
cde (H) = 2
(b) Le degré entrant appliqué au graph G2
.
A
B
C
D
E
F
G
H
cd s(A) = 3
cd s(B) = 3
cd s(C) = 3
cd s(D) = 2
cd s(E) = 2
cd s(F) = 2
cd s(G) = 2
cd s(H) = 1
(c) Le degré sortant appliqué au graph G2
F 3.9 : La centralité utilisant le degré appliquée aux graphes G1 et G2. La taille des
nœuds est proportionnelle à la valeur de la centralité.
47. R
. A
B
C
D
E F
G
H
I
cd (A) = 0.067
cd (B) = 0.045
cd (C) = 0.045
cd (D) = 0.045
cd (E) = 0.071
cd (F) = 0.067
cd (G) = 0.045
cd (H) = 0.045
cd (I) = 0.045
(a) G1
.
A
B
C
D
E
F
G
H
cde (A) = 0.083
cde (B) = 0.083
cde (C) = 0.083
cde (D) = 0.071
cde (E) = 0.071
cde (F) = 0.063
cde (G) = 0.071
cde (H) = 0.045
(b) G2
F 3.10 : Mesure de la proximité appliquée aux graphes G1 et G2 en utilisant l’équation
3.9. La taille des nœuds est proportionnelle à la valeur de la centralité.
De plus, la proximité est bien adaptée pour un graphe connexe dans lequel pour n’importe
quelle paire de nœuds i, j il existe un chemin entre i et j. Dans le cas d’un graphe
possédant plusieurs composantes connexes, ou dans le cas d’un graphe orienté dans lequel
l’existence d’un chemin entre n’importe quelle paire de nœuds n’est pas assurée, on obtient
des distances égales à l’infini. Une solution à ce problème est proposée dans [M. N
2010] consistant à considérer l’inverse des distances plutôt que les distances elles-mêmes :
cc (i) =
1
|V | −1
∑
j∈V \{i}
1
d(i, j)
(3.9)
Intermédiarité
Lorsqu’une information est diffusée à travers un réseau, une route est calculée puis l’information
emprunte cette route depuis le nœud émetteur jusqu’à sa destination. Chaque
483.1. Graphes dynamiques
nœud composant la route participe à la diffusion de cette information et l’absence de l’un
d’entre eux pourrait mener à une diffusion plus longue voire à une absence de diffusion. À
partir de ce point de vue, l’importance d’un nœud réside dans le rôle qu’il joue dans la diffusion
d’information.
Si l’on considère que la diffusion d’une information d’un nœud A à un nœud B emprunte
un plus court chemin entre ces deux nœuds, on peut alors, en calculant l’ensemble de tous
les plus courts chemins du graphe, déterminer pour un nœud i la proportion de plus courts
chemins CB (i) dont i fait partie. CB est une mesure de centralité que l’on nomme intermé-
diarité, et qui est attribuée à F [F 1977]. On considère gi j le nombre de plus
courts chemins entre les nœuds i et j, et gi j(k) le nombre de plus courts chemins entre i
et j dont le nœud k fait partie. On peut définir alors bi j(k) comme le rapport entre ces deux
valeurs :
bi j(k) =
gi j(k)
gi j
(3.10)
On peut alors définir l’intermédiarité :
CB (i) =
∑
s,t∈V,s̸=t
bst(i) (3.11)
On peut normaliser cette centralité en utilisant le facteur 1
n
2 , ou 1
n
2−n+1
[M.N 2010] :
CB (i) =
1
n
2
∑
s,t∈V,s̸=t
bst(i) (3.12)
Tout comme la proximité, les inconvénients de cette mesure sont liés à la nécessité de
calculer l’ensemble des plus courts chemins du graphe.
Centralité spectrale
Il est intéressant de considérer que les valeurs de la centralité des nœuds peuvent être
liées : plus un nœud est entouré de voisins ayant une centralité élevée, plus sa propre centralité
devrait être importante. Ainsi, on peut définir la centralité CS(i) d’un nœud i par la
centralité de ses voisins :
CS(i) =
1
λ
∑
j∈V (G)
Ai jCS(j) (3.13)
où λ est une constante.
En considérant le vecteur x = (CS(0),CS(1),...,CS(n)), on peut ré-écrire l’équation pré-
cédente sous la forme :
λx = Ax (3.14)
La seule solution positive de cette équation est le vecteur propre associé à la plus grand
valeur propre λ de A.
49. R
. A
B
C
D
E F
G
H
I
cd (A) = 36
cd (B) = 0
cd (C) = 0
cd (D) = 0
cd (E) = 32
cd (F) = 36
cd (G) = 0
cd (H) = 0
cd (I) = 0
(a) G1
.
A
B
C
D
E
F
G
H
cde (A) = 7
cde (B) = 4.5
cde (C) = 10
cde (D) = 17
cde (E) = 7.5
cde (F) = 9
cde (G) = 3.5
cde (H) = 1.5
(b) G2
F 3.11 : Application de l’intermédiarité aux graphes G1 et G2
Page Rank
Le PageRank [B et P 1998] est une mesure de centralité utilisée par G afin
de permettre un classement des nombreuses pages web selon leur importance. Comparé à
d’autres mesures cherchant à mettre en relation la valeur de la centralité d’un nœud avec
celle de ces voisins comme la centralité spectrale évoquée précédemment ou encore la centralité
de Katz [K 1953], le PageRank tente de réduire l’impact de la centralité d’un nœud
fortement connecté sur ses voisins. Autrement dit, la centralité d’un nœud doit être diffusée
aux voisins dans une moindre mesure lorsque celui-ci est connecté à un milliard de nœuds
que lorsqu’il n’est connecté qu’à une dizaine.
Le PageRank CPR(i) d’un nœud i peut s’exprimer sous la forme suivante :
CPR(i) =
∑
j∈Nin
i
CPR(j)
|Nout
j
|
(3.15)
Nin
i
et Nout
i
représentent respectivement l’ensemble des nœuds pointant vers i, et l’ensemble
des nœuds vers lesquels i pointe. |Nout
i
| est donc égal au degré sortant du nœud
503.1. Graphes dynamiques
. A
B
C
D
E F
G
H
I
cd (A) = 0.2387
cd (B) = 0.0674
cd (C) = 0.0674
cd (D) = 0.0674
cd (E) = 0.1181
cd (F) = 0.2387
cd (G) = 0.0674
cd (H) = 0.0674
cd (I) = 0.0674
(a) G1
.
A
B
C
D
E
F
G
H
cde (A) = 0.1111
cde (B) = 0.1007
cde (C) = 0.1712
cde (D) = 0.2174
cde (E) = 0.0788
cde (F) = 0.1598
cde (G) = 0.0522
cde (H) = 0.1089
(b) G2
F 3.12 : Application du PageRank aux graphes G1 et G2
i.
Le PageRank est une version de la centralité spectrale qui intègre le dégré sortant des voisins.
On peut interpréter le PageRank de manière probabiliste. On considère alors un “surfeur”
aléatoire explorant successivement des sites web en cliquant sur les liens qu’il trouve. Il
y a une probabilité (1−d) qu’à un moment donné, ce surfeur cesse son activité. La constante
d est appelée facteur d’amortissement . Sa valeur recommandée est 0.85. Elle est intégrée
dans le PageRank de la manière suivante :
CPR(i) =
1−d
n
+d ·
∑
j∈Nin
i
CPR(j)
|Nout
j
|
(3.16)
Bilan
Nous avons vu différentes approches permettant de mesurer la centralité des nœuds
d’un graphe. L’ensemble des valeurs est résumé dans le tableau 3.1 de manière à pouvoir
5. « damping factor »
51. R
comparer les mesures entre elles.
Ces approches ne représentent qu’un fragment de l’ensemble des mesures de centralité
existantes. On remarque cependant que le calcul de ces mesures peut nécessiter soit des
données locales comme c’est le cas pour le degré, soit au contraire, des données globales
(ensemble de plus courts chemins, matrice d’adjacence) pour le reste des mesures. L’utilisation
de données locales permet un traitement décentralisé de la mesure et par conséquent
de s’affranchir des problèmes posés par les grands graphes. En revanche, le risque lorsque
l’on utilise de telles données est de trouver des optima locaux, en l’occurrence attribuer une
forte centralité à des nœuds qui ne seraient centraux que localement et non pas à l’échelle
du graphe. A contrario, l’utilisation de données globales permet des solutions valides pour
l’ensemble du graphe mais implique une centralisation de la structure du graphe ainsi qu’une
charge de calcul plus importante.
On constate dans le tableau 3.1 que le classement des nœuds du graphe G1 est identique
entre les différentes approches, à une exception près pour la proximité. La comparaison du
degré avec les autres mesures est plus délicate en ce qui concerne le graphe G2 du fait que
ce graphe est orienté. Globalement, les classements sont différents, avec seulement une
similarité dans la tête de classement de l’intermédiarité et du PageRank.
3.2 Structures
Il est régulièrement question dans ces travaux de structures, c’est pourquoi nous allons
prendre le temps de développer ce concept. Nous considérons une structure comme un ensemble
de nœuds et d’arêtes appartenant à un même graphe qui sera en règle générale associée
à une propriété sémantique. La structure en elle-même est un objet général, qui peut
contenir des arêtes sans leurs extrémités par exemple. Un exemple basique de structure est
le plus court chemin entre deux nœuds A et B contenant l’ensemble des arêtes consécutives
permettant d’aller de A à B ainsi que les extrémités de ces arêtes et dont la sémantique serait
qu’il n’existe pas de structure plus petite permettant de joindre A et B.
La difficulté introduite par la dynamique est de maintenir la propriété propre à la structure
au travers des modifications qui s’opèrent dans le graphe. En reprenant l’exemple de plus
court chemin, il faut adapter le contenu de la structure afin que la propriété ”chemin le plus
court” reste toujours valable.
Une approche naïve de ce problème serait de recalculer une nouvelle solution au problème
à chaque modification significative du graphe. Mais peut-on dans ce cas parler de
maintien de la solution ? Non. Le maintien de la solution implique la réutilisation d’une solution
précédemment calculée dans le but de réduire le temps de calcul nécessaire. De plus,
on cherche à ce que cette solution varie le moins possible tant qu’elle reste valide : il peut y
avoir plusieurs plus courts chemins entre deux nœuds, tant que la solution initialement retenue
fait partie des solutions optimales il est préférable de la conserver plutôt que d’osciller
entre différentes solutions. Ce dernier point est important lorsque l’on s’intéresse au taux de
renouvellement de la solution.
523.2. Structures
Degré Proximité Intermédiarité PageRank
G1
A 0.250000 0.139619 0.346154 0.238738
B 0.062500 0.095195 0.000000 0.067399
C 0.062500 0.095195 0.000000 0.067399
D 0.062500 0.095195 0.000000 0.067399
E 0.125000 0.149592 0.307692 0.118131
F 0.250000 0.139619 0.346154 0.238738
G 0.062500 0.095195 0.000000 0.067399
H 0.062500 0.095195 0.000000 0.067399
I 0.062500 0.095195 0.000000 0.067399
G2
A → 0.166667
← 0.055556 0.145626 0.116667 0.111132
B → 0.166667
← 0.111111 0.145626 0.075000 0.100724
C → 0.166667
← 0.166667 0.145626 0.166667 0.171158
D → 0.111111
← 0.277778 0.124823 0.283333 0.217368
E → 0.111111
← 0.111111 0.124823 0.125000 0.078776
F → 0.111111
← 0.111111 0.109220 0.150000 0.159766
G → 0.111111
← 0.055556 0.124823 0.058333 0.052230
H → 0.055556
← 0.111111 0.079433 0.025000 0.108847
T 3.1 : Comparaison des différentes centralités pour les graphes G1 et G2. Les valeurs
ont été normalisées afin de permettre la comparaison. → symbolise le degré sortant, ← le
degré entrant.
53. R
3.2.1 Communautés et organisations
Dans notre vie quotidienne, nous utilisons de manière intuitive le concept de communauté
afin de désigner un groupe de personnes en fonction d’une caractéristique partagée par
les membres du groupe. Il peut s’agir par exemple de la communauté scientifique, d’une communauté
religieuse, ou encore la communauté open-source. Tous ces exemples montrent
l’idée que nous avons d’une communauté : un ensemble d’individus qui interagissent entre
eux grâce à un intérêt commun. Lorsque l’on considère une population, il existe donc un ré-
seau d’interactions qui émerge des liaisons entre individus générées par divers centres d’intérêt.
Parmi les propriétés pouvant être attribuées aux structures, celles de communauté et
d’organisation nous intéressent particulièrement. Ces deux propriétés sont étroitement liées
et portent sur des groupes de nœuds fortement connectés comparés à l’ensemble du graphe.
Dans un contexte statique, nous nommerons ces structures communautés. Lorsque la structure
possède une base qui se maintient avec la dynamique, on parle alors d’organisation. Du
fait du contexte dynamique dans lequel s’effectuent nos travaux, nous nous focaliserons uniquement
sur la notion d’organisation par la suite.
Les structures d’organisation soulèvent deux problèmes majeurs. Tout d’abord, comment
détecter ces structures ? Puis, comment maintenir les structures détectées au travers
de la dynamique du graphe. Maintenir l’organisation signifie que cette dernière possède une
signification lorsqu’on l’observe à une échelle macroscopique et qu’il faut adapter le contenu
de la structure afin de conserver cette signification.
Nous allons considérer un exemple afin d’illustrer ce que nous entendons par maintenir
l’organisation. Si l’on considère un graphe modélisant les interactions dans un réseau
social : chaque nœud représente une personne et lorsque deux personnes discutent entre
elles, une arête est créée entre les nœuds qui les représentent. Si ces mêmes personnes ne
discutent plus un certain temps, l’arête est supprimée. Si l’on considère un centre d’intérêt
I, on suppose que les personnes intéressées par I vont discuter entre elles et ainsi former
une organisation. Au fil du temps, certaines personnes vont cesser d’être intéressées par
I et au contraire d’autres vont le devenir, modifiant de ce fait la structure de l’organisation.
L’organisation engendrée par I se maintient donc dans le temps même si sa structure change.
Définitions
On trouve dans [B et al. 2006] un rappel sur les différentes définitions de communauté.
Tout d’abord une définition historique qui considère que dans un graphe G une
communauté est un sous-graphe G
′ de G dans lequel les nœuds sont fortement connectés,
c’est à dire qu’il existe une forte cohésion entre les membres.
La définition la plus forte considère que les communautés sont des cliques, c’est à dire un
ensemble de nœuds maximal tel que chaque membre est connecté à tous les autres. Cette
définition peut être affaiblie par le concept de k-clique : chaque membre du sous-ensemble de
nœuds est relié à tous les autres par au maximum k intermédiaires. Les auteurs présentent
543.2. Structures
.
F 3.13 : 3 communautés formant des cliques
enfin la notion de k-plex afin d’affaiblir la définition d’une communauté : il s’agit d’un sousgraphe
à n sommets dans lequel chaque sommet est connecté à au moins n −k membres.
Enfin, une autre façon d’aborder la définition d’une communauté est présentée : il s’agit
d’utiliser la fréquence des arêtes pour mesurer la cohésion entre les membres d’un groupe.
On peut trouver plusieurs définitions de telles mesures dans [W et F 1994].
3.2.2 Forme
La manière dont les nœuds d’une même structure interagissent entre eux et avec les
nœuds extérieurs permet de donner une forme à la structure. Cette forme va nous permettre
de classer les structures afin d’associer des propriétés aux différentes classes.
Les chemins forment une classe de formes dont les membres sont peu connectés entre
eux (de une à deux connections) mais peuvent potentiellement être connectés à une quantité
importante de nœuds extérieurs. Ce type de forme est fragile dans le sens où le retrait d’un
seul élément peut entraîner une perte de connexité de la structure.
Les structures dont tous les membres sont connectés forment les cliques ou sous-graphes
complets. Contrairement aux chemins, cette forme de structure est solide du fait qu’il est
nécessaire de retirer au moins n −1 éléments afin de déconnecter la structure.
Ces deux exemples, quelque peu extrêmes, nous permettent de mettre en avant que
la densité de connections au sein d’une structure est un des éléments qui va permettre de
définir sa forme. Plus la valeur de cette mesure sera élevée plus la structure sera difficile
à déconnecter par la suppression d’arêtes ou de nœuds. Les chemins ont donc une densité
faible, tandis que celle des cliques est maximale (il n’est pas possible de connecter davantage
les nœuds d’une clique).
55. R
.
Étude Graphe dynamique
Génération du graphe
Simulation Générateur
source de la structure
du graphe
augmentation du graphe
par l’ajout d’informations
Processus produisant
le graphe initial Processus lisant le graphe
et produisant de nouvelles
informations
F 3.14 : Concept de processus. Un processus initial est utilisé pour générer le graphe.
Un autre processus est utilisé pour analyser le graphe et l’augmenter grâce aux informations
calculées.
3.3 Processus
Nous avons vu qu’un graphe dynamique est composé d’une structure de nœuds et d’arcs
qui évolue au fil du temps. On peut alors se poser la question : quelle est la source de cette
dynamique ? La source initiale de cette dynamique est la source même du graphe qui, dans le
cadre de nos travaux, sera principalement une simulation. Cependant, la dynamique prend
aussi ses sources dans d’autres mécanismes tels que des algorithmes qui permettent, en
ajoutant des informations, d’augmenter le graphe.
D’une manière générale, nous désignons ces mécanismes sous le terme de processus
qui pourront agir indépendamment du graphe produit ou au contraire utiliser le graphe existant
dans le but de l’augmenter. Comme nous l’avons vu dans le paragraphe précédent, un
processus peut désigner un générateur de la structure du graphe ou encore un algorithme
maintenant une structure (arbre couvrant, plus court chemin) ou une mesure sur le graphe,
mais il peut s’agir aussi d’une information telle que le flot pouvant parcourir un graphe. Nous
présentons dans la figure 3.14 le concept le processus et de quelle manière ces processus
viennent s’insérer dans la construction et l’étude du graphe.
Un processus ne possède pas de présence concrète dans le graphe. Il s’agit d’un objet
abstrait dont la présence n’est perçue qu’au travers des informations qu’il produit à partir
d’informations fournies par un graphe et/ou d’autres processus. Dans certains cas, le processus
ne nécessite pas d’information en entrée comme dans le cas par exemple d’un gé-
nérateur de graphe basé sur un algorithme [B et A 1999 ; D et
M 2002]. Le processus peut utiliser les informations qu’il a lui-même produites dans
563.3. Processus
.
Processus A
génération du graphe
Processus B
détection d’organisations
Processus C
mesure
Processus D
calcul plus court chemin
F 3.15 : Un graphe dynamique vu comme le résultat d’un ensemble de processus
le graphe afin d’affiner ces informations ou de les mettre à jour pour prendre en compte des
changements qui seraient survenus dans le graphe : il y a alors une rétroaction du processus
sur lui-même.
3.3.1 Exemple
La figure 3.15 nous présente un système dans lequel les processus A, B, C et D cohabitent
afin de créer un graphe dynamique. Le processus A est un générateur qui est capable de
fournir les informations nécessaires à la création de la structure du graphe. Les processus B
et D permettent de maintenir des structures : une vue macro du graphe initial dans laquelle
les nœuds représentent des organisations dans le cas du processus B, et un plus court chemin
entre deux nœuds dans celui du processus D. Enfin, le processus C calcule une mesure en
utilisant le graphe initial ainsi que la vue macro générée par le processus B puis retransmet les
nouvelles informations mesurées afin d’augmenter les informations contenues initialement
dans le graphe.
3.3.2 Propriétés
Une première propriété qui permet de caractériser les processus concerne la nature du
lien qui permet de transmettre les informations. Cette transmission peut se faire de façon
continue ou discrète comme cela est illustré dans la figure 3.16. Dans le cas d’une trans-
57. R
Processus A .
transmission discrète
Processus B
transmission continue
F 3.16 : Transmission discrète et continue : le processus A transmet les informations
comme une suite de messages contrairement au processus B dont le résultat prend la forme
d’un flux continu d’informations.
.
Processus A
microscopique
Processus B
macroscopique
F 3.17 : Processus micro/macro.
mission discrète, les informations modifiant le graphe prennent la forme d’une séquence,
c’est pourquoi on parlera de processus itératif. Au contraire, dans un processus continu, la
transmission prend la forme d’un flux continu d’informations.
On peut différencier les processus en fonction de leur échelle d’action. On dira d’un processus
qu’il opère à l’échelle microscopique lorsque les informations qu’il produit ont pour
cible les nœuds ou les arêtes du graphe comme par exemple un processus qui mesurerait le
degré des nœuds. Cependant, lorsque les informations produites concernent le graphe dans
son intégralité, comme par exemple le degré maximum, on dira que le processus opère à une
échelle macroscopique.
Une propriété des processus proche de celle de micro/macro est la notion de local/global.
Un processus agissant localement ne nécessite qu’une partie locale du graphe pour produire
de l’information. Au contraire, lorsqu’un processus agit globalement il a besoin de l’ensemble
du graphe afin de pouvoir fonctionner.
Ces deux notions de micro/macro et local/global semblent proches au premier abord mais
sont cependant bien distinctes : la notion de microscopique/macroscopique est liée à la sortie
du processus tandis que celle de local/global concerne l’entrée du processus. Il est donc tout
à fait possible de considérer un processus microscopique et global ou encore un processus
58Références
.
Processus A
local
Processus B
global
F 3.18 : Processus local/global.
macroscopique et local.
Références
B, A. et E. B (2003). “Scale-Free Networks”. In : Scientific American, p. 50–
59.
B, Albert-László et Réka A (1999). “Emergence of Scaling in Random Networks”.
In : Science 286 (5439), p. 509–512. : 10.1126/science.286.5439.509.
: http://www.sciencemag.org/content/286/5439/509.abstract.
B, S. et al. (2006). “Complex Networks : Structure and Dynamics”. In : Phys.
Rep. 424 (4-5), p. 175–308.
B, Otakar (1926). “O jistém problému minimálním (About a certain minimal problem)”.
In : Práce mor. přírodověd. spol. v Brně III (3), p. 37–58.
B, Sergey et Lawrence P (1998). “The anatomy of a large-scale hypertextual Web
search engine”. In : Computer networks and ISDN systems 30 (1), p. 107–117. :
0169-7552.
B-X, B., A. F et A. J (avr. 2003). “Computing shortest, fastest, and foremost
journeys in dynamic networks”. In : International Journal of Foundations of Computer
Science 14 (2), p. 267–285.
C, A. et al. (2012). “Time-Varying Graphs and Dynamic Networks”. In : International
Journal of Parallel, Emergent and Distributed Systems. In press. : 10.1080/
17445760.2012.668546.
C, Nacim Fateh (2010). “Calcul de centralité et identification de structures de communautés
dans les graphes de documents.” Université de Toulouse III. : http://
thesesups.ups-tlse.fr/1364/.
C, Corina, Daryl P et Chris V (déc. 2003). “Computational Methods
for Dynamic Graphs”. In : Journal of Computational & Graphical Statistics 12 (4). ISSN
1061-8600, Online ISSN : 1537-2715, 950–970(21).
59. R
D, Camil et Giuseppe F. I (2006). “Fully dynamic all pairs shortest paths
with real edge weights”. In :J. Comput. Syst. Sci. 72 (5), p. 813–837. : 0022-0000.
: 10.1016/j.jcss.2005.05.005.
D, E. W. (1959). “A note on two problems in connexion with graphs”. In : Numerische
Mathematik 1, p. 269–271.
D, S. N. et J. F. F. M (2002). “Evolution of networks”. In : Adv. Phys,
p. 1079–1187.
E, Leonhard (1741). “Solutio problematis ad geometriam situs pertinentis”. In : Commentarii
academiae scientiarum Petropolitanae 8, p. 128–140.
F, Afonso (mai 2002). “On models and algorithms for dynamic communication networks
: The case for evolving graphs”. In : 4e rencontres francophones sur les Aspects
Algorithmiques des Telecommunications (ALGOTEL’2002). Mèze, France.
F, Robert W. (1962). “Algorithm 97 : Shortest Path”. In : Communications of the ACM
5 (6), p. 345.
F, Lester Randolph (1956). Network Flow Theory.
F, Linton C. (1977). “A set of measures of centrality based upon betweenness”. In :
Sociometry 40, p. 35–41.
— (1978). “Centrality in social networks conceptual clarification”. In : Social Networks 1
(3), p. 215–239. : 0378-8733. : 10.1016/0378- 8733(78)90021- 7. :
http://www.sciencedirect.com/science/article/pii/0378873378900217.
G, M. et M. E. J. N (2002). “Community structure in social and biological networks”.
In : Proc. Natl. Acad. Sci. USA 99, p. 8271–8276.
G, Charles M. et J. Laurie S (1997). Introduction to Probability. : 978-0-
8218-9414-9. : http://www.dartmouth.edu/~chance/teaching_aids/books_
articles/probability_book/book.html.
H, F. et G. G (1997). “Dynamic Graph Models”. In : Mathematical and Computer
Modelling 25 (7), p. 79–87.
H, Frank (oct. 1969). Graph Theory. Published : Paperback. Westview Press. :
0201410338. : http : / / www . amazon . com / exec / obidos / redirect ? tag =
citeulike07-20&path=ASIN/0201410338.
J, Donald B. (1977). “Efficient Algorithms for Shortest Paths in Sparse Networks”.
In : J. ACM 24 (1), p. 1–13. : 0004-5411. : 10.1145/321992.321993. :
http://doi.acm.org/10.1145/321992.321993 (visité le 17/10/2013).
J, Camille (1869). “Sur les assemblages des lignes”. In : J. Reine Angew. Math 70,
p. 185–190.
K, Leo (1953). “A New Status Index Derived from Sociometric Index”. In : Psychometrika,
p. 39–43.
N, M. E. J. (2003). “The Structure and Function of Complex Networks”. In : SIAM
Review 45, p. 167–256. : 10.1137/S003614450342480.
N, Mark (2010).Networks : An Introduction. New York, NY, USA : Oxford University
Press, Inc. : 0199206651, 9780199206650.
60Références
O, Oystein (1962). Theory of graphs. English. American Mathematical Society, Providence.
v. P.
P, Yoann (2008). “Modélisation et traitement décentralisé des graphes dynamiques :
Application aux réseaux mobiles ad hoc”. French. Université du Havre. : http :
//tel.archives-ouvertes.fr/tel-00371962/PDF/these.pdf.
R, Marco, Fabio R et Enrico S (2011). “Semi-Markov Graph Dynamics”.
In : PLoS ONE 6 (8).
R, Craig W. (août 1987). “Flocks, herds and schools : A distributed behavioral model”.
In : SIGGRAPH Comput. Graph. 21 (4), p. 25–34. : 0097-8930. : http:
//doi.acm.org/10.1145/37402.37406. : http://doi.acm.org/10.1145/
37402.37406.
S, Peter J. (1978). “Centers to centroids in graphs”. In : Journal of Graph Theory 2 (3),
p. 209–222.
S, S. H. et D. J. W (1998). “Collective dynamics of ’small-world’ networks”.
In : Nature 393, p. 440–442.
W, Stanley et Katherine F (1994). Social Networks Analysis. Cambridge University
Press.
61C
4
R
4.1 Partitionnement du graphe . . . . . . . . . . . . . . . . . . . . . . 64
4.2 Approches statiques . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2.1 Technique de la bissection récursive . . . . . . . . . . . . . 65
4.2.2 Technique multi-niveaux . . . . . . . . . . . . . . . . . . . 65
4.2.3 Classification hiérarchique . . . . . . . . . . . . . . . . . . 66
4.2.4 Théorie spectrale . . . . . . . . . . . . . . . . . . . . . . 69
4.2.5 Approches bio-inspirées . . . . . . . . . . . . . . . . . . . 71
4.3 Approches dynamiques . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3.1 Approches par diffusion . . . . . . . . . . . . . . . . . . . 77
4.3.2 Approches par particules . . . . . . . . . . . . . . . . . . . 77
4.3.3 Diffusion de labels . . . . . . . . . . . . . . . . . . . . . . 78
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Dans le cadre de la distribution d’une application, nous avons besoin de déterminer comment
répartir les différents composants de l’application. Nous utilisons pour cela un algorithme
de répartition de charge qui permet de calculer une répartition de manière à équilibrer
le travail des différentes machines.
L’application que l’on souhaite distribuer est une simulation de système complexe dont
les composants à répartir sont les entités du système. Les particularités de la répartition dont
nous avons besoin sont d’une part la dynamique liée au système, et d’autre part la volonté de
réduire la consommation de la bande passante du réseau. La quantité massive d’interactions
63. R
.
F 4.1 : Un exemple de partitionnement d’un graphe. Chaque couleur représente une
partie. Les lignes hachurées représentent les arêtes entre les parties que l’on souhaite minimiser.
au sein du système, qui se traduisent par des communications distantes lorsque ce système
est distribué, justifie ce besoin de tenir compte de cette contrainte.
4.1 Partitionnement du graphe
Nous avons vu précédemment que le réseau d’interactions formé par les entités peut
être modélisé par un graphe dynamique. Répartir les entités sur un ensemble de machines
consiste donc à calculer une classification des nœuds du graphe pour laquelle chaque classe
représente une machine. La classe d’un nœud nous permet alors de savoir sur quelle machine
l’entité, correspondant au nœud, doit s’exécuter. Notre problème consiste donc à dé-
terminer cette classification de manière à ce que les tailles des classes soient similaires pour
obtenir une répartition équilibrée. De plus, on cherche à réduire la quantité d’arêtes reliant
des nœuds de classes différentes.
On considère un graphe G = (V,E), et l’espace Sk représentant l’ensemble des solutions
possibles au problème du partitionnement en k parties. Une solution S ∈ Sk est un ensemble
{C1,...,Ck }, les Ci
formant un recouvrement de V et étant deux-à-deux disjoints :
i
∪Ci = V
∀Ci
,Cj ∈ S, Ci ∩Cj = ;
Un exemple de partition de graphe est donné figure sur la 4.1. Trouver la meilleure partition
est un problème NP-difficile [S et S 2013], qui nécessite la mise en place
d’heuristique afin d’en trouver une solution approchée. On commence par définir une fonction
Q : Sk → R nous permettant de mesurer la qualité d’une solution et, de ce fait, de
comparer des solutions deux-à-deux. Si, pour deux solutions S et S
′
, Q(S) < Q(S
′
), alors
on considère S
′
comme meilleure que S. On définit ensuite une fonction de voisinage N(S)
qui, à partir d’une solution existante S, va créer un ensemble de solutions voisines de S, à
l’aide de transformations locales. On obtient alors une solution localement optimale lorsque
∀S
′ ∈ N(S), Q(S
′
) ≤ Q(S).
644.2. Approches statiques
Partitionner le graphe est un problème similaire à la détection de communautés dans
un graphe. On peut en effet considérer cette détection comme la recherche de la meilleure
partition du graphe dont on ignore le nombre de parties. Dans les deux problèmes on cherche
à connaître la structure de plus haut niveau dont chaque nœud fait partie. C’est pourquoi dans
ce qui suit, nous présenterons des méthodes de partitionnement mais aussi des méthodes
de détection de communautés.
4.2 Approches statiques
4.2.1 Technique de la bissection récursive
La bissection récursive n’est pas en soi un algorithme de partitionnement mais une technique
définissant une manière de procéder qui doit permettre de diminuer la complexité globale.
Elle consiste à utiliser un algorithme de partitionnement pour diviser le graphe en deux
parties. On applique ensuite récursivement l’algorithme sur chaque partie jusqu’à obtenir le
nombre de parties souhaitées.
Le nombre de parties de la solution est alors sous la forme 2
k
, la technique impose en effet
que ce nombre soit une puissance de 2. On part du principe que la complexité de procéder
k fois à un 2-partitionnement est significativement plus faible que d’utiliser directement un
2
k
-partitionnement. De plus, à chaque étape, les deux parties créées peuvent être traitées
indépendamment, rendant la technique naturellement parallélisable.
Il a été prouvé dans [G et J 1979] que trouver la solution optimale à ce problème
est NP-complet. C’est pourquoi il est nécessaire d’utiliser une heuristique permettant
de trouver une solution approchée.
Heuristique de Kernighan-Lin
Une heuristique, dite gloutonne, consiste à améliorer une solution initiale établie arbitrairement.
L’amélioration est effectuée en procédant à un échange de nœuds deux-à-deux
entre les deux parties qui permettent de réduire la somme du poids des arêtes entre ces parties.
On procède à l’échange tant qu’il est possible d’obtenir un gain significatif. La complexité
de cette heuristique est 0(n
2
).
L’algorithme de K-L [K et S. L 1970] propose d’améliorer cette
méthode gloutonne en échangeant plus d’un sommet à la fois. Le résultat devient meilleur
mais la complexité de l’algorithme augmente en O(n
3
). Il existe cependant une amélioration
proposée par F et M dans [F et M 1982] qui permet
d’obtenir une complexité en O(|E(G)|), E(G) désignant l’ensemble des arêtes du graphe G.
4.2.2 Technique multi-niveaux
En complément de la bissection récursive, il est possible d’adopter une approche multiniveaux.
Cela consiste à créer un graphe de taille plus petite que le graphe d’origine en fu-
65. R
.
(a) (b) (c)
(d) (e) (f)
F 4.2 : Illustration de l’approche multi-niveaux appliquée au partitionnement. (a) pré-
sente le graphe initial, dans lequel on détermine un regroupement des nœuds en (b). Puis
en (c) les nœuds des groupes sont fusionnés afin de créer un graphe d’un plus haut niveau.
(d) et (e) montrent le calcul d’une partition par bissection. Le graphe est reconstruit en (f).
sionnant des sommets. Chaque sommet du graphe ainsi obtenu représente un groupe de
sommets du graphe d’origine. Une fois qu’une partition est calculée sur ce graphe simplifié,
il suffit de revenir au graphe d’origine. Cette procédure est présentée à l’aide d’un exemple
trivial dans la figure 4.2.
Cette technique implique de devoir définir la façon dont les nœuds sont regroupés pour
être fusionnés. Cela peut être fait de multiples façons, en regroupant par exemple les nœuds
reliés entre eux par des arêtes ayant un poids élevé comme c’est le cas dans [K et
K 1999], par exemple.
4.2.3 Classification hiérarchique
On peut étendre l’idée de l’approche multi-niveaux en créant une hiérarchie entre les
partitionnements d’une partition composée des singletons contenant chaque nœud, à une
partition contenant comme unique partie l’intégralité des nœuds du graphe. La construction
664.2. Approches statiques
de cette hiérarchie peut se faire de manière ascendante. On commence alors avec une solution
où chaque nœud représente une partie, puis on fusionne les parties deux-à-deux pour
obtenir une nouvelle solution. Et ainsi de suite jusqu’à obtenir une seule partie contenant
tous les nœuds. Au contraire, l’approche peut être descendante. On commence alors avec
une solution contenant comme seule partie l’ensemble des nœuds, puis on divise la partie
en deux, et ainsi de suite jusqu’à obtenir autant de parties que de nœuds.
On peut représenter cette hiérarchie, c’est à dire l’historique des fusions (hiérarchie ascendante),
ou des divisions (hiérarchie descendante), à l’aide d’un dendrogramme. Un tel
schéma est représenté sur la figure 4.3. À chaque étape, on calcule la qualité de la partition
dans son état actuel. On peut alors connaître l’état pour lequel la qualité est maximale, ce
qui nous donne le meilleur partitionnement.
Cette méthode nécessite la mise en place de deux mesures. Tout d’abord, une mesure de
qualité que nous avons déjà abordée, qui nous permet de comparer des partitions afin d’évaluer
laquelle est la meilleure. Ensuite, nous avons besoin d’une mesure de similarité d(i, j)
qui nous permette d’évaluer la similarité entre deux groupes de nœuds i et j. Cette mesure
va ainsi nous permettre de choisir les nœuds, ou groupes de nœuds qui vont être fusionnés.
Par exemple, dans le cas d’un graphe spatialisé, il peut s’agir de la distance euclidienne ou
d’un dérivé ; dans ce cas, lorsque les groupes de nœuds contiennent plusieurs éléments, il
est nécessaire d’appliquer un opérateur comme la moyenne ou le barycentre.
Mark E. J. N propose un algorithme de détection de communauté dans [M. E. J.
N 2004] utilisant une méthode de classification hiérarchique ascendante, en présentant
des résultats sur un graphe d’environ 50000 nœuds formés par un réseau de collaborations
entre chercheurs. Il utilise une mesure de qualité Q, nommée modularité. En considé-
rant ei j la proportion d’arêtes connectant le groupe i au groupe j et ai =
∑
j ei j, la mesure
de cette modularité est donnée par :
Q =
∑
i
(
ei i − a
2
i
)
(4.1)
L’algorithme procède par itérations. On considère une solution initiale où chaque nœud représente
une communauté. Puis, à l’étape i, on choisit deux communautés à fusionner de
telle sorte que ∆Q = Qi −Qi−1 soit le plus grand possible, Qi représentant la modularité à
l’étape i. L’auteur montre ensuite que ∆Q = 2(ei j − ai aj) ce qui peut être calculé en temps
constant. La complexité d’une itération de l’algorithme est donc O(n +m), n le nombre de
nœuds, m le nombre d’arêtes. Ce qui amène à une complexité générale de O((n +m)n).
Aaron C, Mark E. J. N et Cristopher M proposent une amélioration
de cet algorithme dans [C, M. N et M 2004] en optimisant les structures
de données nécessaires au calcul. Ils obtiennent ainsi une complexité O(md l og n), où d
représente la profondeur du dendrogramme décrivant la hiérarchie des communautés. Ils
présentent des résultats sur un graphe mettant en relation des livres à l’aide des informations
de recommandations trouvées sur Amazon.com. Ils obtiennent ainsi un graphe de 400000
nœuds pour 2 millions d’arêtes. La table 4.1 présente les dix plus grandes communautés
trouvées sur ce graphe.
67. R
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Q
0 0.2 0.4
F 4.3 : Dendrogramme associé à une classification hiérarchique ascendante. La courbe
de gauche représente l’évolution de la qualité Q au fur et à mesure des fusions. On observe
que la qualité maximale est atteinte à l’avant dernière fusion, ce qui nous donne une bissection
du graphe.
684.2. Approches statiques
Rang Taille Description
1 114538 General interest : politics ; art/literature ; general fiction ; human
nature ; technical books ; how things, people, computers,
societies work, etc.
2 92276 The arts : videos, books, DVDs about the creative and performing
arts
3 78661 Hobbies and interests I : self-help ; self-education ; popular
science fiction, popular fantasy ; leisure ; etc.
4 54582 Hobbies and interests II : adventure books ; video games/comics
; some sports ; some humor ; some classic fiction ; some
western religious material ; etc.
5 9872 classical music and related items
6 1904 children’s videos, movies, music and books
7 1493 church/religious music ; African-descent cultural books ; homoerotic
imagery
8 1101 pop horror ; mystery/adventure fiction
9 1083 jazz ; orchestral music ; easy listening
10 947 engineering ; practical fashion
T 4.1 : Les 10 plus grandes communautés dans le réseau Amazon.com, représentant
environ 87% des nœuds du réseau.
4.2.4 Théorie spectrale
Il existe également des méthodes de partitionnement utilisant la théorie spectrale, c’est à
dire qu’elles utilisent les matrices et leurs valeurs/vecteurs propres. Ulrike L dans
[V L 2007] nous propose une introduction complète à ce type de partitionnement.
Ces méthodes [P, S et L 1990 ; T, D et F 2006] nécessitent
de construire une matrice d’adjacence qui représente les arêtes du graphe. Il s’agit
d’une matrice carrée de dimension n × n, où n correspond au nombre de nœuds dans le
graphe. Chaque composant ai j représente le poids de l’arête entre les nœuds i et j, ou,
dans le cas d’un graphe non-pondéré, vaut 0 ou 1 pour indiquer la présence de l’arête. Si
le graphe n’est pas orienté, sa matrice d’adjacence sera symétrique, c’est à dire que ∀i, j ∈
V (G), ai j = aj i. La figure 4.4 nous montre un exemple de matrice d’adjacence. L’utilisation
de la matrice d’adjacence permet d’augmenter la vitesse d’accès aux arêtes mais est coûteuse
du point de vue de la mémoire nécessaire.
Matrice Laplacienne
On considère la matrice diagonale D dont chaque élément di i représente le degré du
nœud. Dans le cas d’un graphe pondéré, di i représente la somme du poids des arêtes connec-
69. R
tées à i. On peut donc définir D de façon générale à partir de la matrice d’adjacence A :
di j =
∑n
k=0
ai k , si i = j
0, sinon
La matrice Laplacienne L non-normalisée du graphe est alors :
L = D − A
Cette matrice peut être normalisée de deux façons [C 1997]. D’une part la Laplacienne
normalisée symétrique L
norm, et d’autre part, une matrice L
ma correspondant à la
matrice de transition d’une marche aléatoire sur le graphe :
L
nor m = D
−1/2
·L ·D
−1/2
L
ma = D
−1
·L
Valeurs et vecteurs propres
Les méthodes spectrales utilisent les valeurs et vecteurs propres de la matrice Laplacienne,
normalisée ou non, afin de calculer un partitionnement du graphe. Une valeur propre
d’une matrice A est un réel λ pour lequel il est possible de trouver un vecteur u ∈ R
n
tel que
A·u = λ·u. Le vecteur u est alors appelé vecteur propre de A. Les valeurs propres de A sont
les racines λi du polynôme caractéristique de A décrit par :
det(A −λ·In),
où det représente le déterminant de la matrice, et In la matrice identité de taille n ×n.
Calcul du partitionnement
La forme générale de la méthode de calcul permettant d’obtenir la partition nous est
donnée dans l’algorithme 1. On calcule les vecteurs propres ui de la Laplacienne, normalisée
où non. Nous pouvons alors créer la matrice U donc les colonnes sont les vecteurs ui. Les
lignes de U vont former les vecteurs {y1,..., yn}, chaque vecteur yi étant associé au nœud
i.
Nous allons ensuite partitionner l’espace formé par les points yi en k classes Ci à l’aide
d’un algorithme des k-moyennes. Cet algorithme permet de diviser un espace de n points
en k parties uniformes. Sa version la plus populaire est l’algorithme de L [L 1982],
aussi connu sous le nom d’itérations de V.
Dans le cas où la Laplacienne utilisée est L
sym, il est nécessaire de normaliser les lignes
deU. Cela est dû au fait que l’utilisation de L
sym réduit la différence entre les valeurs propres,
ce qui réduit la précision de l’algorithme des k-moyennes, et donc la qualité de la partition.
Les nouvelles valeurs de U sont alors :
u
′
i j =
ui j
√∑
k u
2
i k
704.2. Approches statiques
.
2
5
4
3
1
6
A =
0 1 0 0 1 0
1 0 1 0 1 0
0 1 0 1 0 0
0 0 1 0 1 1
1 1 0 1 0 0
0 0 0 1 0 0
L =
2 −1 0 0 −1 0
−1 3 −1 0 −1 0
0 −1 2 −1 0 0
0 0 −1 3 −1 −1
−1 −1 0 −1 3 0
0 0 0 −1 0 1
F 4.4 : Matrice d’adjacence et Laplacienne non-normalisée d’un graphe.
4.2.5 Approches bio-inspirées
Certaines techniques d’optimisation, inspirées de phénomènes que l’on trouve dans la
nature, peuvent être utilisées afin de calculer une partition du graphe. C’est le cas du recuit
simulé ou encore des algorithmes génétiques.
Recuit simulé
Le recuit simulé [K, V et G 1983 ; Č 1985] s’inspire de la
technique du recuit utilisé en métallurgie afin de modifier les caractéristiques d’un métal.
Elle consiste à augmenter progressivement la température du système puis à procéder à un
refroidissement contrôlé. Appliquée à l’optimisation, cette technique consiste à minimiser
l’énergie E que l’on attribue à la solution. On part d’une solution initiale dont on calcule la
71. R
Algorithme 1 : Calcul d’une partition à l’aide de la théorie spectrale
Entrées :
— G, un graphe dont une cherche une partition en k parties
Sorties :
— S, la solution
1 début
2 L ← calcul de la Laplacienne ;
3 u1,...,uk ← calcul des k premiers vecteurs propres de L ;
4 U ←
u11
... uk1
... ... ...
u1n
... ukn
;
5 pour i ∈ {1,...,n} faire
6 yi ← i
ème ligne de U ;
7 fin
8 {C1,...,Ck } ← k-means({y1,..., yn});
9 retourner S = {A1,..., Ak }, Ai = {j | y j ∈Ci}
10 fin
valeur initiale de E, E0. On attribue au système une température T , initialement fixée à une
valeur élevée T0. À chaque étape, on procède à une modification de la solution en calculant,
selon une méthode à définir, la variation d’énergie ∆E que cette solution apporte. Si
∆E est négatif, on procède à la modification de la solution ; sinon, on procède à cette modification
avec une probabilité e
−
∆E
T . On procède à une diminution de la température T soit
de manière continue, soit par palier au bout d’un certain nombre d’itérations. L’algorithme
(cf.algorithme 2) se termine lorsque l’on atteint une température suffisamment basse.
Algorithme génétique
Un algorithme génétique [H 1975] consiste à faire évoluer une population de solutions
initiales de telle sorte que chaque nouvelle génération soit de meilleure qualité. Pour
cela, on code les solutions sous la forme d’une chaîne, par analogie aux chaînes de nucléotides
contenues dans l’ADN. On procède à la génération d’une nouvelle population par des
mécanismes de croisement et de mutation. La figure 4.5 présente ces deux mécanismes ainsi
que le codage de la solution.
Le croisement consiste à sélectionner deux individus A et B (voire plus) parmi la population
actuelle, en fonction de leur qualité, et de les combiner afin de créer un nouvel individu.
Sélection Il s’agit du premier opérateur à définir, qui va directement influencer l’évolution
de la population. Il englobe deux notions importantes : qui peut être sélectionné, et
comment se passe la sélection. Dans [B 1994], T. B nous résume deux approches
724.2. Approches statiques
Algorithme 2 : Recuit simulé appliqué au partitionnement
Entrées :
— G, un graphe G ;
— S0, une solution initiale
Sorties :
— S, un partition de G
Données :
— T0, la température initiale ;
— Tar r e t, la température à atteindre ;
— ρ ∈]0,1[, le facteur de diminution de la température ;
1 début
2 T ← T0 ;
3 S ← S0 ;
4 tant que T > Tar r e t faire
5 pour S
′ ∈ N(S) faire
6 ∆E ←Q(S)−Q(S
′
);
7 si ∆E < 0 alors
8 S ← S
′
;
9 fin
10 sinon si aléatoire() < e
−
∆E
T alors
11 S ← S
′
;
12 fin
13 fin
14 T ← T ×ρ ;
15 fin
16 retourner S
17 fin
qui définissent quelles populations sont en mesure de se reproduire. La première, nommée
(µ+λ)-sélection, implique que les parents et leurs descendants peuvent se reproduire. Au
contraire, la sélection (µ,λ) indique que seuls les descendants participent à la reproduction,
et dans ce cas, chaque population ne vit que pour une étape de l’algorithme. La sélection
(µ+λ) permet de maintenir des individus de bonne qualité sur le long terme, mais de ce fait,
nous augmentons le risque que la population de solutions se cantonne autour d’un optimum
local.
Lorsque l’ensemble des individus sélectionnables est établi, il faut procéder à la sélection.
Il existe différentes méthodes utilisant la qualité des individus et l’aléatoire. La pression
de sélection définit le degré d’importance de la qualité dans la sélection. Plus elle sera élevée,
meilleurs seront les individus sélectionnés. La méthode standard consiste à utiliser la qualité
d’un individu de manière à ce que sa chance d’être sélectionné soit proportionnelle à sa
73. R
qualité. D’autres méthodes existent, comme par exemple la sélection par tournoi [M et
G 1995], dans laquelle on sélectionne s compétiteurs, dont on retient le meilleur.
Croisement On choisit ensuite un locus qui correspond à une position dans la chaîne codant
la solution. La chaîne de A est alors coupée du début jusqu’au locus, puis est combinée
avec la chaîne de B, elle-même coupée du locus à la fin de la chaîne.
L’intérêt de cette opération est remise en question [C et F 1999], du fait
qu’il est nécessaire qu’elle soit adaptée au problème pour être efficace. Or si on utilise une
méthode dédiée à un problème dans un contexte plus général, la qualité du résultat risque
d’être pire que celui obtenu via une méthode aléatoire.
Mutation La mutation permet d’insérer de l’aléatoire en provoquant des modifications
dans les chaînes codant les solutions. Ce mécanisme va ainsi permettre d’explorer plus en
profondeur l’espace des solutions, en évitant de se cloisonner dans des optima locaux.
Ces mécanismes vont permettre la création d’une nouvelle population de solutions, de
meilleure qualité que la précédente. On peut alors reproduire l’étape de création d’une nouvelle
population jusqu’à atteindre une qualité souhaitée ou dépasser un nombre maximum
itérations.
Colonie de fourmis
Nous verrons par la suite que nous utilisons un algorithme à base de colonie de fourmis
pour le partitionnement du graphe (cf.10.2). Des approches similaires existent dans la littérature
comme c’est le cas de celle proposée par Pascale K et Dominique S dans
[K et S 1994] qui est appliquée aux graphes statiques. L’algorithme utilise q espèces
d’animats pour déterminer une partition de taille p du graphe, avec q ≥ p. Les animats
vont se reproduire et mourir à un certain âge. La solution de partitionnement est donnée par
la quantité d’animats sur les nœuds : lorsqu’une espèce est majoritairement présente sur
un nœud, on dit alors que ce nœud est colonisé par l’espèce. L’homéostasie de ce système
repose sur deux mécanismes de rétroaction : une rétroaction négative induite par la mort
des animats lorsque leur âge dépasse une limite maximale, et une rétroaction positive grâce
à la reproduction des animats lorsqu’ils se trouvent sur un nœud colonisé par leur espèce.
Les animats se déplacent sur le graphe de manière à favoriser les nœuds colonisés par leur
espèce et fuir le reste.
Dans [K, L et S 1997], les auteurs précédents en collaboration avec
Paul L proposent un algorithme utilisant des colonies de fourmis. Il s’agit cependant
d’un modèle de fourmi différent de celui que nous allons manipuler du fait de l’absence de
phéromones. Le graphe est projeté dans un espace que les fourmis vont pouvoir parcourir,
avec la capacité de déplacer des nœuds. Cette méthode n’est pas sans rappeler celle du tri
du couvain [F et S-F 1992]. Les fourmis sont donc capables de transporter
un nœud qui se trouverait sur leur position puis de le déposer à un autre point de l’espace
après un certain nombre d’itérations. La probabilité de transporter un nœud augmente
744.2. Approches statiques
Algorithme 3 : Algorithme génétique appliqué au partitionnement
Entrées :
— G, un graphe
Données :
— p, nombre d’individus par population
— Qmax , qualité maximale souhaitée
— itérationsmax , nombre maximal d’itérations de l’algorithme
Sorties :
— S, une partition de G
1 début
2 P0 ←ensemble initial de p solutions ;
3 itérations ← 0 ;
4 répéter
5 Qmax ← 0 ;
6 itérations ← itérations+1 ;
7 pour tous les Si ∈ P0 faire
8 Qi ←Q(Si);
9 Qmax ← max(Qmax ,Qi);
10 fin
11 P1 ← ; ;
/* On normalise la suite des Qi pour obtenir une suite dont
la somme est égale à 1. Celle-ci est utilisée par la suite
comme distribution de probabilités. */
12 d = normaliser({Qi},Qmax );
13 pour i ∈ {1,...,p} faire
/* la fonction croisement({Si},{pi}) choisit deux individus à
l’aide de la distribution de probabilités {pi}, puis
procède à un croisement de ces individus et retourne
« l’enfant » obtenu. */
14 C ← croisement(P0,d);
/* la fonction mutation(S) va modifier l’individu S par des
perturbations locales. */
15 C ← mutation(C);
16 P1 ← P1 +{C};
17 Qmax ← max(Qmax ,Q(C));
18 fin
19 P0 ← sélection(P0,P1);
20 jusqu’à Qmax ≥ Qf in ou itérations > itérationsmax ;
21 retourner S ∈ P0 tel que ∀S
′ ∈ P0, Q(S) ≥ Q(S
′
);
22 fin
75. R
.
13
9
2
5
1
6
7
8
12
11
4
10
3
Codage
1 2 3 4 5 6 7 8 9 10 11 12 13
A A A A B B B B B C C C C
.
1
2
3
4
5
6
7
8
9
10
11
12
13
Sélection reproducteurs
A B B A C B C B A A C B C
locus
C C A B A A C B B C C B A
Croisement
A B B A C B C B B C C B A
Mutation
A B B A C B C B B C C A A
F 4.5 : Codage, croisement et mutation dans un algorithme génétique. On considère
pour le codage que les nœuds peuvent être de numérotés de 1 à n, le code est alors une chaîne
de caractères où le i
ème caractère représente la classe du nœud i. Le croisement permet de
combiner les codes de deux individus, et la mutation d’ajouter de l’aléatoire.
lorsque celui-ci est isolé. De même, la probabilité de déposer le nœud transporté augmente
si la fourmi est entourée de nœuds similaires. La solution émerge du fait qu’en déplaçant
les nœuds vers d’autres nœuds similaires, les fourmis vont faire que les nœuds d’une même
partie du graphe vont être regroupés.
4.3 Approches dynamiques
Nous avons présenté jusqu’à présent des approches qui n’ont pas la capacité de prendre
en compte la dynamique d’un graphe. Pour pouvoir en utiliser certains sur un graphe dynamique,
cela nécessiterait de devoir calculer une nouvelle solution à partir de rien à chaque
changement significatif qui surviendrait dans le graphe. D’autres peuvent être adaptés mais
n’ont pas une approche prévue pour la dynamique et n’apportent donc pas les performances
souhaitées. C’est pourquoi nous allons à présent nous intéresser aux approches permettant
de gérer cette dynamique en adaptant une solution préalablement calculée aux modifications
du graphe.
764.3. Approches dynamiques
4.3.1 Approches par diffusion
Les algorithmes de diffusion constituent un premier type d’approche qui permet de prendre
en compte la dynamique. Cependant, cette méthode ne manipule pas de graphe, mais seulement
un ensemble d’entités.
On considère ici que le réseau formé par les ressources sur lesquelles nous souhaitons
distribuer l’application n’est pas complet. Chaque ressource n’est donc pas en mesure de
communiquer, et donc d’échanger une entité, avec n’importe quelle autre mais seulement
avec un nombre restreint de voisins. Chaque ressource se voit attribuer une température qui
correspond à la quantité d’entités qu’elle héberge actuellement, et donc à sa charge de calcul.
Cette approche s’inspire alors de la manière dont la chaleur se diffuse des points chauds
aux points froids pour échanger des entités entre les ressources de manière à équilibrer la
température de ces ressources.
La diffusion peut se faire de deux façons. Tout d’abord, de manière globale comme c’est
le cas dans [H.-C. L et R 1992]. L’algorithme opère de manière centrale avec
une vue globale sur les ressources qui lui permet de déterminer une solution de répartition
des entités. Au contraire, l’algorithme de diffusion peut être lui même réparti sur l’ensemble
des ressources. Chaque instance de l’algorithme ne possède alors qu’une vue locale des ressources
: celle sur laquelle il est hébergé, et celles auxquelles cette dernière est connectée.
L’inconvénient des algorithmes de diffusion est lié au fait qu’il n’y a pas d’utilisation d’un
graphe et donc de prise en compte des interactions qui existent entre les entités, or il s’agit
d’un des objectifs que nous nous sommes fixés.
4.3.2 Approches par particules
L’approche particulaire proposée dans [H et S 1995] permet d’ajouter aux algorithmes
de diffusion cette prise en compte des interactions entre les entités. Cet algorithme
s’inspire de la stabilisation que l’on obtient en plaçant des fluides de viscosités différentes
dans un même bassin. Il considère un ensemble de tâches T , l’équivalent de nos
entités, comme étant les particules de fluides ; les communications entre ces tâches sont
utilisées pour définir la cohésion entre les particules. La charge potentielle des machines,
quant à elle, est utilisée pour définir une force de gravitation. Le coût de la migration d’une
tâche est alors défini comme une force de friction qui va permettre d’éviter les migrations
intempestives et participer à la stabilisation du système.
Les auteurs définissent donc trois forces :
— l’équilibrage, qui va permettre de prendre en compte la charge des ressources ;
— la cohésion, elle correspond à laforce induite par les communications entre les tâches ;
— la friction, son rôle est de limiter la quantité de migrations.
Ces forces sont respectivement pondérées par les constantes globales cl b, ccomm et c f r i c t.
Pour une tâche t, dont le nombre d’instructions est st, et l’emplacement l oc(t) = j, la
77. R
force d’équilibrage qui est exercée par une ressource k voisine de j est définie par :
f
j→k
l b (t) = cl b
V
j
l oad +1
V
k
l oad +1
(4.2)
V
k
l oad représente la mesure de la charge de la ressource k et peut être définie de plusieurs
façons, la plus précise étant :
V
k
l oad =
1
µk
∑
t|l oc(t)=k
st (4.3)
µk permet de définir la vitesse de calcul de la ressource k, ce qui permet de prendre en considération
les capacités de chaque ressource. La force de cohésion, quant à elle, est définie
par :
f
j→k
comm(t) = ccomm (
V
j
comm(t)−V
k
comm(t)
)
(4.4)
V
k
comm(t) correspond au potentiel de communication de la tâche t sur la ressource k :
V
k
comm(t) =
∑
t
′∈T
a
(
k,l oc(t
′
)
)
· c(t,t
′
) (4.5)
a(j,k) définit le coût d’une communication entre les ressources k et j. L’intensité des communications
entre deux tâches t et t
′
est donnée par c(t,t
′
). En cas d’absence de communications
entre les tâches, c(t,t
′
) est nulle.
Enfin, la force de friction appliquée à la tâche t est la suivante :
f
j→k
f r i c t(t) = −c f r i c tdt a(j,k) (4.6)
dt permet de définir le coût de la migration de la tâche t en mesurant la quantité de données
qu’il serait nécessaire de transférer dans l’hypothèse de cette migration.
La force finale exercée sur la tâche t, située sur la ressource j, par la ressource k est
donc :
f
j→k
r es (t) = f
j→k
l b (t)+ f
j→k
comm(t)+ f
j→k
f r i c t(t) (4.7)
Nous avons vu des méthodes de partitionnement du graphes dans lesquelles il est né-
cessaire d’identifier des groupes de nœuds de manière à obtenir une faible quantité d’arêtes
entre les groupes. La détection de groupes à l’intérieur desquels les membres entretiennent
des interactions qui se démarquent des interactions avec l’extérieur du groupe relève du domaine
de la détection de communautés.
4.3.3 Diffusion de labels
Dans [R, A et K 2007], les auteurs proposent de détecter les communautés,
dans des réseaux à grande échelle, à l’aide d’un mécanisme de diffusion de labels.
Dans ce type d’algorithme, on considère que chaque nœud du réseau possède un label qui
784.3. Approches dynamiques
définit la communauté dont il fait partie. Un nœud choisit alors de rejoindre la communauté
la plus présente parmi ses voisins. On procède alors par itération, le nouveau label L
′
x
(t)
d’un nœud x est calculé en fonction du label courant de ses voisins xi :
L
′
x = f
(
Lx1
,...,Lxk
)
(4.8)
La fonction f retourne le label dont la fréquence est la plus importante parmi les voisins.
Pour pallier l’oscillation de labels qui peut apparaître en cas de présence de sous-graphe biparti,
U. N. R et al.proposent de désynchroniser le calcul du label d’un nœud en
utilisant les labels de ses voisins qui ont déjà été calculés pour l’étape t :
L
′
x = f
(
L
′
x1
,...,L
′
xm
,Lxm+1
...,Lxk
)
(4.9)
Cet algorithme possède un inconvénient : il peut mener à la production de super-communautés.
Ces structures sont liées à l’aspect épidémique de l’algorithme faisant que les communautés
trop faiblement connectées sont absorbées pour former une communauté de plus
haut niveau.
Ian X.Y. L et al.étudient et étendent, dans [L et al. 2009], l’algorithme par
diffusion de labels cité ci-dessus, et en améliorent d’une part la complexité, et d’autre part
la qualité de la détection. Chaque label L se voit attribuer un score sx (L) en chaque nœud x
du réseau. Ce score va décroître à chaque itération. Le calcul du nouveau label de x devient
alors :
L
′
x = argmax
L
∑
x
′∈Nx
sx
′ (Lx
′)·d(x
′
)
m ·wx,x
′ (4.10)
Nx correspond à l’ensemble des nœuds x
′
connectés à x par une arête dont le poids est
donné par wx,x
′. d(x) est une mesure permettant de comparer les nœuds entre eux ; il peut
s’agir par défaut du degré. La constante m permet de relativiser l’importance de cette mesure
d dans le calcul. La décroissance des scores est effectuée à l’aide de la constante δ de la façon
suivante :
s
′
x
(L
′
x
) =
(
max
x
′∈Nx (Lx )
sx (Lx
′)
)
−δ (4.11)
où Nx (Lx ) désigne l’ensemble de voisins x
′ de x tel que Lx
′ = Lx .
Pour pallier la création de super-communautés, les auteurs proposent une seconde modification
qui consiste à utiliser la distance dG à l’origine du label L, notée O(L), dans la mise
à jour du score. Celle-ci devient alors :
s
′
x
(Lx ) = 1−δ(dG (O(Lx ),x)), (4.12)
avec
dG (O(Lx ),x) = 1+ min
x
′∈Nx (Lx )
dG (O(Lx ),x
′
). (4.13)
Les auteurs montrent que l’algorithme ainsi modifié obtient de meilleurs résultats, temporel
et qualitatif, sur le graphe d’un réseau social composé d’un million de nœuds pour 58
millions d’arêtes.
79. R
Références
B, Thomas (1994). Evolutionary algorithms in theory and practice. T. Bäck.
Č, V. (1985). “Thermodynamical approach to the traveling salesman problem : An ef-
ficient simulation algorithm”. In : Journal of Optimization Theory and Applications 45,
p. 41–51.
C, Kumar et David B F (1999). “Fitness distributions in evolutionary computation
: motivation and examples in the continuous domain”. In : BioSystems 54 (1),
p. 15–29. : 0303-2647.
C, Fan RK (1997). Spectral graph theory. T. 92. AMS Bookstore. : 0821803158.
C, Aaron, MarkN et Cristopher M (2004). “Finding community structure
in very large networks”. In : Physical review E. APS 70 (6), p. 066111.
F, C. M. et R. M. M (1982). “A linear time heuristic for improving network
partitions”. In : ACM IEEE Design Automation Confe- rence, pages, p. 175–181.
F, Nigel R. et A. B. S-F (1992). “Brood sorting by ants : distributing the
workload over the work-surface”. In : Behavioral Ecology and Sociobiology. Springer 30
(2), p. 109–123.
G, Michael R et David S J (1979). Computers and intractability. T. 174. Freeman
New York.
H, Hans-Ulrich et Michael S (1995). “Decentralized dynamic load balancing : The
particles approach”. In : Information Sciences. Elsevier 84 (1), p. 115–128.
H, John H. (1975). Adaptation in Natural and Artificial Systems. University Michigan
Press.
K, George et Vipin K (1999). “A fast and high quality multilevel scheme for partitioning
irregular graphs”. In : SIAM, Journal on Scientific Computing 20 (1), p. 359–
392.
K, B.W. et S. L (1970). “An Efficient Heuristic Procedurefor Partitioning Graphs”.
In : The Bell system technical journal 49 (1), p. 291–307.
K, Scott, Mario P V et D. G (1983). “Optimization by simulated annealing”.
In : science 220 (4598).
K, Pascale, Paul L et Dominique S (1997). “A colony of ant-like agents for
partitioning in VLSI technology”. In : Proceedings of the Fourth European Conference on
Artificial Life. MIT, p. 417–424.
K, Pascale et Dominique S (1994). “Emergent colonization and graph partitioning”.
In : Proceedings of the third international conference on Simulation of adaptive
behavior : from animals to animats 3, p. 494–500.
L, Ian XY et al. (2009). “Towards real-time community detection in large networks”.
In : Physical Review E. APS 79 (6).
L, H.-C. et Cauligi S. R (1992). “A dynamic load-balancing policy with a
central job dispatcher (LBC)”. In : Software Engineering, IEEE Transactions on 18 (2),
p. 148–158.
80Références
L, Stuart (1982). “Least squares quantization in PCM”. In : Information Theory, IEEE
Transactions on 28 (2), p. 129–137. : 0018-9448.
M, Brad L. et David E. G (1995). “Genetic Algorithms, Tournament Selection,
and the Effects of Noise”. In : Complex Systems 9, p. 193–212.
N, Mark E. J. (2004). “Fast algorithm for detecting community structure in networks”.
In : Physical review E. APS 69 (6), p. 066133.
P, Alex, Horst D. S et Kang-Pu L (1990). “Partitioning sparse matrices with
eigenvectors of graphs”. In : SIAM, Journal on Matrix Analysis and Applications 11 (3),
p. 430–452.
R, Usha Nandini, Réka A et Soundar K (2007). “Near linear time algorithm
to detect community structures in large-scale networks”. In : Physical Review E.
APS 76 (3), p. 036106.
S, Peter et Christian S (2013). “Think Locally, Act Globally : Highly Balanced
Graph Partitioning”. In : Experimental Algorithms. Springer, p. 164–175. : 3642385265.
T, J. D., K. D. D et J. E. F (2006). “Partitioning and Dynamic Load Balancing
for the Numerical Solution of Partial Differential Equations”. In : Numerical solution
of partial differential equations on parallel computers. Bruaset, Are Magnus. Springer.
V L, Ulrike (2007). “A tutorial on spectral clustering”. In : Statistics and computing
17 (4), p. 395–416. : 0960-3174.
81C
5
C
5.1 Système distribué . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.1.1 Le système distribué, cette super-machine . . . . . . . . . . 84
5.1.2 Réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.1.3 Stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1.4 Intergiciel . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2 Différents types de systèmes distribués . . . . . . . . . . . . . . . . 89
5.2.1 Grappe de calcul . . . . . . . . . . . . . . . . . . . . . . . 89
5.2.2 Grille de calcul . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.3 Cloud computing . . . . . . . . . . . . . . . . . . . . . . . 91
5.2.4 Écosystème computationnel . . . . . . . . . . . . . . . . . 92
5.3 Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3.1 Classification . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3.2 Marche aléatoire dans un graphe . . . . . . . . . . . . . . . 97
5.3.3 Algorithmes fourmis . . . . . . . . . . . . . . . . . . . . . 98
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Jusqu’à présent, nous nous sommes intéressés à la modélisation des réseaux d’interactions
dans le chapitre 3, puis à la répartition de charges dans le chapitre 4. Ces deux éléments
nous fournissent la base théorique et algorithmique de la distribution. Dans ce chapitre, nous
allons nous pencher sur les modèles existants de systèmes distribués, en tant qu’infrastructure,
ainsi que sur l’algorithmique possible dans un tel environnement.
83. C
5.1 Système distribué
Avant de pouvoir procéder à un calcul distribué, il est nécessaire de mettre en place un
environnement dans lequel nous allons pouvoir exécuter nos algorithmes. Vu de l’extérieur,
cet environnement peut être considéré comme une machine de haut niveau. Nous allons
donc examiner, dans un premier temps, de quoi cette machine est constituée, et comment
définir l’architecture de son fonctionnement.
5.1.1 Le système distribué, cette super-machine
Un système distribué est composé de machines qui vont être reliées grâce à un réseau et
combinées à des ressources : capacité de calcul, mémoire, stockage, voire des capteurs qui
vont servir d’instruments de mesure permettant d’obtenir de l’information. Nous utilisons le
terme de “machine” au sens large, c’est à dire qu’il désigne n’importe quel appareil, équipé
d’au moins un processeur et de mémoire, qui lui permettent d’exécuter des flux d’instructions.
Dans le cadre de nos travaux, ces flux d’instructions qui s’exécutent sur un ensemble
de données forment, à un plus haut niveau, le comportement des entités. La manière dont
les processeurs, d’une même machine, se synchronisent pour exécuter les instructions, permet
une première classification des machines, proposée par Michael J. F en 1966 dans
[F 1966] (cf.figure 5.1) :
SISD « Single Instruction, Single Data stream », les instructions sont exécutées de manière
séquentielle sur une donnée à la fois ;
SIMD « Single Instruction, Multiple Data streams », une même instruction est exécutée
sur plusieurs données différentes ;
MISD « Multiple Instructions, Single Data stream », plusieurs instructions sont exécutées
sur une même donnée ;
MIMD « Multiple Instructions, Multiple Data streams », plusieurs instructions sont exécutées
sur des données différentes.
Cette classification permet de définir comment les processeurs sont dépendants les uns
des autres. Le type SISD correspond au fonctionnement d’une machine mono-processeur,
telle que décrite dans l’architecture de V N [V N 1993]. Les types SIMD
et MISD représentent des architectures multi-processeurs, où chaque processeur est lié aux
autres soit pour l’instruction qui est exécutée, soit pour la donnée sur laquelle l’instruction
est exécutée. Les processeurs dédiés aux graphismes sont un exemple d’architecture SIMD.
Un processeur graphique est composé de nombreux processeurs de flux (plusieurs milliers sur
des cartes haut de gamme récentes) fonctionnant en mode SIMD. On peut ainsi exécuter une
même fonction (les instructions) sur les points (les données) en parallèle.
L’architecture MIMD représente un système composé de plusieurs processeurs capables
de fonctionner indépendamment les uns des autres. Les ordinateurs personnels actuels sont
principalement de type MIMD : bien qu’ils n’aient qu’un seul processeur physique, celui-ci
est divisé en plusieurs processeurs logiques (les « cœurs ») qui sont capables de fonctionner
845.1. Système distribué
.
SISD
instructions
données
P
MISD
instructions
données
P P
SIMD
instructions
données
P
P
MIMD
instructions
données
P
P
F 5.1 : Classification de l’architecture des machines proposée par Michael J. F. Les
processeurs sont représentés par .P .
indépendamment des autres. Dans [M 2003], Richard S. M résume cette
architecture en quatre points :
— chaque processeur exécute sa propre séquence d’instructions ;
— chaque processeur travaille sur une partie différente du problème ;
— chaque processeur communique des données aux autres ;
— les processeurs peuvent avoir à attendre d’autres processeurs ou à attendre pour obtenir
un accès à des données.
L’architecture d’un système distribué est de type MIMD. Nous avons en effet un problème
divisé en différentes parties : les entités. Chaque entité possède sa propre séquence
d’instructions et va être attribuée à un processeur. Les interactions entre les entités impliquent
un échange de données entre les processeurs.
85. C
On peut voir l’architecture MIMD comme un ensemble d’architectures SISD dont il faudrait
définir le couplage. E. E. J propose une classification qui permet d’étendre type
MIMD [J 1988], et de prendre en compte ce couplage. Il utilise pour cela la manière
dont la mémoire est répartie sur le système et des méthodes de communication entre les
processeurs. La mémoire peut être commune à l’ensemble des machines, on dira qu’elle est
globale ; ou elle peut être distribuée sur ce même ensemble. Les communications peuvent se
faire directement à l’aide de variables, ou indirectement par transmission de messages. La
classification qui en découle est donc :
GMSV « Global Memory, Shared Variables » ;
GMMP « Global Memory, Message Passing » ;
DMSV « Distributed Memory, Shared Variables » ;
DMMP « Distributed Memory, Message Passing ».
Le type GMSV regroupe principalement les systèmes où le couplage entre les processeurs
est fort, comme dans le cas de machines multi-processeurs. Les systèmes distribués que
nous manipulons ont un couplage faible entre les processeurs, la mémoire est répartie sur
l’ensemble des machines, et les communications nécessitent l’envoi des messages ; c’est
pourquoi les systèmes distribués, tels que nous les appréhendons, seront principalement de
type DMMP.
5.1.2 Réseaux
Le réseau est un des éléments clefs du système. Grâce aux communications qu’il permet
entre les machines, les entités vont avoir la possibilité d’interagir, tout en étant situées sur
des machines différentes, et de migrer d’une machine à une autre.
Un réseau est caractérisé par la latence d’une communication qui transite par ce réseau,
ainsi que par sa bande passante, c’est à dire la vitesse à laquelle il est possible de transférer
de l’information. La latence d’une communication entre deux machines reliées à l’aide d’une
fibre optique va être différente de celle nécessaire à l’établissement d’une connexion à un
satellite via les ondes. La latence peut être due à une limitation technique, et dans ce cas
être constante et prévisible. Elle peut aussi être liée à des conditions variables, comme par
exemple dans le cas d’un réseau mobile où la connexion entre deux machines peut varier
en fonction des obstacles, de la météo, etc…Les réseaux tolérants aux délais [F 2003 ;
C et al. 2012] forment un domaine de recherche visant à gérer les problèmes liés à
ce type de délais.
Chaque réseau possède une topologie qui établit les connections entre les machines.
Cette topologie va donc nous permettre de définir comment circulent les données au sein
du réseau. Elle est à la fois physique et logique, la topologie physique apportant un certain
nombre de contraintes que la topologie logique doit respecter. Un réseau de type Token
Ring par exemple, possède une topologie physique en forme d’étoile : chaque machine
est connectée à un élément central appelé « Unité d’Accès au Média » (MAU, Media Access
Unit). En revanche, la topologie logique du Token Ring forme un anneau : chaque machine
peut communiquer avec deux autres, elle reçoit des informations de l’une, et peut en envoyer
865.1. Système distribué
à l’autre ; la communication est donc circulaire. On peut alors représenter cette topologie à
l’aide d’un graphe, dont les nœuds représentent les machines, et où une arête entre deux
machines symbolise la possibilité d’une communication directe.
Plusieurs réseaux peuvent être interconnectés afin de créer un réseau de plus grande
envergure. L’exemple le plus connu est naturellement celui d’Internet, qui n’est autre qu’une
interconnexion, à l’échelle mondiale, d’une multitude de sous-réseaux locaux.
5.1.3 Stockage
Les ressources désignent ce qui est nécessaire à l’exécution des entités, et ce qu’elles
vont pouvoir exploiter. D’après ce que nous avons vu précédemment, les ressources principales
sont, d’une part, les ressources de calcul, c’est à dire les processeurs, et d’autre part,
la mémoire. Les processeurs vont permettre d’exécuter les entités et donc de leur donner
la possibilité d’agir dans l’application distribuée, tandis que la mémoire est nécessaire pour
stocker la structure représentant l’état de l’entité.
D’autres types de ressources peuvent être disponibles. L’espace de stockage en constitue
une grande partie. On va distinguer :
— un stockage direct associé à une seule machine, c’est à dire que l’accès au stockage
par cette machine ne nécessite pas l’utilisation du réseau ;
— un stockage centralisé accessible par l’ensemble des machines (ou limité à un groupe
de machines) ;
— un stockage décentralisé.
On peut de plus distinguer un stockage sous forme de fichiers, d’un stockage dans une base
de données. Un stockage centralisé implique la mise en place d’une machine dédiée (il peut
s’agir éventuellement d’une simple façade virtuelle) à laquelle les machines vont pouvoir se
connecter pour accéder aux ressources de stockage. Il peut s’agir par exemple de « serveurs
de stockage en réseau » (N.A.S.) dont l’accès se fait à l’aide de systèmes de fichiers dé-
diés ; ou encore de « réseaux de stockage » (S.A.N.) qui opèrent à une couche inférieure
aux fichiers, au niveau des blocs de données, permettant ainsi à une machine du système
d’accéder à une zone de stockage distante de manière locale.
Un stockage distribué implique que ce stockage soit formé par l’agrégation de stockages
directs associés à chaque machine du système. C’est le cas, par exemple, dans un réseau
peer-to-peer où les fichiers sont séparés en morceaux qui sont hébergés, avec de la redondance,
sur les machines. Une machine, souhaitant obtenir un fichier, doit alors obtenir une
liste des machines possédant des morceaux de ce fichier, puis télécharger l’ensemble de ces
morceaux afin de pouvoir reconstituer le fichier.
Le stockage distribué est un système dans le système. Son objectif est de fournir un accès
concurrent à des données tout en permettant aux machines de s’abstraire de la gestion du
matériel. Il doit donc être en mesure de gérer les pannes, et d’être extensible afin de s’adapter
aux besoins des machines.
87. C
5.1.4 Intergiciel
L’intergiciel est la couche logicielle qui va venir s’insérer entre le système d’exploitation
des machines et l’application distribuée. Il s’agit de la « glue » qui permet de maintenir ensemble
les différentes parties de l’application. Il permet ainsi de gérer l’ensemble des ressources
disponibles et fournir à cette application une abstraction de l’environnement. Si l’on
voit le système distribué comme une machine de haut niveau, l’intergiciel en est son système
d’exploitation, qui va permettre aux entités de communiquer entre elles et d’échanger
de l’information. Il peut aussi être utilisé sur une unique machine pour mettre une communication
entre différents processus.
Il est d’autant plus nécessaire lorsque les ressources sont hétérogènes. D’une part, concernant
les machines, dont les ressources matérielles ainsi que le système d’exploitation peuvent
différer. Et d’autre part, concernant la partie réseau qui peut inclure différents protocoles de
communication que l’intergiciel doit être capable de gérer.
La technologie RMI (pour « Remote Method Invocation ») de Java [W, R
et W 1996] est un exemple d’intergiciel qui fournit les moyens d’invoquer un objet situé
sur une machine distante. Cette technologie est décentralisée, chaque machine virtuelle
Java hébergeant un serveur de registres, qui répertorie les entités hébergées et permet la
communication entre les machines. Une entité (ici un objet) qui souhaite en contacter une
autre doit connaître la localisation de celle-ci et son identifiant unique. À partir de ces informations,
le registre local va fournir un objet représentant localement l’entité distante, mais
dont les méthodes seront routées vers la dite entité.
Approche synchrone et asynchrone
Les intergiciels tels que RMI (CORBA [OMG 1991], DCOM [R 1997], etc…)
rentrent dans la catégorie des « Remote Procedure Call » (littéralement Appel de Procédure
Distante). Ils permettent d’abstraire l’invocation de morceaux de code distants. L’inconvé-
nient vient du fait que cette technique est généralement synchrone, l’invocateur devant attendre
la fin de l’exécution de la procédure invoquée. Or, si cela ne pose guère de problème
lorsque la procédure est locale, il en est tout autre lorsque celle-ci est distante : les latences
induites par les communications nécessaires peuvent avoir un impact fortement négatif sur
les performances globales de l’application distribuée.
Une solution a ce problème est d’utiliser un type de communication asynchrone comme
c’est le cas dans le modèle d’intergiciel orienté message (MOM, « Message-oriented Middleware
») [C 2004]. Dans ce modèle, l’invocation, par une entité source, d’une procé-
dure d’une entité cible prend la forme d’un message. L’entité source émet donc un message
contenant les informations nécessaires à l’invocation, puis le message est transmis jusqu’à
la machine hébergeant l’entité cible. Dès que cette dernière devient disponible, elle peut
alors exécuter la procédure puis répondre à l’entité source. Le caractère asynchrone de cette
technique vient du fait qu’une fois le message émis, l’entité source peut continuer à effectuer
d’autres tâches et revenir sur le traitement en cours une fois que la réponse de la cible
885.2. Différents types de systèmes distribués
est disponible. On obtient alors un état non-bloquant de l’entité source lorsqu’elle procède à
une invocation distante. Ce modèle permet donc de gérer des réseaux possédant une latence
élevée.
Approche décentralisée
Certains intergiciels ont une architecture décentralisée. C’est le cas d’intergiciels utilisant
des protocoles réseaux pair-à-pair [J et L 2004], ou d’intergiciels dédiés aux
grilles [L et A 2004] (cf.5.2.2 pour une présentation des grilles). Une approche
décentralisée permet d’augmenter la tolérance aux fautes du système qui n’est plus dépendant
de quelques points centraux. De plus, elle permet de mieux répartir la charge du réseau
du fait qu’une connexion peut être établie directement avec la machine visée, sans nécessiter
le passage par un serveur central, véritable goulot d’étranglement des communications.
Il existe des intergiciels hybrides [S 2001] qui combinent les avantages des
deux approches, centralisée et décentralisée. Ceci en utilisant un réseau pair-à-pair pour les
communications, sur lequel s’ajoutent certains services ayant une architecture client/serveur.
5.2 Différents types de systèmes distribués
Plusieurs éléments vont permettre de caractériser un système distribué. Tout d’abord,
la façon dont sont réparties les ressources. Celles-ci peuvent être homogènes, c’est à dire
que chaque machine va apporter les mêmes ressources ; ou au contraire hétérogènes, dans
ce cas les ressources peuvent être variables en fonction des machines.
5.2.1 Grappe de calcul
Une grappe de calcul, encore appelée ferme de calcul, ou tout simplement par son nom
anglais cluster, désigne un système distribué dans lequel l’ensemble de machines qui le composent,
apparaît comme une unique machine. Le réseau, reliant les machines entre elles,
est particulièrement rapide comparé à d’autres modèles de systèmes distribués. La topologie
logique d’une grappe est centralisée. On peut voir sur la figure 5.2 une création « maison »
d’une grappe à l’aide d’ordinateurs à bas coût, les R P .
Ce type d’architecture est particulièrement adaptée pour des services nécessitant une
haute disponibilité ou pour du calcul intensif. Une grappe est un supercalculateur qui est
dédié au calcul. Chaque machine possède son propre système d’exploitation. Un répartiteur
de charge est placé en amont de ces machines, et reçoit les demandes de calcul.
Par exemple, une grappe est idéale pour servir les requêtes d’un service web. Les requêtes
sont envoyées au répartiteur de charge qui les distribue aux machines composant
la grappe de manière à répartir au mieux la charge. On peut ainsi maintenir une qualité de
service optimale même en cas de trafic important.
1. http://www.raspberrypi.org/
89. C
F 5.2 : Une grappe réalisée avec des R P.
L’ensemble des machines composant la grappe est évolutif : on peut ajouter ou retirer
des machines pour adapter dynamiquement la dimension de cette grappe pour que sa taille
corresponde aux besoins réels actuels.
5.2.2 Grille de calcul
Là où une grappe de calcul repose sur du matériel dédié, la grille va, quant à elle, regrouper
diverses machines disponibles pour former le système distribué. Le réseau, reliant les
machines entre elles, est donc potentiellement de plus grande envergure, et possède donc
des performances plus faibles que le réseau dédié d’une grappe.
Le terme de grille est présenté par Ian F et Carl K, dans un livre dédié aux
grilles de calcul [F et K 2003], comme une analogie avec le réseau électrique
(« power grid » en anglais) qui permet de fournir un accès universel à une ressource :
.
“
The word Grid is used by analogy with the electric power grid, which provides pervasive
access to electricity and, like the computer and a small number of other
advances, has had a dramatic impact on human capabilities and society..
”
905.2. Différents types de systèmes distribués
Une grille de calcul offre une approche décentralisée [F 2002] permettant de faire
collaborer des machines, qui n’étaient pas initialement prévues à cet effet, afin de participer à
une tâche de plus haut niveau. Cette collaboration peut se faire à une échelle mondiale grâce
à Internet. Le projet SETI@home , initié par le Space Science Laboratory de l’université de
Californie à Berkeley, permet à des volontaires de mettre à disposition leur machine afin de
former une grille de calcul permettant d’analyser des échantillons de radiotéléscopes afin de
détecter d’éventuelles traces d’intelligence extra-terrestre. Au delà de cet objectif, il s’agit
aussi d’une preuve de concept qu’il est possible, grâce à la collaboration de volontaires, de
créer à faible coût une capacité de calcul de grande envergure.
La grille ouvre la porte à l’informatique ubiquitaire (« ubiquitous computing » ou encore
« pervasive computing »). Un utilisateur peut participer et interagir avec une grille depuis
n’importe où, pour peu qu’une connexion soit disponible, et avec n’importe quel appareil
contenant l’intergiciel adéquat. Cette interaction pouvant potentiellement se faire de façon
à ce que l’utilisateur n’en ait pas conscience. Le concept d’informatique ubiquitaire a été
introduit par Mark W [W 1991 ; W 1993] qui prédisait en 1991 que les équipements
matériels et logiciels connectés seraient un jour tellement bien intégrés dans notre
environnement qu’on n’aurait plus conscience de leur présence :
.
“
Specialized elements of hardware and software, connected by wires, radio waves
and infrared, will be so ubiquitous that no one will notice their presence..
”
5.2.3 Cloud computing
Un type de système distribué, que beaucoup côtoient sûrement sans s’en rendre compte,
est le « cloud computing » , ou informatique dans le nuage. Si le terme est sujet à un fort engouement,
sa compréhension n’en est pas pour autant des plus claires, du fait de l’abondance
des définitions que l’on trouve à son propos.
La NIST donne, dans [M etG 2011], la définition suivante du cloud computing :
.
“
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network
access to a shared pool of configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be rapidly provisioned and released
with minimal management effort or service provider interaction..
Le « nuage » est un ensemble flou de ressources, que l’on peut facilement dimension-
”
ner, et auxquelles on accède sous forme de services depuis n’importe quel point d’entrée
du réseau. Ian F et al. nous donnent une définition similaire qui plonge ce nuage dans
l’Internet [F, Z et al. 2008] :
.
“
A large-scale distributed computing paradigm that is driven by economies of scale,
in which a pool of abstracted, virtualized, dynamically-scalable, managed computing
power, storage, platforms, and services are delivered on demand to external
customers over the Internet..
2. « Search for Extra-Terrestrial Intelligence »,
”
http://setiathome.ssl.berkeley.edu/
3. National Institute of Standards and Technology
91. C
On retrouve à nouveau la notion d’ extensibilité associée au cloud computing. Contrairement
aux grilles, cette extensibilité semble principalement nécessaire pour des raisons
économiques. Ce contexte économique est aussi reflété par le fait que nous ne sommes plus
dans une optique de collaboration afin d’atteindre un objectif, mais plutôt dans une optique
de services rendus à des utilisateurs. La notion de service est omniprésente dans le cloud
computing. On parlera ainsi de « Software as a Service » (Saas), « Platform as a Service »
(Paas) et même de «Infrastructure as a Service» (IaaS). Ces concepts sont représentés dans
la figure 5.3. Le terminal d’un utilisateur ne possède plus, à proprement parler, d’applications
installées mais d’une interface qui lui permet d’accéder à un service. Si l’on considère
l’ordinateur, ou le smartphone, d’une grande partie des utilisateurs aujourd’hui, un simple
navigateur web suffit à accéder à des fonctionnalités qui auraient nécessitées des applications
dédiées il y a une dizaine d’années (emails, calendrier, stockage, cartes géographiques,
etc…).
On trouvera dans [S et K 2011], une comparaison détaillée des différences
entre les modèles de grappe, grille et cloud computing.
5.2.4 Écosystème computationnel
Nous avons vu jusqu’à présent, trois modèles de système distribué permettant de ré-
partir les parties d’une application distribuée sur un ensemble de machines. Ces modèles
supportent une dynamique qui est principalement liée au souci d’adapter la taille du système
à la dimension du problème.
Les applications que nous considérons sont d’un type particulier. Il s’agit en effet de simulations
de système complexe. Cela implique deux points importants concernant le système
distribué. Tout d’abord, les interactions existant entre les entités vont tenir le rôle principal
dans l’application, comme nous l’avons vu dans le chapitre 3. Ensuite, de ces interactions
va émerger de l’organisation qui va venir structurer le réseau d’interactions et donc apporter
de nouvelles propriétés à l’application distribuée. À ces deux points s’ajoute une forte dynamique
à la fois des entités mais aussi des interactions. Les entités ont la particularité d’être
autonomes.
Du fait de l’étroite ressemblance entre les simulations que l’on souhaite distribuer et les
écosystèmes biologiques, J. O. K, T.H et B. A.H ont introduit le modèle
d’écosystème computationnel [H 1988 ; K, H et H 1989]. Ils
s’appuient en particulier sur les mécanismes de compétition et de collaboration entre les
ressources, ainsi que sur la capacité d’adaptation du système aux perturbations. Pour cela, le
système nécessite un contrôle décentralisé, ainsi qu’un mode de communication asynchrone
entre les entités.
Dans [J et B 2008], Mariusz J et Seth B proposent une approche
thermodynamique des écosystèmes computationnels. Ils cherchent en particulier à
étudier et à comprendre les principes thermodynamiques qui régissent l’auto-organisation
dans les systèmes naturels afin d’appliquer ses principes à un écosystème computationnel.
Celui-ci s’organise alors autour d’un flux entrant d’énergie (un flux d’information) et produit
925.2. Différents types de systèmes distribués
.
Modèle .
Applications .
Runtimes .
Bases de données .
Logiciel serveur .
Virtualisation .
Matériel serveurs .
Stockage .
Réseaux .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Classique
IaaS
PaaS
SaaS
Géré par : l’utilisateur ..
.
le cloud .
F 5.3 : Répartition, entre utilisateur et fournisseur du cloud, de la gestion des diffé-
rentes couches d’un système distribué en fonction du modèle (IaaS, PaaS, SaaS).
en retour de la chaleur (le débit du système, c’est à dire le nombre de tâches achevées par
unité de temps).
Le modèle d’écosystème computationnel se rapproche d’un modèle de grille dont les
tâches seraient des entités autonomes et qui se focaliserait sur les interactions entre ces
entités. Ce rapprochement est principalement dû à la volonté d’utiliser une infrastructure
existante composée de l’agrégation d’appareils de tous les jours, plutôt que d’une infrastructure
dédiée. Bien que ces deux modèles aient une approche décentralisée des communications,
l’écosystème computationnel va plus loin dans cette démarche en décentralisant le
contrôle de l’application elle-même. Contrairement aux grilles et au cloud computing, un
écosystème computationnel ne s’oriente pas vers le calcul ou vers le service, mais considère
les choses d’une manière plus générale, ce qui permet éventuellement une cohabitation des
deux aspects.
Les propriétés que l’on souhaite voir attachées à un écosystème computationnel sont
93. C
l’adaptabilité, la robustesse et la résilience. L’aspect adaptatif signifie que le système est capable
de faire preuve d’apprentissage qu’il va pouvoir mettre à profit afin de réagir efficacement
aux perturbations. En partie grâce à cette adaptabilité, l’écosystème computationnel
tend à être robuste, c’est à dire capable de résister aux pannes ou aux défaillances pouvant
survenir dans le système. Enfin, dans le cas où des perturbations importantes ont fait que le
système a quitté sa trajectoire, celui doit être en mesure de retrouver une trajectoire similaire
stable, c’est à dire faire preuve de résilience. On tente d’obtenir ces propriétés à l’aide de
mécanismes de redondance et d’apprentissage collectif. Il s’agit bien sûr de la vision globale
d’un écosystème computationnel idéal dont nous sommes encore loin.
5.3 Algorithmique
La partie 5.1 précédente nous a permis de décrire une machine de haut niveau, composée
de l’agrégation de nombreuses machines, décuplant les capacités d’une simple machine, en
particulier la puissance de calcul et la mémoire. Ce système distribué ainsi formé va cependant
modifier nos méthodes algorithmiques, habituées à être appliquées sur des machines
monoprocesseurs.
Un algorithme centralisé considère une séquence d’instructions qui vont être appliquées
sur un ensemble de données entrantes, afin de produire une ou plusieurs données sortantes.
Un tel algorithme ne pourra donc pas profiter pleinement de la puissance de calcul fournie
par un système distribué. Il est nécessaire pour cela de décomposer l’algorithme en un ensemble
de parties, les entités, qui vont pouvoir être réparties dans le système. Ces entités
vont s’exécuter indépendamment, communiquer entre elles, et finalement aboutir à un ré-
sultat. On parle alors d’algorithmes distribués.
Gerard T nous fournit, dans son livre dédié à ce sujet [T 2000], une description des
trois points principaux qui distinguent les algorithmes distribués des algorithmes centralisés :
— absence de connaissance sur l’état global du système ;
— absence d’échelle de temps globale ;
— non-déterminisme.
Chaque entité d’un algorithme distribué ne peut utiliser qu’une quantité restreinte de
connaissances, dites locales, qui sont celles contenues sur la machine hébergeant l’entité.
Ces informations peuvent être étendues à celles que possèdent les voisins directs mais l’entité
n’a pas la possibilité de connaître l’état global du système dans lequel elle évolue. Du fait de
l’hétérogénéité de la vitesse des processeurs et de l’absence de contrôle centralisé, chaque
entité possède sa propre échelle de temps désynchronisée des autres.
5.3.1 Classification
Les algorithmes distribués peuvent être classés d’après plusieurs critères, selon Nancy
L dans [L 1996] :
— la méthode de communication entre processus ;
— le modèle temporel ;
945.3. Algorithmique
— le modèle de gestion des fautes ;
— les problèmes abordés.
La classification proposée est basée sur le modèle temporel qui semble être le critère permettant
de faire la meilleure distinction entre les algorithmes. On obtient ainsi trois classes
d’algorithmes :
— modèle synchrone ;
— modèle asynchrone ;
— modèle hybride partiellement synchrone.
Modèle synchrone
Le modèle synchrone est peu probable dans le cas d’un système distribué car, comme
nous l’avons vu, il n’y a pas de synchronisation au niveau matériel entre les processeurs du
système. Cette synchronisation peut cependant être simulée au niveau logiciel, ce qui justifie
la présence de ce modèle d’algorithmes.
On utilise pour cela une méthode de diffusion de messages dans un graphe. Le graphe
est celui dont les nœuds représentent les processeurs et dont les arêtes sont données par la
topologie logique du réseau. Chaque processeur possède un état qu’il va diffuser à ses voisins.
Chaque processeur met à jour son état à l’aide d’une fonction de transition qui considère
l’état courant et l’état des voisins. On peut alors définir une étape qui consiste pour chaque
processeur à :
1. générer le message qui sera envoyé aux voisins ;
2. envoyer ce message ;
3. lire les messages des voisins ;
4. appliquer la fonction de transition.
La fonction de transition permet d’exécuter le code des entités attachées au processeur.
On peut, grâce à ce mécanisme, diffuser un message d’arrêt par exemple, qui permettrait de
signaler la fin de l’algorithme.
Cette technique permet de définir deux types de complexité. Tout d’abord, une complexité
temporelle correspondant au nombre d’étapes nécessaires afin la finalisation de l’algorithme.
Puis une complexité en terme de communication qui correspond au nombre total
de messages non-nuls envoyés.
Modèle asynchrone
Le modèle général permettant de décrire le fonctionnement asynchrone est donné par
« l’automate d’entrée/sortie » introduit dans [L et T 1987]. Il s’agit d’une machine
à état dont les transitions sont associées à des actions de type entrée, sortie, ou interne.
Un automate e/s A est défini par sa signature S = si g (A). S est un triplet contenant l’ensemble
des actions d’entrée in(S), l’ensemble des actions de sortie out(S), et enfin celui des
actions internes int(S). L’ensemble des actions externes est défini comme l’union ex t(S) =
95. C
P.
i
send(m)i j
.
r ecei ve(m)j i
.
deci de(v)i
.
ini t(v)i
F 5.4 : Un automate e/s de processus
C.
i,j
r ecei ve(m)i,j
.
send(m)i,j
F 5.5 : Un automate e/s de communication
in(S)∪out(S), et celui des actions localement contrôléesl ocal(S) = out(S)∪int(S). L’ensemble
ac t(S) désigne l’ensemble des actions. L’automate A est alors constitué des éléments
suivants :
— si g (A), la signature de A ;
— st ates(A), l’ensemble des états de A ;
— st ar t(A) ⊆ st ates(A), l’ensemble des états initiaux ;
— t r ans(A), un ensemble de relations de transitions ;
— t asks(A), une relation d’équivalence avec l ocal(si g (A)); une tâche va permettre
de procéder à plusieurs actions locales en une seule opération.
Afin de modéliser le système distribué, il est nécessaire de définir deux types d’automates
e/s. Tout d’abord, l’automate associé à un processus Pi, symbolisé figure 5.4. Son
état initial est donné par l’action ini t(v)i où v représente une donnée d’entrée. Cette initialisation
va déclencher le processus qui aboutira sur une action finale deci de(v). Pour y
parvenir, le processus a la possibilité de communiquer avec d’autres automates grâce aux
actions send(m)i j et r ecei ve(m)j i.
Ensuite, un automate e/s de communication Ci,j qui va permettre de définir la communication
entre des processus Pi et Pj. Ce type d’automate est représenté dans la figure 5.5,
il dispose d’une action d’entrée send(m)i j et d’une de sortie r ecei ve(m)i j où m représente
le message à transmettre. Un automate e/s de communication permet par exemple de représenter
un canal de communication en mode FIFO et de définir ainsi l’ordre dans lequel
les messages envoyés seront lus.
On peut alors définir un algorithme asynchrone grâce à une composition de ces automates.
On distinguera un modèle asynchrone à mémoire partagée, d’un modèle à réseau
4. « First In, First Out »
965.3. Algorithmique
asynchrone. Dans le premier, les processus peuvent communiquer instantanément à l’aide
de variables partagées. Dans le second, les processus communiquent au travers d’un réseau.
Modèle partiellement synchrone
On considère dans ce modèle que, bien qu’il n’y ait pas de synchronisation matérielle
entre les processeurs, chaque processeur peut accéder à une horloge commune et synchroniser
son exécution par rapport à cette horloge. On peut alors reprendre le modèle précédent
d’automate en modifiant les propriétés de l’ensemble des tâches : celles-ci doivent alors être
bornées en temps.
5.3.2 Marche aléatoire dans un graphe
Nous avons abordé, dans ce qui précède, une manière générale et formelle permettant
de modéliser un algorithme distribué. Dans le cadre de nos travaux, nous manipulons un
graphe qui est réparti dans un système distribué, un écosystème computationnel, et nous
souhaitons pouvoir appliquer des algorithmes sur ce graphe.
Le système que nous utilisons est décentralisé, tant au niveau des communications entre
les machines, qu’au niveau du contrôle. Nous sommes donc dans le cas d’un modèle asynchrone
d’algorithme, dans lequel chaque processeur va avoir la possibilité d’exécuter des
actions internes et d’échanger des informations avec d’autres processeurs.
Une marche aléatoire consiste en un ensemble de particules qui vont se déplacer aléatoirement
dans le graphe. On initialise cet ensemble en répartissant les particules sur l’ensemble
du graphe. Puis chaque particule va choisir à chaque étape un nœud parmi les nœuds
voisins de sa position. L’action interne d’un processeur consiste dans ce cas à calculer les nouvelles
positions de particules. Si certaines particules se déplacent sur une partie du graphe
située sur un autre processeur, il y a alors une action d’envoi de ces particules vers les processeurs
correspondants. Puis une action de réception des particules ayant choisi de se déplacer
vers la partie du graphe hébergée par le processeur. La marche aléatoire d’une particule a
est alors la suite
X
a
0
,X
a
1
,...,X
a
k
où X
a
i
est un nœud du graphe et telle que X
a
i+1
a été choisi dans le voisinage de X
a
i
avec une
probabilité pa(X
a
i
,X
a
i+1
).
On peut alors obtenir des informations sur le graphe en procédant à une analyse statistique
des déplacements des particules. Par exemple, l’étude de la fréquence de passage des
particules sur les arêtes peut donner des informations concernant les points de congestion
du graphe.
Les marches aléatoires sont un type d’algorithme intéressant dans le cas des algorithmes
distribués du fait qu’elles ne sont pas inquiétées par les contraintes que ceux-ci soulèvent.
En particulier, une marche aléatoire ne nécessite pas de connaissance sur l’état global du
système, chaque particule n’utilise que des informations locales pour choisir sa future destination.
Elles sont, de plus, facilement adaptables à la dynamique du système.
97. C
Il est possible d’adapter une marche aléatoire à un problème spécifique en insérant un
biais dans la probabilité pa(X
a
i
,X
a
i+1
). Nous allons présenter, dans ce qui suit, un type d’algorithme
utilisant une telle marche biaisée, les algorithmes fourmis.
5.3.3 Algorithmes fourmis
Les algorithmes fourmis ont été initialement introduits par Marco D dans [D
1992], puis formalisés sous le nom de « Ant Colony Optimization » (ACO) dans [D, D
C et Luca M G 1999]. Depuis lors, ces algorithmes sont la source de nombreuses
contributions scientifiques. On trouvera un état de l’art détaillé par Antoine D et
Yoann P dans [D et P 2009]. L’idée est de reproduire le comportement de fourmis
naturelles qui se déplacent dans leur environnement en étant attirées et en déposant des
molécules chimiques, appelées phéromones. On introduit donc une colonie de fourmis artifi-
cielles dans un graphe, lesquelles , grâce à leurs déplacements, vont permettre de résoudre
certains problèmes combinatoires. Le problème initial était celui du voyageur de commerce,
dans lequel on recherche un cycle hamiltonien de poids minimum dans le graphe.
Les fourmis vont donc parcourir le graphe, à l’image d’une marche aléatoire. Elles vont,
de plus, déposer des phéromones sur les arêtes qu’elles traversent. Ces phéromones s’évaporent
à chaque itération, c’est à dire que l’on applique un facteur ρ ∈]0,1[ à la concentration
en phéromones de chaque arête. Le choix de l’arête à traverser est biaisé par la concentration
en phéromones des arêtes, ainsi que, éventuellement, par le poids, ou la distance pondérant
cette arête.
Une solution est obtenue en extrayant la piste de phéromones dont la concentration est la
plus forte. Une piste de phéromones correspond à un chemin dans le graphe. Chaque fourmi
renforce donc une piste, et donc une solution, en déposant une quantité de phéromones sur
son passage. Il existe plusieurs améliorations de ce renforcement, comme l’algorithme AntQ
[Luca Maria G et D 1995] ou encore Max-Min Ant System [S et
H 2000].
Les algorithmesfourmis, dans leur expression la plus proche du modèle naturel, semblent
donc être un outil adapté aux systèmes distribués. C’est le cas par exemple dans [S-
et al. 1997], les auteurs présentent Ant-Based Control, un algorithme dont les
fourmis sont autonomes et le fonctionnement complètement décentralisé. Cet algorithme
est utilisé pour répartir la charge d’un réseau de communication, les fourmis collaborant
pour mettre à jour les tables servant à router les appels téléphoniques.
Modèle
Un algorithme fourmis repose sur un processus itératif dont chaque cycle permet de dé-
placer les fourmis dans un graphe G = (V,E) et de procéder à l’évaporation des phéromones.
L’ensemble des fourmis au temps t est noté F(t). La quantité de phéromone à l’instant t
sur l’arête e est notée τe (t). À chaque cycle cette quantité de phéromone est mise à jour en
985.3. Algorithmique
tenant compte de l’évaporation et du passage des fourmis :
τe (t +1) = ρ ×τe (t)+∆τe (t) (5.1)
La constante ρ ∈]0,1[ définit le facteur d’évaporation des phéromones(1−ρ). ∆τe (t) correspond
à la quantité de phéromone déposée par les fourmis ayant traversé l’arête e au temps
t. Pour une fourmi k, cette quantité est notée ∆τ
k
e
(t). Cette quantité est nulle si la fourmi k
n’a pas traversé l’arête i j. On obtient alors :
∆τe (t) =
∑
k∈F(t)
∆τ
k
e
(t) (5.2)
Nous devons ensuite définir la loi de probabilité qui va être utilisée par une fourmi pour
choisir une arête à traverser. En considérant une fourmi k, posk ∈ V désigne la position
actuelle de k. On peut alors définir ωk comme l’ensemble des arêtes que peut traverser la
fourmi k :
ωk =
{
(i, j) ∈ E | i = posk
}
On définit alors la probabilité p
k
e
(t), la probabilité pour une fourmi k de traverser l’arête
e au temps t :
p
k
e
(t) =
[τe (t)]α ·[ηe ]
β
∑
e
′∈ωk
[τe
′(t)]α
·[ηe
′]
β
si e ∈ ωk
0 sinon
(5.3)
Le paramètre ηe permet d’utiliser une propriété des arêtes pour ajuster leur importance
dans la loi de probabilité. Il peut s’agir par exemple de la longueur, comme défini dans Ant
System, on a alors ηe = 1/de où de est la longueur de e, ce qui augmente la probabilité de
choisir les arêtes dont la longueur est faible.
Le déroulement du cycle d’un algorithme fourmis au temps t est donné par l’algorithme
4.
Le nombre initial de fourmis peut être fixé en fonction du nombre de nœuds. On définit
alors une quantité κ de fourmi par nœud, et N(v)le nombre de fourmis présentes sur le nœud
v. Lorsqu’un nœud est ajouté dans le graphe, on ajoute κ fourmi sur ce nœud. Lorsqu’un
nœud v est supprimé, nous avons plusieurs cas de figure :
— N(v) < κ, on supprime κ fourmis dans le graphe en commençant par celles du nœud
supprimé ;
— N(v) = κ, on supprime juste les fourmis du nœud ;
— N(v) > κ, on supprime κ fourmis du nœud puis on répartit les N(v) − κ restante
aléatoirement dans le graphe.
En respectant ce mécanisme, nous obtenons une démographie stable de la population des
fourmis, qui reste constamment proportionnelle d’un facteur κ au nombre de nœuds.
99. C
Algorithme 4 : Cycle d’un algorithme fourmis
Données :
— F, l’ensemble des fourmis ;
— E, l’ensemble des arêtes du graphe ;
— t, la date courante.
1 début
2 pour chaque k ∈ F faire
3 pour chaque e ∈ ωk faire
4 calculer p
k
e
(t);
5 fin
/* La méthode choisir() permet de sélectionner aléatoirement
un élément de l’ensemble donné en premier paramètre en
fonction de la distribution de probabilités donnée en
second paramètre */
6 e ← choisir(ωk ,
{
p
k
e0
(t),...,p
k
ei
(t),...}
) ;
7 traverser e ;
8 ∆τe ← ∆τe +∆τ
k
e
;
9 fin
10 pour chaque e ∈ E faire
11 τe ← τe ×ρ +∆τe ;
12 fin
13 fin
Références
C, A. et al. (2012). “Time-Varying Graphs and Dynamic Networks”. In : International
Journal of Parallel, Emergent and Distributed Systems. In press. : 10.1080/
17445760.2012.668546.
C, Edward (2004). “Message-oriented middleware”. In : Middleware for communications,
p. 1–28.
D, Marco (1992). “Optimization, learning and natural algorithms”. In : Ph. D. Thesis,
Politecnico di Milano, Italy.
D, Marco, Gianni D C et Luca M G (1999). “Ant algorithms for discrete
optimization”. In : Artificial life 5 (2), p. 137–172.
D, Antoine et Yoann P (2009). “Tour d’horizon des problèmes combinatoires traités
par les fourmis artificielles”. In : Fourmis artificielles 1, Des bases de l’optimisation aux
applications industrielles, p. 71–100.
F, Kevin (2003). “A delay-tolerant network architecture for challenged internets”. In :
Proceedings of the 2003 conference on Applications, technologies, architectures, and
protocols for computer communications. ACM, p. 27–34. : 1581137354.
100Références
F, Michael J (1966). “Very high-speed computing systems”. In : Proceedings of the
IEEE 54 (12), p. 1901–1909. : 0018-9219.
F, Ian (2002). “What is the grid ?-a three point checklist”. In : GRIDtoday 1 (6).
F, Ian et Carl K (2003). The Grid 2 : Blueprint for a new computing infrastructure.
Access Online via Elsevier. : 0080521533.
F, Ian, Yong Z et al. (2008). “Cloud computing and grid computing 360-degree
compared”. In : Grid Computing Environments Workshop, 2008. GCE’08. Ieee, p. 1–
10. : 1424428602.
G, Luca Maria et Marco D (1995). “Ant-Q : A reinforcement learning approach
to the traveling salesman problem”. In : ICML, p. 252–260.
H, Bernado A (1988). The ecology of computation. Elsevier Science Inc.
J, Mariusz et Seth B (2008). “Energy, entropy and work in computational ecosystems
: A thermodynamic account”. In :
J, Eric E (1988). “Completing an MIMD multiprocessor taxonomy”. In : ACM SIGARCH
Computer Architecture News 16 (3), p. 44–47. : 0163-5964.
J, Markus Oliver et Yugyung L (2004). “Peer-to-peer middleware”. In : Middleware
for Communications, p. 81–107. : 0470862084.
K, Jeffrey O, TadH et Bernado AH (1989). “Dynamics of computational
ecosystems”. In : Physical Review A.
L, Gregor von et Kaizar A (2004). “Grid middleware”. In : Middleware for Communications,
p. 109.
L, Nancy A (1996). Distributed algorithms. Morgan Kaufmann. : 0080504701.
L, Nancy A et Mark R T (1987). “Hierarchical correctness proofs for distributed
algorithms”. In : Proceedings of the sixth annual ACM Symposium on Principles of distributed
computing. ACM, p. 137–151. : 089791239X.
M, Peter et Timothy G (2011). “The NIST definition of cloud computing (draft)”.
In : NIST special publication 800 (145), p. 7.
M, Richard S. (2003). Cluster Computing : Architectures, Operating Systems, Parallel
Processing & Programming Languages.
OMG, Committee (1991). The Common Object Request Broker : Architecture and Specification.
OMG Document Revision 1.
R, Frank E (1997).Dcom : Microsoft Distributed Component Object Model with Cdrom.
IDG Books Worldwide, Inc. : 0764580442.
S, Naidila et SM Dilip K (2011). “Cluster, grid and cloud computing : A detailed
comparison”. In : Computer Science & Education (ICCSE), 2011 6th International
Conference on. IEEE, p. 477–482. : 1424497175.
S, Rüdiger (2001). “A definition of peer-to-peer networking for the classification
of peer-to-peer architectures and applications”. In : Peer-to-Peer Computing, 2001.
Proceedings. First International Conference on. IEEE, p. 101–102. : 0769515037.
S, Ruud et al. (1997). “Ant-based load balancing in telecommunications
networks”. In : Adaptive behavior 5 (2), p. 169–207. : 1059-7123.
101. C
S, Thomas et Holger H H (2000). “MAX–MIN ant system”. In : Future generation
computer systems 16 (8), p. 889–914. : 0167-739X.
T, Gerard (2000).Introduction to distributed algorithms. Cambridge university press. :
0521794838.
V N, John (1993). “First Draft of a Report on the EDVAC”. In : Annals of the
History of Computing, IEEE 15 (4), p. 27–75. : 1058-6180.
W, Mark (1991). “The computer for the 21st century”. In : Scientific american 265 (3),
p. 94–104. : 0036-8733.
— (1993). “Some computer science issues in ubiquitous computing”. In : Communications
of the ACM 36 (7), p. 75–84. : 0001-0782.
W, Ann, Roger R et Jim W (1996). “A Distributed Object Model for the Java
TM System”. In : Computing Systems 9, p. 265–290. : 0895-6340.
102Troisième partie
Modèle
103C
6
M
6.1 Qu’est ce que l’interaction ? . . . . . . . . . . . . . . . . . . . . . . 106
6.1.1 Interactions & Émergence . . . . . . . . . . . . . . . . . . 106
6.1.2 Causalité ascendante et descendante . . . . . . . . . . . . . 107
6.2 Propriétés des interactions . . . . . . . . . . . . . . . . . . . . . . 107
6.2.1 Interaction directe ou indirecte . . . . . . . . . . . . . . . . 107
6.2.2 Interaction synchrone ou asynchrone . . . . . . . . . . . . . 108
6.2.3 Interaction ciblée ou diffuse . . . . . . . . . . . . . . . . . 109
6.3 Représentation et manipulation des interactions . . . . . . . . . . . . 109
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Tout ce que nous avons vu jusqu’à présent tourne autour de la notion d’interaction. Au
point que ce sont ces interactions qui semblent jouer un rôle majeur dans le réseau. Les entités
en sont réduites à jouer le rôle secondaire d’attributs, nécessaire certes, permettant de
définir les acteurs des interactions. Ces interactions forment la syntaxe qui décrit le réseau,
lui donnant ainsi une forme et sont à l’origine de l’émergence des organisations qui vont participer
à structurer le graphe.
Derrière cette syntaxe se cache la sémantique de la simulation qui ne nous est pas accessible.
Nous devons donc nous contenter d’étudier cette syntaxe ainsi que la sémiologie de la
simulation qui s’exprime au travers de phénomènes qui apparaissent dans le graphe comme
par exemple sa structuration. C’est grâce à l’analyse de ces éléments que nous pourrons réussir
à améliorer notre gouvernance du système. Pour cela nous avons besoin de comprendre
les mécanismes qui entourent les différentes interactions, ainsi qu’une meilleure appréhension
des interactions elles-mêmes et de leurs propriétés, cela afin d’en fournir une meilleure
105. M
modélisation.
6.1 Qu’est ce que l’interaction ?
L’encyclopédie communautaire, W , commence par définir une interaction de
la sorte :
.
“
Une interaction, dans le langage courant, est l’action ou l’influence réciproque qui
peut s’établir entre deux objets ou plus. Une interaction est toujours suivie d’un
ou plusieurs effets. En physique, en chimie, ou en biologie, une interaction a pour
effet de produire une modification de l’état des objets en interaction..
Une interaction définit donc un lien de causalité qui se crée entre au moins deux entités.
”
Une entité, de par son comportement, va alors déclencher une action qui va produire un
effet sur d’autres entités, pouvant introduire une modification de leur état.
L’interaction peut aussi exister à différents niveau de représentation du système ainsi que
entre ces niveaux. Comme nous le verrons dans ce qui suit en 6.1.2, il existe en effet une
interaction ascendante et descendante entre les niveaux microscopique et macroscopique.
6.1.1 Interactions & Émergence
Les interactions sont responsables de l’apparition de propriétés, propres à des groupes ou
au système lui-même, que l’on ne peut expliquer par la seule somme de celles des membres
du groupe. On qualifie alors ces propriétés d’émergentes et on parlera plus généralement de
l’émergence qui existe au sein du système. Ce phénomène d’émergence est classé de différentes
manière dans la littérature, Damien O nous en donne une présentation dans
[O 2006].
Le dictionnaire de Philosophie de Cambridge, [A 1995], oppose l’émergence descriptive
à l’émergence explicative. La première implique la présence de propriétés globales qui
ne peuvent pas être définies à partir de la somme des propriétés des parties. La seconde,
l’émergence dite explicative, énonce l’émergence à l’aide des lois qui régissent le système :
les lois des situations les plus complexes dans le système ne sont déductibles d’aucune façon
par composition des lois des situations les plus simples. Nous considérerons pour notre part,
l’émergence forte et l’émergence faible.
L’émergence forte [C 1997 ; C 2006] se base sur l’apparition d’organisations,
en tant que structure composée d’entités, sur une échelle macroscopique. Ces
organisations possèdent leurs propres propriétés qui ne sont pas à déductibles des propriétés
des entités de l’échelle microscopique qui composent l’organisation.
La définition de l’émergence faible nous est donnée dans [B 1999] : on considère
que l’émergence est faible lorsqu’il est possible d’obtenir l’organisation du niveau macroscopique
à partir d’une simulation utilisant le niveau microscopique ainsi que des conditions
1. consultée le 14 novembre 2013, https://fr.wikipedia.org/wiki/Interaction
1066.2. Propriétés des interactions
externes au système considéré. David J. C, quant à lui, exprime dans [C
2006] le fait que l’émergence faible implique que le niveau macroscopique peut être obtenu
à partir du niveau microscopique mais que certaines propriétés apparaissent qui sont inattendues
compte tenu les principes qui régissent le niveau microscopique.
6.1.2 Causalité ascendante et descendante
L’interaction, désignée de manière générale, permet donc l’émergence de nouvelles propriétés
du système. Les interactions sont tout d’abord l’action d’une entité sur une autre,
voire sur plusieurs autres. Il s’agit d’un lien de causalité qui se crée entre une cause et un
effet. Puis, ces interactions vont permettre de structurer le graphe et de ce fait, aboutir à
la création d’organisation. Ces liens ne peuvent cependant pas expliquer à eux seuls l’émergence
survenant dans le système.
L’émergence nécessite d’une part la présence de boucles de rétroaction, qui impliquent
que l’effet engendré par une cause va en retour agir sur cette même cause, entrainant ainsi
la création d’une boucle de causalité. De plus, les interactions existent aussi entre une organisation
et les entités. D’une part de manière ascendante, les entités vont causer des effets
sur leur organisation qui vont modifier les propriétés de celle-ci. D’autre part, ces interactions
existent aussi de manière descendante, c’est à dire que le comportement du groupe va
causer des effets sur ces individus.
On peut, pour illustrer cette notion, considérer l’exemple d’un groupe d’individus qui
s’organise autour d’une certaine idéologie. Les évolutions des idées de chacun vont permettre
de faire évoluer l’idéologie globale du groupe, il s’agit alors d’une causalité ascendante. Mais
cette idéologie globale va aussi influencer les idées de chaque membre du groupe, et dans ce
cas on parle d’une causalité descendante.
6.2 Propriétés des interactions
Nous avons tenté de définir, dans ce qui précède, ce qu’est l’interaction, d’une façon gé-
nérale. Une interaction a besoin de s’appuyer sur un vecteur afin de lui permettre d’atteindre
sa cible. Il peut s’agir de la voix, d’un message, mais aussi de molécules, ou d’éléments abstraits
comme la proximité entre les entités. Grâce à ce vecteur et à la façon dont il permet de
propager l’interaction, nous pouvons proposer certaines propriétés des interactions.
6.2.1 Interaction directe ou indirecte
Lorsqu’une entité a connaissance d’une autre et agit de manière à provoquer des modifications
immédiates sur cette autre entité, on pourra dire de cette interaction qu’elle est
directe. Lorsqu’une personne parle à une autre, par exemple, il s’agit d’une interaction directe,
il n’y a pas d’intermédiaire entre ces personnes.
Au contraire, l’interaction peut nécessiter l’intervention d’un intermédiaire (voire de plusieurs).
On qualifie, dans ce cas, cette interaction d’indirecte. De telles interactions néces-
107. M
.
niveau microscopique
causalité ascendante
causalité descendante
niveau macroscopique
F 6.1 : Causalité ascendante et descendante.
sitent la création d’une information qui va être transmise indirectement à une entité, ou un
groupe d’entités. L’environnement peut servir de vecteur pour la transmission de cette information
comme c’est le cas avec le mécanisme de stigmergie dont nous parlions en 1.1. Dans
ce dernier cas, l’interaction indirecte se fait entre une entité et un groupe d’entité.Pour illustrer
cette idée, nous pouvons considérer, par exemple, une personne qui collerait une affiche
dans un lieu de passage : l’information contenu sur l’affiche est alors diffusée de manière
indirecte aux personnes qui prendront le temps de lire cette affiche. Mais une interaction
indirecte peut aussi être ciblée entre deux entités. Pour reprendre l’exemple de la communication
entre deux personnes, l’information que l’on transmettait directement à l’oral peut
être transmise de manière indirecte au travers d’une lettre ou d’un courriel.
6.2.2 Interaction synchrone ou asynchrone
Il est possible de caractériser les interactions en fonction de l’état qu’elles provoquent
sur les entités qui en sont à l’origine. En considérant deux entités source et cible. source est
1086.3. Représentation et manipulation des interactions
à l’origine d’une interaction qui va déclencher chez cible une réaction qui aboutira sur une
réponse à source. Cette réponse permet soit de retourner une information, soit de simplement
valider le fait que la réaction a eu lieu. source a besoin de cette réponse pour effectuer
un certain traitement.
Dans le cas où source rentre dans un état bloquant en l’attente de la réponse de cible,
on parlera alors d’interaction synchrone. État bloquant implique que l’entité n’effectue plus
aucune action tant que son état ne s’est pas débloqué.
L’entité source peut aussi décider que certaines actions peuvent être traitées sans attendre
la réponse de cible. Elle traite alors tout ou partie de ces actions et lorsque la réponse
de cible est disponible, elle effectue le traitement correspondant. On parle dans ce cas d’interaction
asynchrone. Ces deux types d’interactions sont illustrés dans la figure 6.2.
Il est important de noter que même si les notions de synchrone/asynchrone peuvent sembler
liées aux notions de directe/indirecte que nous avons vu précédemment, il n’en est rien.
Les notions directe/indirecte permettent de définir le moyen qui permet l’interaction tandis
que les notions de synchrone/asynchrone définissent une propriété concernant les entités
lorsqu’elles interagissent. Ainsi il est possible qu’une interaction indirecte soit synchrone et
qu’une interaction directe soit asynchrone.
6.2.3 Interaction ciblée ou diffuse
L’interaction initiée par une entité peut être dirigée vers une autre entité en particulier.
C’est le cas lorsqu’une personne parle à une autre, ou qu’une machine démarre une communication
avec une machine spécifique. On peut dire alors que cette interaction est ciblée.
Cependant, l’interaction peut prendre une autre forme. Une entité peut en effet initier
une interaction sans avoir la connaissance de qui sera impliquée dans cette interaction. Lorsqu’une
fourmi dépose de la phéromone dans l’environnement par exemple, cette fourmi ne
cible personne en particulier mais diffuse un message qui va potentiellement lui permettre
d’interagir avec un grand nombre d’individu. Si une personne au milieu d’une foule crie un
message pour prévenir d’un danger, elle ne cible personne en particulier mais atteint tout le
monde autour d’elle. On qualifie de telles interactions de diffuse.
6.3 Représentation et manipulation des interactions
Dans l’ensemble de ces travaux, les interactions sont modélisées à l’aide d’un graphe
dynamique composé d’un ensemble de nœuds représentant les entités intervenant dans les
interactions, ainsi que d’un ensemble d’arêtes représentant les interactions entre les entités.
La difficulté de la représentation réside dans la manière de créer et supprimer les arêtes
modélisant les interactions. Celle-ci pourrait paraître triviale, en particulier dans le cas d’interactions
directes : l’arête est créée en début de communication, puis supprimée lorsque
cette communication prend fin. Cependant, dans le cas de communications de très courte
durée ou dans le cas d’interactions indirectes dans lesquelles deux courtes communications
109. M
(a)
.
source cible
établissement d’une
communication
l’entité devient disponible
communication acceptée
réponse envoyée fin de la communication
traitement de la réponse
attente de la réponse
(b)
.
source cible
envoie d’une
nouvelle requête
traitement de la requête
envoie de la réponse
fin de la communication
traitement de la réponse
F 6.2 : Interaction (a) synchrone et (b) asynchrone entre une entité source et une
entité cible.
1106.3. Représentation et manipulation des interactions
.
a
b
a
b
a
b
a
b
a
b
a
b
a
b
a
b
nouvelle communication fin de communication nouvelle communication
fin de communication
F 6.3 : Création d’interactions naïve
(envoi du message, réception de la réponse) interviennent, ce mode de représentation aboutit
à l’oscillation de la présence de l’arête correspondante dans le graphe. Or nous avons vu
que l’interaction joue un rôle majeur dans notre modèle, ce qui nous amène à deux constats :
1. pour un observateur humain, la visualisation du modèle peut être faussée par un temps
d’apparition trop court, donnant l’impression que deux entités interagissent peu ou
pas ;
2. d’un point de vue algorithmique, l’oscillation de la présence des arêtes peut entraîner
l’oscillation de la solution et fausser la stabilisation de l’algorithme (dans le cas d’un
algorithme dynamique itératif).
Pour pallier ces problèmes, nous introduisons une persistance de l’interaction dans le
graphe. À chaque arête e est associée une valeur que nous noterons ρ(e). Lorsqu’une nouvelle
interaction entre deux entités commence, deux cas de figure peuvent se présenter :
— l’arête e correspondante n’existe pas ; elle est alors créée avec ρ(e) = ρini t ;
— l’arête e existe ; la valeur de ρ(e) est alors incrémentée d’une valeur δρ.
On considère un processus itératif qui permet, à espacement temporel régulier, d’appliquer
un facteur ϖ aux valeurs ρ(e) de chaque arête e. La valeur de ϖ est incluse dans
l’intervalle ]0; 1[. Lorsque la valeur ρ d’une arête e passe en dessous d’un seuil ρdel, l’arête
e est alors supprimée.
Ce mécanisme permet de supprimer les oscillations des arêtes dans le graphe tout en
conservant un modèle cohérent. Les figures 6.3 et 6.4 illustrent les différences qu’apportent
la persistance dans la présence d’une arête entre deux nœuds.
111. M
.
a
b
a
b
a
b
a
b
a
b
a
b
a
b
a
b
nouvelle communication fin de communication nouvelle communication
fin de communication
ρ = 1 ρ = 0.7
.
ρ = 0.49
.
ρ = 0.99
.
ρ = 0.69
.
ρ = 0.48
.
ρ = 0.34
.
ρ = 0.24
F 6.4 : Création d’interactions avancée avec ρini t = 1, δρ = 0.5, ϖ = 0.7 et ρdel = 0.3.
Références
A, Robert (1995). The Cambridge Dictionary of Philosophy. en. Cambridge University
Press. 2390 p. : 9781107268616.
B, M. A. (1999). “Weak Emergence”. In : T, James E. Philosophical Perspectives,
Mind, Causation And World. T. 11, p. 375–399. : 9780631207931.
C, David J. (1997). The Conscious Mind : In Search of a Fundamental Theory. :
0195117891.
— (2006). “Strong and weak emergence”. In : The reemergence of emergence, p. 244–
256.
O, Damien (2006). Modélisation informatique de systèmes à base d’interactions et dé-
tection d’organisations. Modèles du vivant. Habilitation à Diriger des Recherches de l’Université
du Havre.
112C
7
M
7.1 Qu’est ce qu’une organisation ? . . . . . . . . . . . . . . . . . . . . 113
7.2 Du micro au macro : le changement d’échelle . . . . . . . . . . . . . 114
7.2.1 Granularité de la vue sur le modèle . . . . . . . . . . . . . . 115
7.2.2 Intérêt du changement d’échelle . . . . . . . . . . . . . . . 115
7.2.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.3 Réification des organisations . . . . . . . . . . . . . . . . . . . . . 117
7.3.1 Propriété de connexité . . . . . . . . . . . . . . . . . . . . 117
7.3.2 Fusion d’organisations connexes . . . . . . . . . . . . . . . 118
Nous avons vu dans le chapitre 6 que l’interaction était une pièce maîtresse dans l’étude
de la dynamique des graphes, et qu’elle permet l’émergence de structures dans le graphe
que nous nommons organisations. Ce chapitre va s’intéresser à ces organisations, leur modélisation,
et leur manipulation.
7.1 Qu’est ce qu’une organisation ?
Les interactions au sein d’un réseau d’entités permettent de définir des structures. Il peut
s’agir d’une densité des interactions plus importante à l’intérieur de la structure qu’avec les
entités de l’extérieur, ou de propriétés spécifiques permettant de donner un sens à la structure.
Du fait de la dynamique du réseau d’interactions, les éléments de la structure vont
évoluer au fil du temps, mais la sémantique va rester la même. On nomme une telle struc-
113. M
ture organisation. Lorsque l’apparition d’une organisation n’est pas due à un comportement
directement programmé du système mais qu’au contraire cette organisation émerge du comportement
de bas niveau des entités, on parle alors d’auto-organisation.
Par exemple, un algorithme qui calcule un plus court chemin entre deux nœuds d’un
graphe et qui adapte la structure calculée aux modifications survenant dans le graphe. Le plus
court chemin est alors une organisation dont les éléments forment un chemin, de telle sorte
que ce chemin soit le plus court possible. Cette organisation est le fruit du calcul d’un algorithme
et n’est donc pas une auto-organisation. En revanche, si l’on considère le graphe de la
figure 3.1c qui présente un ensemble de livres sur l’informatique disponible sur Amazon, qui
interagissent lorsqu’ils sont achetés ensemble, on voit ici se dégager des auto-organisations,
qui correspondent à différents domaines informatiques (programmation Java, Linux, base
de données, etc…).
7.2 Du micro au macro : le changement d’échelle
La détection des organisations dans un graphe nous permet de définir pour chaque nœud,
l’organisation dont il fait partie. Ainsi pour un graphe G = (V,E), on obtient un ensemble
V
M = {Ci} tel que :
∀Ci ∈ V
M , Ci ⊂ V
∪
i Ci = V
∀Ci
,Cj
,Ci ̸= Cj
, Ci ∩Cj = ;
On peut alors définir l’ensemble E
M des arêtes existant entre les organisations :
E
M =
{
(Ci
,Cj) | ∃u ∈Ci
, v ∈Cj
, ∃ e = (u, v) ∈ E
}
Une arête existe entre deux organisations Ci et Cj s’il existe au moins une arête dans le
graphe G entre un nœud contenu dans Ci et un contenu dans Cj. Le graphe G
M = (V
M ,E
M )
ainsi obtenu est appelé une vue macroscopique du graphe G. S’il est possible de construire
une ou plusieurs vue macroscopique d’un graphe, on peut alors parler d’un graphe multi-
échelle.
Nous ne tenons pas compte, dans ces travaux, du chevauchement possible des organisations.
C’est à dire qu’il est possible que la propriété ∀Ci
,Cj
,Ci ̸= Cj
, Ci ∩Cj = ; ne soit
pas respectée si un nœud s’avère appartenir à plusieurs organisations. Si l’on considère par
exemple, un réseau d’interactions formés par des personnes, celles-ci peuvent être connectées
ensemble de différentes façons : membres d’une même famille, du même école, de tel
ou tel réseau social, etc… G. P et al., dans [P et al. 2005], ont été les premiers à
prendre en compte ce problème dans la détection statique d’organisations. Pour approfondir
le domaine du chevauchement d’organisations, on peut se référer à un état de l’art sur le
sujet dans [X, K et S 2011].
On parle de changement d’échelle lorsque l’on passe d’un graphe G, que l’on nomme la
vue microscopique, à une vue macroscopique G
M de G. Nous pouvons donc appliquer à cette
vue macroscopique les méthodes d’analyses qu’il est possible d’appliquer à un graphe.
1147.2. Du micro au macro : le changement d’échelle
7.2.1 Granularité de la vue sur le modèle
Nous avons donc un graphe initial qui forme la vue microscopique, c’est à dire que ces
composants sont atomiques. À partir de cette vue microscopique, nous pouvons construire
une vue macroscopique, mais cette nouvelle vue peut aussi servir de base au calcul d’une
autre vue macroscopique de plus haut niveau. Le changement d’échelle peut donc être ré-
cursif.
On parle alors de la granularité de la vue que l’on a sur le modèle. Il s’agit d’une information
qui nous permet de définir à quel niveau de complexité nous observons un modèle.
Lorsque cette granularité est microscopique, ces composantes sont atomiques, c’est à dire
qu’elles sont les plus petites possibles, et correspondent donc aux entités initiales du réseau
d’interactions. Plus la granularité augmente, plus les nœuds du graphe représentent une
agrégation complexe de ces entités (organisations, organisations d’organisations, etc…).
Dans la figure 7.1, on peut observer un graphe initial, de couleur foncée .
, qui représente
la vue microscopique du modèle. On peut procéder à un premier regroupement des nœuds
pour former une vue macroscopique, représentée en couleur vert foncé .
. Il est ensuite
possible de ce servir de cette vue macroscopique comme base afin de créer une nouvelle
vue de plus haut niveau, représentée en clair .
. On obtient ainsi trois vues de granularité
différentes sur le modèle.
7.2.2 Intérêt du changement d’échelle
L’intérêt du changement d’échelle est tout d’abord analytique. L’organisation n’apparait
qu’à partir d’une certaine granularité, c’est pourquoi rester à l’échelle microscopique n’est
pas pertinent lorsque l’on souhaite observer le fonctionnement émergent du système. Cette
échelle est en revanche nécessaire pour comprendre les mécanismes intrinsèques permettant
d’expliquer le comportement global. Si l’on prend l’exemple du corps humain, observer
les atomes qui le composent ne nous permet pas de comprendre les mécanismes complexes
qui le régissent comme la motricité, les différents sens, etc… Nous avons déjà besoin d’augmenter
la complexité de notre échelle de représentation (molécules, organes, etc…), c’est
à dire de passer à des échelles macroscopiques, afin de comprendre le fonctionnement du
corps humain. Cette analyse est simplifiée du fait qu’une vue macroscopique soit un graphe,
ce qui nous permet d’exploiter les outils d’analyse ou les algorithmes prévus pour être exploités
sur des graphes.
Le changement d’échelle a aussi un intérêt en terme de visualisation d’informations. Pour
un observateur humain, la visualisation du modèle à une échelle macroscopique permet de
clarifier une vue qui peut s’avérer complexe du fait du nombre important d’entités composant
les simulations. Cette clarification passe par la réduction ou le regroupement d’informations
visible par l’observateur, que ce soit en terme d’éléments du graphes (nœuds, arêtes) que de
données sur ces éléments. Dans [A et al. 2003], David A et al.s’intéresse tout particulièrement
à la visualisation de graphes petit-mondes dans lesquels plusieurs échelles sont
présentes. Ils proposent une métrique permettant d’identifier les arêtes inter-organisations,
115. M
.
F 7.1 : Un graphe initial représentant l’échelle microscopique .
, et deux vues macroscopiques,
. et .
, de ce graphe.
1167.3. Réification des organisations
et qui peut être utilisée par l’interface graphique afin d’améliorer le rendu et la navigation.
7.2.3 Processus
Le changement d’échelle est effectué au travers d’un processus qui va nous permettre
de créer la vue macroscopique. Il peut s’agir d’un algorithme de détection d’organisations ou
tout autre algorithme capable de fournir une surjection de l’ensemble initial de nœuds vers un
ensemble de structures. Ce processus agit donc comme le générateur du graphe correspond
à l’échelle macroscopique.
Outre les processus « classiques » applicables aux graphes qui vont utiliser uniquement
le graphe de la vue macroscopique, nous pouvons considérer des processus qui vont être en
mesure d’utiliser à la fois la vue microscopique et macroscopique pour effectuer des mesures.
7.3 Réification des organisations
La création d’une vue macroscopique passe par plusieurs étapes. La première est création
d’une classification des nœuds qui va permettre de déterminer de quelle organisation
chaque nœud fait partie. Cette classification est donnée par une algorithme de détection
d’organisations sous la forme d’une valeur associée à chaque nœud, correspondant à l’index
d’une organisation. La seconde étape est de reconstruire les structures correspondant aux
organisations à l’aide de la classification. Enfin, la dernière étape consiste à construire l’ensemble
des arêtes existant entre les organisations. Chaque arête entre deux organisations A
et B peut être pondéré par la quantité totale d’arêtes existant à l’échelle microscopique entre
les nœuds de A et ceux de B.
7.3.1 Propriété de connexité
La difficulté de la création de la vue macroscopique réside dans la seconde étape de sa
construction. On considère que le sous-graphe induit par les nœuds d’une même organisation
doit être connexe, c’est à dire qu’il existe un chemin dans ce sous-graphe entre n’importe
quelle paire de nœuds de l’organisation. Le problème que nous abordons ici est donc de fabriquer
une vue macroscopique à partir d’une classification en s’assurant de cette propriété
de connexité.
Il y a deux possibilités pour l’algorithme de détection :
1. soit le nombre d’organisations est un paramètre de l’algorithme ;
2. soit au contraire l’algorithme doit déterminer de lui-même le nombre d’organisations.
Si l’algorithme est libre de fixer le nombre d’organisations, on peut supposer que la propriété
de connexité est respectée. Nous nous intéressons donc au cas où le nombre d’organisations
est imposé. Dans ce cas, il est possible que l’algorithme fusionne des organisations afin
d’aboutir au nombre désiré, comme illustré dans l’exemple de la figure 7.2. C’est le cas dans
117. M
.
F 7.2 : Exemple de détection d’organisations non-connexes. Le nombre d’organisations
à détecter est fixé à deux, cependant on observe quatre organisations, l’algorithme
doit fusionner certaines de ces organisations.
l’algorithme AntCo2 présenté dans la partie 10.2, où des colonies de fourmis numériques
détectent chacune un ensemble d’organisations.
Il est alors nécessaire, pour fournir une vue respectant la propriété de connexité des
organisations, d’effectuer un traitement permettant de récupérer les composantes connexes
de chaque sous-graphe d’une organisation. Il s’agit de la seconde étape de la création de la
vue macroscopique, qui nous permet d’obtenir les structures finales des organisations.
7.3.2 Fusion d’organisations connexes
Cependant, l’algorithme qui fournit la classification peut avoir fusionné des organisations
entre lesquelles il existe des arêtes. Dans un tel cas, la détection des composantes connexes
n’est d’aucune utilité.
Afin de détecter ces cas de figure, nous proposons l’approche suivante. Nous considé-
rons qu’une organisation est une structure robuste. Cette robustesse est caractérisée par
la présence d’un unique centroïde de l’organisation. Nous définissons cette notion en détail
dans la partie 8.2.
En ayant à disposition un algorithme qui nous permette de détecter les centres d’équilibre
dans un graphe, que nous nommons les centroïdes, nous pouvons alors appliquer cet
algorithme à chaque organisation afin de déterminer si l’organisation possède plusieurs centroïdes.
Dans ce cas, on considère que l’organisation est unefusion de plusieurs sous-organisations
(une par centroïde) et qu’il faut donc procéder à une mitose, c’est à dire à séparer les sousorganisations.
Nous proposons dans le chapitre 8 suivant, un algorithme permettant de dé-
tecter dynamiquement les centroïdes d’un graphe à l’aide d’un algorithme fourmis.
118C
8
D
8.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.2 Centralité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.2.2 Centres et centroïdes . . . . . . . . . . . . . . . . . . . . . 121
8.3 Des fourmis et des centroïdes . . . . . . . . . . . . . . . . . . . . . 122
8.4 Application aux organisations . . . . . . . . . . . . . . . . . . . . . 125
8.5 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.5.1 Condition d’arrêt . . . . . . . . . . . . . . . . . . . . . . . 128
8.5.2 Comparaison des résultats . . . . . . . . . . . . . . . . . . 128
8.5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.1 Présentation
Dans le chapitre 7 précédent, nous exposions une approche dont le but est de permettre
d’améliorer la robustesse du système en détectant les organisations qui seraient composées
de l’agrégation de plusieurs sous-organisations, ce qui fragiliserait l’ensemble. Cette technique
repose sur la détection de points d’équilibre, les centroïdes, à l’intérieur de l’organisation,
qui nécessite par conséquent une mesure qui nous permette d’évaluer la centralité des
nœuds.
Nous avons présenté dans la partie 3.1.5 une description de la notion de centralité dans
un graphe. Il s’agit de mesurer l’importance des nœuds dans le graphe, en considérant par
119. D
exemple la diffusion d’information : plus un nœud est un point de passage obligé pour l’acheminement
d’une information entre deux nœuds, plus sa centralité sera importante. Nous
avons présenté plusieurs mesures afin d’illustrer cette notion, qui était basées sur le degré,
les plus court chemins, ou sur le voisinage.
La plupart de ces méthodes nécessitent des considérer le graphe d’une manière globale,
que ce soit au travers du calcul de l’ensemble des plus courts chemins, ou par la construction
de la matrice d’adjacence du graphe. Seul une mesure se basant sur le degré peut permettre
une approche locale. Cependant, la structure d’une organisation peut être complexe et ne
pas reposer que sur le degré de ses membres. Nous avons donc besoin d’étendre la portée
des connaissances que nous avons des nœuds, sans entrer dans une approche globale.
La considération d’une connaissance globale du graphe impliquerait une remise en question
permanente de la validité de cette connaissance du fait de la dynamique de ce graphe.
Ceci explique notre motivation pour proposer une nouvelle approche permettant de ne
pas nécessiter de connaissances globales du graphe, de tenir compte du voisinage, et d’être
capable de s’adapter à la dynamique du graphe. Nous proposons donc, dans ce qui suit,
une approche fourmis du calcul de la centralité, plus particulièrement de la recherche des
centroïdes d’un graphe.
8.2 Centralité
Nous complétons ici l’état de l’art, que nous avons vu sur la centralité dans la partie 3.1.5,
en développant les concepts de centre et de centroïde. Nous commençons tout d’abord par
définir les notions nécessaires avant de décrire en détails les notions qui nous intéressent.
8.2.1 Définitions
Distance entre deux nœuds
La distance séparant deux nœuds a et b correspond au nombre d’arcs composant le plus
court chemin entre a et b. Elle est notée d(a,b).
Excentricité
L’excentricité d’un nœud v est la distance maximale existant entre v et n’importe quel
autre nœud du graphe [Frank H 1969]. Cette mesure, décrite dans l’équation 8.1, est
notée e(v).
e(v) = max
x∈V (G)
(d(v,x)) (8.1)
1208.2. Centralité
Distance d’un nœud
La distance d’un nœud v, notée d(v), est la somme des distances entre v et les autres
nœuds du graphe, telle que définie dans l’équation 8.2.
d(v) =
∑
x∈V (G)
d(v,x) (8.2)
8.2.2 Centres et centroïdes
Le terme centroïde est utilisé dans plusieurs domaines scientifiques tels que la géométrie
ou la physique. Il est aussi utilisé dans les sciences humaines pour agréger, par exemple, un
ensemble de points dans l’espace.
Le centroïde d’un objet est son barycentre ou son centre géométrique. Dans le cas d’un
objet pondéré dont la densité est uniforme , le centroïde sera alors le centre de masse. Le
centroïde évoque l’idée d’un point d’équilibre de l’objet.
Les centres et centroïdes font l’objet de nombreux travaux dans la littérature. De C. J-
donnant une preuve de leur existence dans chaque arbre [J 1869] à P.J. S
généralisant leurs définitions [S 1978], en passant par des parties traitant de ce concept
dans les livres sur la théorie des graphes [O 1962 ; Frank H 1969].
Dans ce qui suit, nous allons décrire le concept de centroïde appliqué aux graphes en
commençant par définir les notations qui sont utilisées. G désigne un graphe connexe dont
V (G) est l’ensemble de ses sommets et E(G) l’ensemble de ses arcs. T désigne un arbre,
c’est à dire un graphe dépourvu de cycle. op(e,u), avec e = (u, v) un arc, désigne le nœud
v qui est l’opposé de u par rapport à l’arc e.
Définition formelle
Les concepts de centres et centroïdes ont d’abord été définis pour les arbres [J
1869 ; O 1962 ; Frank H 1969] puis étendus aux graphes.
D’après [Frank H 1969], un nœud c0 est considéré comme un point central ou
centre de G si son excentricité e(c0) est minimale pour G, cf. équation 8.3.
e(c0) = min
v∈V (G)
(d(v)) (8.3)
Le centre de gravité d’un graphe G est un ensemble de nœuds v qui minimise la fonction
m() décrite dans l’équation 8.4. Le centre de masse d’un arbre T est un nœud dont le poids
est minimal.
m(v) =
1
|V (G)|
∑
x∈V (G)
d(v,x)
2
(8.4)
[Frank H 1969] définit le centroïde d’un graphe comme un ensemble de nœuds
appelés points du centroide. Dans [T 1985], le centroïde est considéré comme
121. D
.
17 14
15
22
12
15
18
19
12
F 8.1 : Distances des nœuds. La structure en gras représente le sous-graphe induit par
les nœuds dont la distance est minimale, ce qui correspond au centroïde de ce graphe.
étant le sous-graphe induit par les points du centroïde, c’est à dire le sous-graphe H de G tel
que V (H) soit l’ensemble de points du centroïde et
E(H) = {(u, v) | (u, v) ∈ E(G); u, v ∈ V (H)}
Il existe dans la littérature plusieurs façons de caractériser les points du centroïde. Dans
[Frank H 1969], les points d’un arbre T sont définis comme étant les nœuds dont le
poids est minimal, i.e. les centres de masse de T . Dans le cas d’un graphe connexe et nondirigé,
[S 1978] définit les points du centroïde comme étant les nœuds dont la distance
est minimale, cf. figure 8.1.
Enfin, d’une manière plus générale, P.J. S définit le k-centrum d’un graphe G [S-
1978] qui permet de lier les définitions de centre et centroïde. On note rk (v) la somme
des k plus grandes distances entre un nœud v est les autres nœuds du graphe tel que défi-
nit dans l’équation 8.5. L’ensemble des nœuds minimisant rk est appelé le k −cent r um de
G et est noté C(G;k). Si k = 1, alors r1(v) correspond à l’eccentricité de v, par conséquent
C(G; 1) est le centre de G. Si k = n avec n = |V (G)|, alors rn(v) est la distance de v etC(G;n)
le centroïde de G.
rk (v) = max
S⊆V (G);|S|=k
{
∑
s∈S
d(v,s)
}
(8.5)
8.3 Des fourmis et des centroïdes
L’algorithme 5 vu précédemment pour le calcul du centroïde permet de fournir le centroïde
exact du graphe mais possède cependant quelques particularités qui font que cet algorithme
est difficilement adaptable aux graphes dynamiques, alors qu’il s’agit du contexte
dans lequel nous nous plaçons :
1228.3. Des fourmis et des centroïdes
Algorithme 5 : Calcul classique du centroïde
Data :
- G, le graphe, E(G) l’ensemble des arcs
- A, ensemble de fourmis
1 begin
2 centroide = [] ;
3 min = +∞ ;
4 forall the node n ∈ V (G) do
5 d = ∑
u∈V (G)/{n}
d(n,u);
6 if d < min then
7 centroide = [n] ;
8 min = d ;
9 end
10 else if d = min then
11 centroide.ajouter(n) ;
12 end
13 return centroide ;
14 end
15 end
1. la complexité en O(|V |
3
) [F 1962], qui peut toutefois être réduite à O(|V | ×|E| +
|V |
2
log|V |) [D. B. J 1977], due à la nécessité de calculer l’ensemble des plus
courts chemins du graphe ;
2. il ne permet pas d’adapter une solution précédemment calculée aux changements survenus
dans le graphe ;
3. il est nécessaire d’avoir une connaissance globale du graphe.
.
Nous nous intéressons donc à définir une heuristique qui nous permettra de trouver une
solution approchée du centroïde d’un graphe en utilisant uniquement des informations locales.
Il s’agit d’un algorithme fourmis [D, M et C 1996] dans lequel
une colonie de fourmis explore le graphe, en utilisant la stigmergie comme moyen de communication
au travers de phéromones qui sont déposées sur chaque arc traversé.
L’idée générale de cet algorithme est que chaque nœud possède une masse que les fourmis
peuvent déplacer par fragment vers d’autres nœuds. Le but final est d’augmenter la
masse des nœuds du centroïde en réduisant de plus en plus la masse de ceux qui s’en éloignent.
Une fourmi a est composée des attributs suivants :
— posa, correspond au nœud sur lequel la fourmi se situe actuellement ;
— phnmax (a) et massmax (a) qui seront décrit dans la suite ;
— tmassa, la masse transportée par a ;
123. D
— une liste tabou de nœuds correspondant aux positions précédentes de a, qui est utilisée
afin d’éviter un retour en arrière.
Pour chaque arête e, la mesure phe(e) correspond au taux de phéromone actuel de e. On
peut ensuite définir, pour chaque nœud n, un taux de phéromone phn(n) qui est la somme
des phe(ei) où les ei correspondent aux arêtes adjacentes à n. Nous utilisons dans la suite
la taux de phéromone des nœuds plutôt que celui des arêtes afin de prendre en compte le
passage des fourmis sur les nœuds et non sur les arêtes.
Les phéromones s’évaporent à chaque étape de l’algorithme suivant un facteur ρ ∈ [0; 1].
Si phei(e) correspond au taux de phéromones de e au temps i alors nous avons :
phei+1(e) = phei(e)×ρ,∀e ∈ E(G)
Les attributs phnmax (a) et massmax (a) représente respectivement le taux de phéromones
maximal et la masse maximale que la fourmi a a rencontré durant son exploration
du graphe. Afin de maintenir ces attributs à une valeur représentative, on utilise le même
principe d’évaporation que pour les phéromones : les valeurs décroissent au fur et à mesure
ce qui permet de les adapter aux changements qui surviennent dans le graphe. Les valeurs
de ces attributs sont mis à jour au début du cycle d’une fourmi en considérant les arêtes
adjacentes à la position actuelle de la fourmi, ainsi que leur extrémité opposée.
À chaque étape de l’algorithme, chaque fourmi doit choisir une arête adjacente à sa position
actuelle qu’elle devra alors traverser. La distribution de probabilité P permettant de
définir la probabilité p(ei) de chaque arête ei = (posa, v) d’être choisie est basée sur le taux
de phéromone phn(v) ainsi que sur une fonction ηa(ei), définie par l’équation 8.6, qui permet
de prendre en compte la masse du nœud se trouvant à l’autre extrémité de l’arête. L’expression
de p(ei) est donnée par l’équation 8.7. L’importance du taux de phéromone par
rapport à la masse peut être contrôlée à l’aide du paramètre α. La fonction ηa(e) retourne
une valeur comprise entre λ ∈ [0,1[ et 1. Le paramètre λ permet de définir un seuil minimal
et ainsi permettre de continuer l’exploration de nœuds dont la masse est faible voire nulle.
On utilise l’opérateur op pour désigner l’extrémité opposé d’une arête. Ainsi, si e = (u, v)
alors e opu = v et e opv = u.
ηa(e) = λ+(1−λ)×
mass(op(e,posa))
massmax (a)
(8.6)
p(e) = phn(e opposa))α ×ηa(e) (8.7)
La seconde partie du comportement d’une fourmi est sa capacité à prélever une partie
de la masse d’un nœud afin de la répartir sur d’autres nœuds. Chaque fourmi a possède un
attribut tmassa qui correspond à la masse qui est actuellement transportée par a. Si cette
masse est nulle, la fourmi tente de prélever une quantité de masse q de sa position courante
comprise entre les paramètres tmassmin et tmassmax . Dans le cas contraire, la fourmi
1248.4. Application aux organisations
dépose une partie de la masse qu’elle transporte sur sa position actuelle n, cette quantité
étant définie par la fonction d r op(a,n) dans l’équation 8.8.
d r op(a,n) = tmassa ×
phn(n)
phnmax (a)
(8.8)
L’étape d’une fourmi est décrite dans l’algorithme 7 tandis que l’algorithme 6 présente
l’exécution globale de l’algorithme fourmi.
Algorithme 6 : Algorithme général
Data :
- G, le graphe, E(G) l’ensemble des arêtes
- A, ensemble de fourmis
1 begin
2 repeat
3 forall the arête e ∈ E(G) do
4 phe(e) ← phe(e)×ρ ;
5 end
6 forall the fourmi a ∈ A do
7 exécuter l’algorithme 7 sur a ;
8 end
9 until condition d’arrêt soit atteinte ;
10 end
8.4 Application aux organisations
Les organisations dans un graphe dynamique G telles que nous les avons présentées dans
3.2.1 forment des sous-graphes de G et nous avons vu dans le chapitre 4 que le but de la dé-
tection de ces organisations est de fournir une partition de l’ensemble des nœuds du graphe
qui soit représentative de la cohésion qui existe entre ces nœuds. Dans le cas d’un graphe
dynamique, on peut souhaiter que ces structures soient robustes avec un taux de renouvellement
faible, c’est à dire que les éléments composant la structure varient peu au cours du
temps.
Les structures modélisant les organisations, fournies par l’algorithme de détection d’organisations,
peuvent comporter des nœuds qui affaiblissent la robustesse de leurs organisation.
C’est le cas de l’organisation présentée dans la figure 8.2 : la suppression d’un des
éléments de la partie faible en orange déconnecte l’organisation.
La détection des parties faibles des organisations pourrait permettre d’améliorer la détection
de ces organisations en fournissant un résultat plus stable. La figure 8.3 montre comment
augmenter la robustesse des organisations.
125. D
Algorithme 7 : Étape d’une fourmi
Données :
— a, la fourmi
— transport, masse transportée par a
— pos, position de a
— mp, masse de pos
1 début
2 pour tous les arête ei adjacente à pos faire
3 calculer p(ei);
4 fin
5 construire la distribution de probabilité P à partir des p(ei);
6 choisir aléatoirement une arête e en fonction de P ;
/* traverser l’arête choisie */
7 pos ← op(e, pos) ;
/* mettre à jour les valeurs maximales */
8 pour tous les arête (pos, v) faire
9 phnmax (a) ← max(phnmax (a), phn(v)) ;
10 tmassmax (a) ← max(massmax (a), masse(v)) ;
11 fin
12 si transport = 0 alors
13 alea ← random(tmassmin, tmassmax ) ;
14 q ← min(alea, masse(pos)) ;
15 transport ← transport + q ;
16 prendreMasse(q) ;
17 sinon
18 q ← drop(a, pos) ;
19 transport ← transport- q ;
20 deposerMasse(q) ;
21 fin
22 fin
.
F 8.2 : une organisation comportant une partie faible (en orange).
1268.5. Résultats
.
(a) (b) (c)
F 8.3 : (a) une organisation est fournie par un algorithme de détection d’organisations,
(b) une partie faible est détectée, (c) l’organisation initiale est scindée en deux nouvelles
organisations sans partie faible.
.
F 8.4 : Dans cet arbre de 50 nœuds, les fourmis ont détecté le centroïde optimal (repré-
senté en orange sur la figure), c’est à dire le même centroïde que celui calculé par l’algorithme
classique
8.5 Résultats
Nous avons présenté dans [D, O et S 2011] des résultats obtenus à l’aide
de cet algorithme. Nous avons comparé les résultats de notre algorithme fourmis avec les
résultats obtenus en utilisant l’algorithme 5 classique du centroïde, le calcul des plus courts
chemins se faisant grâce à l’algorithme de F-W. Le but est ici de vérifier que ce
nouvel algorithme est capable de trouver une solution approchée du centroïde d’un graphe.
La figure 8.4 par exemple, montre un graphe dans lequel les fourmis ont réussi à trouver le
centroïde optimal. Les paramètres de l’algorithme sont donnés dans la table 8.5.
127. D
8.5.1 Condition d’arrêt
Nous avons, dans un premier temps, comparé les résultats sur des graphes statiques.
L’algorithme fourmis étant prévu pour être exécuté de manière continue, il est nécessaire
de définir une condition d’arrêt afin de le stopper. Pour chaque nœud, nous définissons une
mesure de stabilisation, décrite dans l’équation 8.9, qui nous permet de connaitre l’évolution
de la masse d’un nœud. Cette mesure est normalisé entre 0 et 1, 0 signifiant que la masse
du nœud évolue fortement, 1 que la masse est stable. Nous pouvons définir une mesure
de stabilisation globale, décrite dans l’équation 8.10, qui est une moyenne de la mesure de
stabilisation de l’ensemble des nœuds. La condition d’arrêt consiste à définir un seuil ϵ qui est
la limite supérieure à atteindre pour la stabilisation globale afin d’arrêter l’algorithme. Pour
ces expérimentations, ϵ est fixé à 0.99.
d i f ft(n) =
|masst−1(n)−masst(n)|
masst(n)
st abt(n ∈ V (G)) = min(1,1−d i f ft(n))
(8.9)
st abt(G) =
∑
n∈V (G)
st abt(n)
|V (G)|
(8.10)
8.5.2 Comparaison des résultats
Nous avons utilisé différents modèles de graphes statiques pour ces expériences :
1. des arbres construits à l’aide du modèle d’attachement préférentiel deB-A
[B et A 1999] ;
2. des graphes construits à l’aide du modèle de D-M [D et
M 2002] ;
3. des grilles à deux dimensions, pleines et avec des vides aléatoires.
La comparaison des résultats se concentrent sur la différence entre les centroïdes calculés
CA etCC ainsi que sur les temps d’exécution tA et tC , respectivement de l’algorithme fourmis
et de l’algorithme classique. La différence ∆t entre tA et tC , est exprimé comme le gain que
tA apporte par rapport à tC :
∆t =
tA − tC
tC
La différence entre les centroïdes calculés repose sur deux points. D’une part la différence
∆s du nombre de nœuds contenus dans les centroïdes CA et CC :
∆s = |CA| −|CC |
Et d’autre part, nous évaluons la différence Γ entre le contenu des centroïdes en mesurant
pour chaque nœud v de CA\CC , les nœuds de CA qui ne sont pas dans CC , la plus courte
1288.5. Résultats
T 8.1 : Résultats pour les arbres (modèle d’attachement préférentiel). Les mesures sont
des moyennes sur 1000 itérations. xx symbolise la moyenne et σ la variance.
nœuds 51 101 501 1001
arêtes 50 100 500 1000
∆t -37.1% -84.2% -98.6% -99.0%
σ(∆t) 38.03% 5.07% 0.51% 0.00%
∆s +0.5 +0.4 +0.5 +0.5
σ(∆s) 1.13 0.77 0.77 0.87
Γ 7.7% 6.7% 5.0% 4.0%
σ(Γ) 8.6% 7.3% 5.2% 4.1%
T 8.2 : Résultats pour les graphes sans échelle (modèle de D-M). Les
mesures sont des moyennes sur 1000 itérations. xx symbolise la moyenne de la mesure xx
et σ(xx) la variance.
nœuds 53 103 503 1003
arêtes 103 203 1003 2003
t∆ -34.2% -79.1% -97.9% -99.0%
σ(t∆) 19.84% 5.28% 0.30% 0.00%
s∆ +1.5 +0.7 +0.6 +0.6
σ(s∆) 2.67 1.13 0.83 0.68
Γ 10.4% 6.2% 4.3% 3.7%
σ(Γ) 9.4% 5.8% 3.8% 3.4%
distance γ(v) entre v et le nœud deCC le plus proche, normalisée par le diamètre du graphe.
Autrement dit :
γ(v) = min
u∈CC
d(u, v)
diam(G)
Γ est alors la valeur moyenne de γ(v) pour v ∈CA : si cette mesure est nulle, alors les deux
centroïdes sont confondus ; au contraire, plus la valeur augmente plus les centroïdes sont
éloignés.
8.5.3 Conclusion
Nous proposons une approche fourmis pour la recherche du centroïde d’un graphe. Il
s’agit d’une marche aléatoire biaisée par le déplacement d’une masse virtuelle dans le graphe.
Le but n’est pas ici de calculer le centroïde exact du graphe mais une valeur approchée qui
puisse être calculée de manière décentralisée. L’objectif étant d’appliquer cet algorithme
en complément d’une détection d’organisations elle-même utilisée pour la répartition de la
129. D
T 8.3 : Résultats pour les grilles. Les mesures sont des moyennes sur 1000 itérations.
xx symbolise la moyenne de la mesure xx et σ(xx) la variance.
nœuds 36 121 256
arêtes 60 220 480
t∆ -15.9% -89.3% -96.7%
σ(t∆) 31.99% 2.48% 0.78%
s∆ +2.9 +11.4 +13.3
σ(s∆) 3.51 6.83 9.69
Γ 17.4% 17.8% 13.8%
σ(Γ) 4.7% 2.4% 1.8%
T 8.4 : Résultats pour les grilles incomplètes. Les mesures sont des moyennes sur 1000
itérations. xx symbolise la moyenne de la mesure xx et σ(xx) la variance.
nodes 22 93 214
edges 53 292 730
t∆ +197.8% -77.8% -94.4%
σ(t∆) 122.77% 3.52% 0.88%
s∆ +4.1 +9.2 +13.7
σ(s∆) 2.81 5.87 8.87
Γ 25.3% 19.4% 15.1%
σ(Γ) 9.1% 5.2% 2.0%
T 8.5 : Valeur des paramètres
ϵ 0.99
λ 0.50
α 1.00
dépôt de phéromone 0.03
évaporation de phéromone ρ 0.86
1308.5. Résultats
charge d’une simulation, la puissance de calcul requise doit être minimale afin de maximiser
les ressources disponibles pour la simulation principale.
Les résultats sur les graphes statiques nous permettent d’observer que l’algorithme fourmis
est significativement plus rapide, dans les conditions de l’expérimentation, que l’algorithme
classique ; le gain obtenu est d’autant plus important que le graphe est grand. Notons
qu’il s’agit là de graphe statique ; dans le cas de graphes dynamiques, l’algorithme fourmis
est capable d’adapter sa solution, alors que l’algorithme classique nécessite d’être recalculé
entièrement.
Concernant la qualité de la solution, la dégradation de la solution introduite par l’algorithme
fourmis est faible en ce qui concerne les arbres et les graphes sans-échelle, les centroïdes
calculés étant suffisamment proche pour que le résultat soit satisfaisant au vu de
l’objectif recherché. Dans le cas des graphes dont la topologie est une grille (complète ou incomplète),
l’algorithme fourmis fournit des résultats qui s’avèrent plus éloignés du résultat
optimum. Cependant, cela est prévisible. En effet, l’heuristique repose sur l’hypothèse que
le graphe est structuré, et que par conséquent, les fourmis vont pouvoir déplacer la masse
vers les nœuds qui sont les plus à l’intérieur de la structure. Or, dans le cas de grille, la structure
est absente, la partie locale du graphe dont une fourmi a connaissance est la même, peu
importe la position de la fourmi dans le graphe (en dehors des bords de la grille). L’algorithme
fourmis semble donc avoir un effet de bord qui est celui de nous permettre d’évaluer la force
de la structuration à l’intérieur du graphe. Il s’agit bien sûr d’une hypothèse qui nécessite des
investigations supplémentaires afin d’être vérifiée.
131C
9
O
9.1 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
9.2 Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.2.1 Générateurs . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.2.2 Métriques . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.2.3 Recherche de structures . . . . . . . . . . . . . . . . . . . 138
9.3 Exportation, importation et visualisation . . . . . . . . . . . . . . . 138
9.3.1 Formats de fichier . . . . . . . . . . . . . . . . . . . . . . 138
9.3.2 Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.3.3 Communications réseaux, inter-threads et inter-plateformes . 142
9.4 Comment l’utiliser . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Comme nous l’avons vu dans ce qui précède, l’étude des écosystèmes computationnels
nécessite un modèle, et celui de graphe semble être le plus approprié. Du fait que le temps
dans lequel le système est plongé va jouer un rôle majeur dans l’émergence d’organisations,
nous devons considérer des graphes dynamiques afin de tenir compte de l’évolution des diffé-
rents éléments. Nous avons vu dans la partie 3.1.2 que la dynamique pouvait être modélisée
de différentes façons : sous la forme d’une séquence, par un modèle agrégatif, ou encore
sous la forme d’un flux d’événements. C’est sous cette dernière forme que nous avons choisi
de manipuler la dynamique. À ce jour, peu d’outils sont disponibles pour nous permettre de
manipuler ce type de dynamique, et aider ainsi les chercheurs et les développeurs dans la
création d’algorithmes distribués dans le cadre de graphes dynamiques, permettant de me-
133. O
surer des propriétés de ces graphes ou encore d’en fournir une visualisation. Ceci explique
notre motivation pour lancer le projet GS, une bibliothèque logicielle en JavaTM
pour la manipulation de graphes dynamiques.
Le but de GSn’est donc pas de remplacer les autres bibliothèques de graphes,
déjà nombreuses en Java et d’autres langages, mais de fournir les éléments spécifiques à la
manipulation de la dynamique, permettant ainsi une API facile d’utilisation pour la modé-
lisation de l’évolution de réseaux d’interactions et des processus qui opèrent sur ou à l’intérieur
des ces derniers. Dans ce but, GS propose un ensemble d’outils permettant
l’importation et l’exportation de la dynamique des graphes dans de nombreux formats
ainsi que sous la forme d’une connection entre une source d’entrée et une de sortie. Toutefois,
ses fonctionnalités principales sont la génération de graphes dynamiques, la conception
d’algorithmes, et le développement de simulations, des prototypes aux problèmes à grande
échelle. Sa gestion du temps permet à GS de contrôler la dynamique du graphe,
tandis que l’introduction de style dans la description des graphes permet d’élargir la manière
de les visualiser, leur structure, leur dynamique ainsi que leurs propriétés. Enfin, sa flexibilité
permet aux utilisateurs d’introduire de nouvelles métriques afin d’enrichir l’ensemble
des mesures existantes.
Le fonctionnement interne de GS repose sur un modèle événementiel qui
forme le cœur de la bibliothèque et fournit une manière de décrire la dynamique du graphe.
Nous allons décrire dans la prochaine section le modèle utilisé dans la bibliothèque. Nous exposons
ensuite dans 9.2 une description de différents algorithmique contenus dans G-
S, en particulier des générateurs de graphes dynamiques, des mesures, etc… Puis,
nous décrivons dans 9.3 les composants permettant l’importation, l’exportation sous forme
de fichier, ainsi que la visualisation de graphes.
9.1 Modèle
Afin de manipuler la dynamique, GS ne modélise pas directement un graphe
comme une structure de données mais comme un flux d’événements décrivant des modifi-
cations du graphe. Ceci correspond au formalisme d’une dynamique par flux d’événements
que nous avons vu dans la partie 3.1.2. Il existe un nombre limité d’événement :
— ajout ou suppression de nœuds ;
— ajout ou suppression d’arêtes ;
— ajout, modification ou suppression de propriétés, les attributs, associées aux nœuds,
arêtes ou au graphe lui-même ;
— évolution de l’indice temporel.
On peut classer ces événements en deux catégories principales. D’une part, les événements
qui vont décrire une modification de la structure du graphe ; et d’autre part, les évé-
nements décrivant une modification de l’état interne d’un élément par la modification de la
valeur d’une propriété qui lui est attachée. On peut considérer la temporalité comme une
propriété du graphe, l’évolution de l’indice temporel rentre donc dans la seconde catégorie.
1349.1. Modèle
Ce flux d’événements décrit complètement le graphe et son évolution. Dans G-
S, certains composants vont être capables de produire un tel flux, nous les appelons
des sources. D’autres composants seront en mesure de consommer les événements, nous
les appelons des puits. Le flux d’événements existe donc entre une source et plusieurs puits.
Il est possible qu’un composant soit à la fois une source et un puits, nous les appelons des
canaux.
Actuellement, le temps dansGSest modélisé comme un simple nombre croissant
qui peut être diffusé à n’importe quel moment dans le flux d’événements. Cela signifie
qu’on considère que les événements qui surviennent entre deux diffusions de ce marqueur
temporel apparaissent en même temps, bien qu’ils restent ordonnés dans le flux à l’aide d’un
identifiant.
Cependant, GS permet aussi de modéliser les nœuds, arêtes et graphes en
tant qu’objets que l’on peut manipuler. Il s’agit d’objets tampons qui permettent de connaître
l’état courant de l’élément. Suivant notre modèle événementiel, un graphe est un objet auquel
est appliqué une séquence de mises à jour correspondant aux événements, de manière
similaire à celle décrite dans [D et al. 2010]. La bibliothèque fournit les objets
graphes comme des canaux. Ils sont capables de recevoir des événements, et donc d’adapter
leur structure, faite d’objets nœuds et d’arêtes, qui reflète l’état du graphe au temps présent.
Ces objets graphes sont aussi capables de produire un flux d’événements qui décrit toutes les
modifications du graphe.
En effet, les sources, puits et canaux peuvent eux-même être connectés en tant que
graphe (une autre sorte de graphe, comme l’on peut le voir dans la figure 9.1), en suivant
le concept d’observateur [V et al. 1995]. Ce concept est utilisé pour créer un flux
d’événements entre une source (le sujet) et plusieurs puits (les observateurs). Par exemple,
une application habituelle de ce concept consiste en une source de type fichier, qui lit les
événements du graphe depuis un système de fichiers, connecté à un objet graphe qui maintient
l’état courant du graphe en tant que structure de données que l’on peut explorer, et qui
est lui-même connecté à une vue qui représente graphiquement l’état du graphe.
Le réseau formé par les sources, canaux, et puits peut contenir des cycles. Par exemple,
il est parfois nécessaire de connecter l’affichage sur le graphe affiché afin d’obtenir les coordonnées
des nœuds, éventuellement modifiées par l’utilisateur, qui peuvent ensuite être
utilisées par des algorithmes. Un tel réseau est donné en exemple dans la figure 9.1.
Il existe plusieurs implantations de l’objet graphe, qui peuvent être utilisées en fonction
des exigences : il faut choisir entre rapidité d’exécution, consommation de la mémoire, et
temps d’accès aux éléments.
Dans GS, les algorithmes peuvent opérer sur les objets graphes ou directement
sur le flux d’événements. La bibliothèque fournit différents composants que nous dé-
crivons dans ce qui suit.
135. O
.
Canal
le graphe
Source
fichier A
Puits
fichier B
Canal
proxy inter-threads
Canal
visualisation
Canal
agencement
Canal
un algorithme
F 9.1 : Un exemple basique de réseau composé d’une source, de canaux, et d’un puits.
Un fichier “A” est lu par une source afin de créer un graphe. On initialise une vue sur ce
graphe dans un thread dédié aux graphismes. La vue communique avec le graphe au travers
d’un proxy inter-threads. Elle utilise un algorithme d’agencement afin de positionner
les nœuds. De plus, on exécute un algorithme sur le graphe qui répercute le fruit de son calcul
directement dans le graphe. Enfin, le graphe, augmenté des données de l’algorithme, est
stocké dans un fichier “B”.
1369.2. Algorithmique
.
F 9.2 : Un générateur de graphe dynamique basé sur le modèle des boids.
9.2 Algorithmique
9.2.1 Générateurs
Les générateurs sont des sources particulières qui vont être capables de produire un flux
d’événements à partir de rien, de manière algorithmique. La plupart des générateurs produisent
un graphe en suivant un modèle donné, comme par exemple le modèle B-
A [B et A 1999], celui de W-S [W et S 1998],
ou encore celui de D-M [D et M 2002]. Mais il peut aussi
s’agir de générateurs de graphes aléatoires, de grilles ou de tores, ou de graphes complètement
connectés par exemple. Ils essayent, quand cela est possible, d’être dynamique, soit en
permettant au graphe généré de grandir progressivement avec le temps, ou bien en reposant
sur un modèle totalement dynamique qui permette l’ajout et/ou la suppression d’éléments.
Nous avons par exemple adapté la simulation de boids (cf. annexe A) afin de l’utiliser comme
un générateur (cf. la figure 9.2).
Nous travaillons aussi sur des générateurs plus spécifiques. Par exemple, certains gé-
nérateurs permettent de transformer un type de données spécifiques en tant que graphe,
comme c’est le cas desshapefilesreprésentant des réseaux routiers. C’est aussi le cas d’un gé-
137. O
nérateur permettant de générer un sous-graphe du Web à partir de une ou plusieurs adresses
qu’il va être capable de suivre.
9.2.2 Métriques
Un autre type d’algorithmes que l’on peut exécuter sur un graphe dynamique est celui
des mesures dynamiques. L’utilisateur a la possibilité de connecter une telle métrique sur
un graphe, puis de suivre l’évolution des valeurs mesurées. Un exemple de ce type d’algorithmes
est celui des composantes connexes qui permet de compter, à chaque pas de temps
du graphe, le nombre de composantes connexes présentes.
On trouvera aussi dans GS différentes mesures de centralité, en particulier
la plupart des mesures exposées dans la partie 3.1.5 de ce manuscrit, comme la proximité,
l’intermédiarité, ou encore le PageRank. Un algorithme de marche aléatoire est aussi disponible,
permettant par exemple de mesurer la centralité par une approche stochastique
(cf.la figure 9.3). La mesure de la modularité, ainsi que la mesure Surprise [A et
M 2011], permettant toutes deux d’évaluer la qualité d’une partition d’un graphe, sont
présentes dans la bibliothèque.
De tels algorithmes essayent, quand cela est possible, d’éviter d’avoir à recalculer la solution
entière de zéro mais au contraire d’adapter la solution précédente aux changements
du graphes.
9.2.3 Recherche de structures
Une dernière catégorie importante d’algorithmes que nous proposons dansGS
concerne les algorithmes permettant de trouver des structures dans le graphe. Ces structures
peuvent être des plus courts chemins comme c’est le cas des algorithmes D [D
1959], son extension A*
[H, N et R 1968], mais aussi celui de B-
F [F 1956 ; B 1956] ou encore F-W [F 1962 ; W
1962]. Il peut aussi s’agir d’arbres couvrant qui peuvent être calculé par l’intermédiaire de
l’algorithme de P [P 1957] ou de K [K 1956].
9.3 Exportation, importation et visualisation
9.3.1 Formats de fichier
Nous essayons de permettre l’utilisation de la plupart des formats de fichier permettant
l’enregistrement d’un graphe. Ainsi GS comprend le format GML [P 2011],
Pajek [B et M 2004], GEXF le format du logiciel Gephi [G 2009], le format
TLP du logiciel Tulip [T 2013], DOT celui de Graphviz [G 2013], mais encore
NCol, LGL ou de simples listes d’arêtes par exemple. Dans la mesure du possible, ces formats
sont disponibles à la fois en lecture, et en écriture.
1389.3. Exportation, importation et visualisation
.
F 9.3 : Résultat d’une marche aléatoire sur un graphe généré à l’aide de l’algorithme
de D-M. Les couleurs indiquent la fréquence de passage des entités sur
l’arête, plus la couleur tend vers la rouge, plus le passage est important. On peut interpréter
ceci en terme de centralité : plus un nœud est connecté à des arêtes dont la fréquence est
forte, plus sa centralité est élevée.
139. O
001 DGS004
002 exemple 0 0
003
004 cg ”propriété du graphe”=10
005
006 an ”A”
007 an ”B” label:”Je suis B”
008 an ”C”
009
010 ae ”AB” ”A” ”B”
011 ae ”BC” ”B” > ”C”
012
013 st 2.0
014
015 dn ”B”
F 9.4 : Exemple de fichier DGS. On construit un graphe à trois nœuds A, B et C puis
une première arête AB entre les nœuds A et B, et un arc BC de B à C. À l’étape de temps 2,
on supprime le nœud B.
DGS : Dynamic Graph Stream
La plupart des formats présentés ci-dessus ne permettent pas de tenir compte de la dynamique.
Le format GEXF propose une gestion cumulative mais aucun ne permet de voir
la dynamique comme un flux d’événements. C’est pourquoi, afin de permettre un stockage
complet de la dynamique, GS introduit son propre format nommé DGS [G-
2013]. Il s’agit d’un format texte, lisible par l’œil humain, dans lequel chaque ligne
décrit un événement. Ce format permet de décrire l’ensemble des événements de modification
de la structure et des attributs que nous avons vu précédemment. Il permet de stocker
différents types de valeurs des attributs (chaînes de caractères, entiers, réels, couleurs) mais
aussi des types complexes (tableaux, tables de hachage). La figure 9.4 présente un exemple
de fichier DGS.
Une sortie DGS peut être connectée sur un graphe au début d’une simulation et enregistrer
ainsi l’ensemble des changements qui vont s’effectuer pour toute la durée de cette
simulation. On peut ainsi, grâce à une entrée DGS qui lirait le fichier produit, rejouer la totalité
de la simulation par la suite.
Le DGS est un format où chaque ligne correspond à un événement du graphe. Le ficher
commence par une entête composée de six caractères qui permet de définir la version utili-
1409.3. Exportation, importation et visualisation
sée : “DGS004”. Une ligne décrivant un événement commence par deux caractères qui vont
définir le type :
an, cn, dn permettent respectivement d’ajouter, modifier, et supprimer un nœud. Ils sont
directement suivis de l’identifiant du nœud concerné ;
ae, ce, de permettent quant à eux d’effectuer les mêmes opérations sur les arêtes. “ae”
est de plus suivi par les identifiants des extrémités de l’arête entre lesquels peut s’ajouter
le caractère “>” ou “<” afin de préciser la direction de l’arête ;
cg permet de modifier les attributs du graphe ;
st permet de modifier l’indice temporel ;
cl permet d’effacer le graphe.
La modification des attributs des éléments grâce aux types cn, ce, cg s’effectue sous la
forme “clef:valeur” ou “clef=valeur”. Les valeurs possibles sont des entiers, des réels,
des chaînes de caractères, des couleurs, mais aussi des tableaux et des dictionnaires. Les
tableaux sont entourés par les caractères “[” et “]”, tandis que les dictionnaires le sont par
les caractères “{” et “}”. Les valeurs ou associations clef/valeur, de ces types complexes
sont séparées par par le caractère “,”.
L’indice temporel, défini par le type “st”, est actuellement donné sous la forme d’un
réel. Dans les futurs versions, le format de l’indice pourra être personnalisé pour permettre
par exemple l’utilisation de dates.
9.3.2 Visualisation
La visualisation du graphe est une pièce importante d’une bibliothèque de graphe. Ivan
H, Guy M et M. Scott M en présentent une vue d’ensemble dans
[H, M et M 2000]. La dynamique liée au réseau d’interactions apporte
ses propres contraintes, comme cela est présenté par exemple par S. B-M
et D. A. MF dans [B-M et MF 2006]. GS fournit les
outils de base pour permettre la visualisation d’un graphe. Ces outils sont composés d’un
algorithme d’agencement des nœuds dans l’espace, d’une visionneuse, et d’un système de
style qui permet de personnaliser l’affichage. Le style est inspiré des feuilles de style utilisées
en HTML, le CSS . On peut alors définir le style du graphe, des nœuds et des arêtes. Il est
aussi possible de personnaliser le style d’un élément en particulier via son identifiant, ou d’un
groupe d’éléments à l’aide de classes. Certaines propriétés comme la couleur ou la taille des
éléments peuvent être dynamique ce qui permet la visualisation de l’évolution de mesures
associées aux éléments. La figure 9.5 présente un exemple exploitant la personnalisation de
l’affichage.
L’affichage permet les interactions entre l’utilisateur et le graphe, et peut ainsi communiquer
les événements liés à l’interface graphique (clics de la souris, position des nœuds) à
un algorithme ou une simulation tournant sur le graphe. Du fait que GS est une
1. Cascading Style Sheet
141. O
F 9.5 : Affichage avancé dans GS
bibliothèque et non un programme final, l’affichage peut être inséré dans n’importe quelle
application Java.
9.3.3 Communications réseaux, inter-threads et inter-plateformes
La bibliothèque fournit un protocole réseau, nommé NetStream, qui va permettre la diffusion
des événements entre des sockets. Il s’agit d’un format binaire optimisé pour réduire la
quantité de données et ainsi augmenter les performances. Ce protocole permet de connecter
une source et un puits situés sur différentes machines, ou encore de faire communiquer
GS avec un programme écrit dans un langage différent. Il est possible, par
exemple, d’héberger un graphe sur un serveur en utilisant GS et de créer un af-
fichage dans le navigateur d’un client grâce à une implantation Javascript de NetStream.
GS permet aussi de connecter une source et un puits qui sont exécutés dans
des threads différents. On utilise pour cela un système de boite aux lettres qui sert d’intermédiaire
entre les threads. Nous utilisons, par exemple, un canal inter-threads afin de
permettre de séparer l’affichage du graphe du traitement qui s’effectue sur ce graphe. Ainsi
la vue peut être exécutée de manière transparente dans son propre thread afin de décharger
l’utilisateur de la gestion des mécanismes liés à la visualisation.
Interactions avec NetLogo
Tandis que le protocole NetStream permet d’utiliser GS avec des plateformes
qui sont écrites dans un autre langage de programmation que le Java, il est tout à fait possible
d’intégrer la bibliothèque directement dans des plateformes qui, comme NetLogo par
exemple, sont écrites en Java.
Nous avons mis au point une extension NetLogo qui permet de modéliser le réseau d’interactions,
formés par les tortues, en un graphe. Cela nous permet d’exploiter l’ensemble de
l’algorithmique disponible dans GS afin de l’appliquer dans NetLogo. Cela nous
permet aussi de produire des graphes dynamiques à l’aide de simulations définies grâce au
logiciel NetLogo qui est un outil développé dans ce but, et qui possède un large éventail
d’exemples.
1429.4. Comment l’utiliser
. Source
Puits
NetStream
Réseau ou boucle locale
Socket
NetStream
Traitement
Processus 1
GraphStream
Processus 2
Autre programme
F 9.6 : Le protocole NetStream. Un programme GS est lancé dans lequel
une source produit un graphe qui est envoyé à un puits NetStream. Un autre programme est
lancé, éventuellement sur une machine différente. Ce programme inclut un socket qui se
connecte au puits NetStream et qui va être capable d’interpréter le protocole et de traiter le
graphe dynamique reçu.
L’extensionGSpour NetLogo s’accompagne de la possibilité d’afficher le graphe
créé par GS directement dans l’interface de NetLogo, comme présenté dans la fi-
gure 9.7.
9.4 Comment l’utiliser
GS est une bibliothèque gratuite et libre, free as in freedom. La bibliothèque
est divisée en plusieurs modules, afin de s’adapter aux besoins des utilisateurs. Le cœur de
GSconstitue le module principal gs-core qui se veut minimal tout en permettant
de manipuler un graphe dynamique, de lire la plupart des formats de fichier, et de fournir un
affichage minimal. Les algorithmes sont contenus dans un module gs-algo, en dehors de
certains algorithmes qui disposent de leur propre module, comme c’est le cas de AntCo2
. Un
affichage offrant plus de fonctionnalités est également disponible dans un module gs-ui.
D’autres modules spécifiques sont aussi disponibles, par exemple un projet permettant de
modéliser les réseaux routiers comme c’est le cas dans la figure 9.8, qui présente une figure
extraite de [N et al. 2009] présentant une marche aléatoire dans un graphe modélisant
le réseau routier du Havre.
143. O
F 9.7 : Intégration de GS dans NetLogo
144Références
. .
.
.
.
.
F 9.8 : Le réseau routier du Havre et de ses environs modélisé en tant que graphe par
GS. On applique sur ce graphe une marche aléatoire « temporisée » c’est à dire
que les entités qui l’utilisent vont à la vitesse maximale autorisée sur les arcs. Les entités
possèdent, de plus, une mémoire des arcs traversés (la taille de la mémoire est fixée à 40
pour cet exemple) qui agit comme une liste d’arcs tabous qui ne peuvent être utilisés qu’en
dernier recours.
Les différents modules peuvent être téléchargés depuis le site web de GS,
http://graphstream-project.org, qui procure aussi une documentation complète, ainsi
que la documentation de l’API et de nombreux tutoriels. Ils sont aussi disponibles dans le ré-
pertoire central de Maven, pour les projets utilisant cette méthode de production. Enfin, les
sources et les versions en cours de développement sont hébergées et disponibles sur Github,
https://github.com/graphstream.
Références
A, Rodrigo et Ignacio M (2011). “Deciphering network community structure by
surprise”. In : PloS one 6 (9), e24195. : 1932-6203.
B, Albert-László et Réka A (1999). “Emergence of Scaling in Random Networks”.
In : Science 286 (5439), p. 509–512. : 10.1126/science.286.5439.509.
: http://www.sciencemag.org/content/286/5439/509.abstract.
B, Vladimir et Andrej M (2004). Pajek—analysis and visualization of large networks.
Springer. : 3642622143.
145. O
B, Richard (1956). On a routing problem. DTIC Document.
B-M, Skye et Daniel A MF (2006). “The art and science of dynamic
network visualization”. In : Journal of Social Structure 7 (2), p. 1–38.
D, Camil et al. (2010). “Dynamic graph algorithms”. In : Algorithms and theory
of computation handbook. Chapman & Hall/CRC, p. 9–9. : 1584888229.
D, E. W. (1959). “A note on two problems in connexion with graphs”. In : Numerische
Mathematik 1, p. 269–271.
D, S. N. et J. F. F. M (2002). “Evolution of networks”. In : Adv. Phys,
p. 1079–1187.
F, Robert W. (1962). “Algorithm 97 : Shortest Path”. In : Communications of the ACM
5 (6), p. 345.
F, Lester Randolph (1956). Network Flow Theory.
G (2009). GEXF File Format. : http://gexf.net/format/ (visité le 04/11/2013).
G (2013). GraphStream - The DGS File Format. : http://graphstreamproject.org/doc/Advanced-
Concepts/The- DGS- File- Format_1.1/ (visité le
04/11/2013).
G (2013). The DOT Language | Graphviz - Graph Visualization Software. : http:
//www.graphviz.org/content/dot-language (visité le 04/11/2013).
H, Peter E, Nils J N et Bertram R (1968). “A formal basis for the heuristic
determination of minimum cost paths”. In : Systems Science and Cybernetics, IEEE
Transactions on 4 (2), p. 100–107. : 0536-1567.
H, Ivan, Guy M et M. Scott M (2000). “Graph visualization and navigation
in information visualization : A survey”. In : Visualization and Computer Graphics,
IEEE Transactions on 6 (1), p. 24–43. : 1077-2626.
K, Joseph B (1956). “On the shortest spanning subtree of a graph and the traveling
salesman problem”. In : Proceedings of the American Mathematical society 7 (1), p. 48–
50. : 0002-9939.
N, Michel et al. (2009). “Exploitation of a displacement survey to detect road network
use vulnerability”. In : ICCSA 2009 Conference Proceedings Special Sessions, p. 151–
155.
P, Universität (2011). Graph Modelling Language. Projects. : http://www.fim.
uni-passau.de/en/fim/faculty/chairs/theoretische-informatik/projects.
html (visité le 11/03/2013).
P, Robert Clay (1957). “Shortest connection networks and some generalizations”. In :
Bell system technical journal 36 (6), p. 1389–1401.
T (2013). Tulip software graph format (TLP) | Tulip. : http://tulip.labri.fr/
TulipDrupal/?q=tlp-file-format (visité le 04/11/2013).
V, John et al. (1995). “Design patterns : Elements of reusable object-oriented software”.
In : Reading : Addison-Wesley 49, p. 120.
W, Stephen (1962). “A theorem on boolean matrices”. In : Journal of the ACM
(JACM) 9 (1), p. 11–12. : 0004-5411.
146Références
W, Duncan J et Steven HS (1998). “Collective dynamics of ‘small-world’networks”.
In : nature 393 (6684), p. 440–442. : 0028-0836.
147Quatrième partie
Distribution
149C
10
R
10.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
10.1.1 Pourquoi une répartition dynamique ? . . . . . . . . . . . . 152
10.1.2 Organisations et répartition . . . . . . . . . . . . . . . . . 153
10.1.3 Répartition dynamique . . . . . . . . . . . . . . . . . . . . 153
10.1.4 Qui répartit le répartiteur ? . . . . . . . . . . . . . . . . . . 153
10.2 AntCo2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.2.2 Extraction des organisations . . . . . . . . . . . . . . . . . 159
10.2.3 Lissage . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.3 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.3.1 Description des simulations . . . . . . . . . . . . . . . . . 163
10.3.2 Méthodes existantes . . . . . . . . . . . . . . . . . . . . . 163
10.3.3 Intégration du nombre de migrations . . . . . . . . . . . . . 169
10.3.4 Synthèse générale sur les résultats . . . . . . . . . . . . . . 177
Dans ce qui précède, nous avons vu comment modéliser un système distribué dont le
but est la simulation de systèmes complexes. Nous allons maintenant nous intéresser à la
distribution de ce système qui repose sur deux points principaux. Nous présentons dans un
premier temps notre contribution à la répartition de charges, telle que nous l’avons définie
dans le chapitre 4, et qui permet de repartir les différentes entités sur les ressources de calcul
disponible de façon à équilibrer la charge de ces ressources. Ensuite dans le chapitre suivant,
nous nous focalisons sur notre apport à la couche logicielle, nommée intergiciel, permettant
au système de s’abstraire de la partie distribution.
151. R
10.1 Vue d’ensemble
La répartition de charges est une technique intervenant dans différents domaines et permettant
de manière générale de répartir des tâches sur un ensemble de ressources capables
de les effectuer, et cela de manière à exploiter au mieux les ressources. La répartition de
charges peut par exemple être utilisée devant un site web pour diriger les requêtes HTTP
vers différents serveurs afin d’exploiter la puissance de plusieurs serveurs et ainsi assurer
une meilleure qualité de service pour les utilisateurs.
Bien que dans notre cas, la répartition de charges consiste à répartir des entités plutôt que
des requêtes http, le rôle d’un algorithme de répartition de charges reste d’équilibrer la charge
de calcul d’un ensemble de machines disponibles. Du fait que ces entités interagissent, elles
produisent des communications entre les machines qui peuvent surcharger le réseau. C’est
pourquoi nous cherchons dans nos travaux, en complément d’une répartition équilibrée de
la charge calcul, à optimiser la charge réseau. Pour cela, nous réduisons les communications
distantes, que nous appelons aussi communications effectives et qui correspondent aux interactions
entre des entités situées sur des machines différentes, en privilégiant au contraire
les communications locales, lorsque les entités impliquées dans l’interaction se trouvent sur
la même machine.
10.1.1 Pourquoi une répartition dynamique ?
Nous avons vu dans le chapitre 4 un état de l’art sur la répartition de charges statique
et dynamique. Dans le cadre de nos travaux, une répartition statique implique de calculer
une solution de répartition pour le graphe d’interaction à un temps t. Nous pouvons ensuite
conserver cette solution tout au long de la distribution ou en calculer une nouvelle à partir
de zéro lorsque des conditions qui restent à définir sont remplies (délai, événement déclencheur,
etc…).
Si la première solution statique est adaptée à un système dont l’ensemble des entités
est lui aussi statique et où l’on ne cherche pas à minimiser la charge réseau, il devient impossible
de l’envisager dans notre contexte. Tout d’abord parce que les nouvelles entités qui
vont apparaître au cours de la distribution, n’étant pas présentes au calcul de la solution de
répartition, n’auront pas de ressource de calcul attribuée. Ces entités ainsi que celles qui vont
disparaître vont participer à déséquilibrer la charge de calcul au fur et à mesure. Au niveau
de la charge réseau, si dans le meilleur des cas le répartiteur prend en compte les interactions
au moment du calcul, il va considérer le système au tout début de son évolution, là où les
interactions ne l’ont pas encore structuré.
Recalculer une nouvelle solution depuis le début implique un coût de calcul supplémentaire
et il est donc nécessaire de jouer entre la fréquence du calcul et la validité de la solution
de répartition : plus le calcul sera fréquent, meilleure sera la solution, mais plus importante
sera la charge de calcul dédiée uniquement à la répartition.
Une répartition statique, outre le fait qu’elle ne permet pas de prendre en compte la
dynamique des entités autrement que par un nouveau calcul, ne permet pas non plus de
15210.1. Vue d’ensemble
prendre en compte la dynamique des machines.
10.1.2 Organisations et répartition
Dans notre contexte, les entités du système interagissent permettant l’émergence d’autoorganisation.
La quantité d’interactions entre les membres d’une même organisation étant
plus importante que celle entre les membres d’organisations différentes, il devient possible,
pour peu que l’on soit capable de détecter ces organisations, de répartir les dites organisations
sur l’ensemble des machines de façon à ce que les membres d’une même organisation
soient placés sur une même machine. On obtient ainsi une répartition de la majeure partie
des communications sur les machines, tandis que la part des communications entre machines,
c’est à dire des communications entre les organisations, est faible.
10.1.3 Répartition dynamique
La nature du système que nous distribuons implique que l’algorithme de répartition de
charges soit en mesure de prendre en compte la dynamique et soit capable de s’adapter aux
perturbations induites par l’ouverture du système.
La prise en compte de la dynamique va au delà d’un nouveau calcul d’une solution de
répartition lorsqu’une modification significative est détectée. Du fait que l’on cherche à optimiser
la charge de calcul, il ne faut pas que la charge dédiée au répartiteur de charges soit
supérieure au gain apporté, et doit donc être minimisée. Une caractéristique importante de
l’algorithme de répartition est donc d’avoir la capacité de mettre à jour une solution existante
afin de ne pas avoir à recalculer une solution à partir du début.
10.1.4 Qui répartit le répartiteur ?
La localisation du répartiteur de charges dans le système distribué est un problème qui
s’impose aussi à nous. Dans [D, O et S 2010b], nous présentions trois scénarios
envisageables concernant les différentes localisations possibles, résumés dans la figure
10.1.
La première solution consiste à centraliser la réification du graphe dynamique modélisant
la totalité de l’application sur une machine dédiée et d’exécuter le répartiteur de charges sur
ce graphe. Les notifications de migrations des entités sont ensuite envoyées aux machines
correspondantes. Cette solution possède plusieurs désavantages. Tout d’abord, elle ne tolère
pas les pannes : si une panne se produit sur la machine dédiée au calcul de la répartition, cela
désactive entièrement le calcul sur la totalité de l’application distribuée. De plus, la mise à
jour du graphe et l’envoi des notifications de migration tendent à augmenter la charge du ré-
seau. Enfin, cette solution, dans notre contexte, abouti à un non-sens : nous considérons en
effet une forte dynamique, autant au niveau de l’application que des machines permettant la
distribution ; or cette solution implique de rendre une partie des machines, la partie centrale
dédiée à la répartition, statique.
153. R
.
(a) (b) (c)
. machines répartiteur de charges
F 10.1 : Différents scénarios d’utilisation du répartiteur de charges : (a) une machine
dédiée, (b) un ensemble de machines dédiées, (c) chaque machine participe à la répartition
La seconde solution est similaire à la précédente : la réification du graphe est toujours
centralisée mais cette fois-ci sur un ensemble de machines, chaque machine hébergeant
une partie du graphe. Cette solution permet de tolérer des pannes qui surviendraient sur des
machines dédiées au calcul de la répartition mais implique à nouveau une augmentation de
la charge du réseau.
La dernière solution consiste à inclure une instance du répartiteur de charges sur chacune
des machines. Chacune de ces instances travaille sur la partie locale du graphe modé-
lisant l’exécution de l’application distribuée, c’est à dire le sous-graphe composé des entités
s’exécutant sur la machine courante. Les instances partageant des interactions entre entités
s’échangent des informations afin de maintenir un graphe global décentralisé qui soit cohé-
rent. Cette solution apporte plusieurs avantages :
1. la solution devient intégralement tolérante aux pannes des machines : de par la vision
locale que chaque instance a du graphe, une panne survenant sur une machine n’a pas
de répercutions sur le reste des machines ;
2. contrairement aux deux premières solutions, seules les informations concernant les
intersections entre les différents sous-graphes sont échangées au travers du réseau.
De plus, les échanges d’informations se font de façon pair à pair ce qui permet de mieux
répartir ces échanges sur le réseau.
Dans ce dernier scénario, la charge de calcul de chaque instance du répartiteur est dé-
pendante de la quantité d’entités hébergées sur la machine. Si les entités sont réparties de
manière équilibrée sur l’ensemble des machines, alors la charge de calcul dédiée au répartiteur
est elle aussi répartie de manière équilibrée ! On peut alors dire d’un tel répartiteur de
charge qu’il est auto-réparti.
Ces différents scénarios ne sont malheureusement pas possibles pour n’importe quel algorithme
de répartition de charges du fait que l’algorithme doit lui même être distribuable
pour les deux derniers scénarios.
Le premier scénario est difficilement envisageable dans notre contexte du fait que nous
avons comme contrainte un nombre d’entités considéré comme trop important pour qu’une
15410.2. AntCo2
structure de données dont la taille serait proportionnelle à ce nombre d’entités puisse être
utilisée. Or il est peu probable qu’une telle structure ne soit pas nécessaire lorsque le répartiteur
ne fonctionne que sur une machine.
10.2 AntCo2
Afin de répondre aux problèmes liés à la dynamique, Antoine D propose dans sa
thèse [D 2005] un algorithme nommé AntCo2 permettant la détection d’organisations
dans un graphe dynamique. Cet algorithme repose sur des colonies de fourmis dont les mé-
canismes de rétroaction positive et de rétroaction négative vont permettre à l’algorithme de
s’adapter à la dynamique.
Nous allons voir dans un premier temps le fonctionnement de cet algorithme, puis nous
verrons un problème lié à l’oscillation éventuelle de la solution qui aboutit à un surplus de
migrations des entités. Pour terminer, nous développerons une contribution permettant de
lisser le résultat fourni par AntCo2
afin de limiter l’oscillation.
10.2.1 Présentation
L’idée principale sur laquelle repose AntCo2
consiste à utiliser la structure du réseau d’interaction
sous-jacent à la simulation, les organisations, pour mieux distribuer les entités qui
la composent sur les ressources de calcul à disposition. Le rôle d’AntCo2
consiste à détecter
ces organisations au sein du réseau d’interaction, représenté par un graphe dynamique.
L’algorithme cherche alors à placer, si possible, les entités d’une même organisation sur la
même ressource de calcul. L’objectif est de minimiser les coûts de communication entre entités
fortement liées par leur liens préférentiels d’interaction, en distribuant la charge de calcul
par organisation sur les ressources disponibles.
Cependant, la détection d’organisation dans un graphe dynamique pose, comme nous
l’avons vu, le problème du maintien de ces organisations à travers les changements du graphe.
Si une approche naïve consiste à recalculer les organisations à chaque changement signifi-
catif dans le graphe, cette approche, outre la charge considérable de calcul générée évoquée
plus haut (cf. 10.1.3), pose la question importante de la mise en concordance des organisations
détectées entre deux étapes. AntCo2
est un algorithme dynamique capable de recycler
les calculs des étapes précédentes pour s’adapter à ces changements. Il est similaire en cela
aux algorithmes de ré-optimisation.
AntCo2 utilise des colonies de fourmis numériques pour détecter et suivre les organisations
dans le graphe dynamique représentant le réseau d’interaction de la simulation. Les
fourmis vont classifier les nœuds du graphe en les associant à une colonie de fourmis ou une
autre. Chaque colonie représente une ressource de calcul et, pour les distinguer, est associée
à une couleur. Les fourmis vont coloniser des parties du graphes pour se les approprier
et ainsi indiquer sur quelle ressource de calcul les entités doivent s’exécuter. Chaque sousgraphe
connexe dont les nœuds sont d’une même couleur forme alors une organisation au
155. R
sens de la répartition sur les ressources de calcul. Cependant chaque couleur peut éventuellement
représenter plusieurs organisations. En effet le nombre d’organisations ne correspond
pas au nombre de ressources de calcul. De plus, le nombre de fourmis de chaque colonie
dépend de la puissance relative des ressources de calcul et peut donc capturer un nombre
d’organisations petites ou grandes différent.
Un algorithme fourmi est constitué d’un ensemble de fourmis qui vont parcourir un environnement,
en l’occurrence le graphe dynamique, en déposant de l’information sur leur
chemin, des phéromones numériques par analogie aux molécules chimiques déposées par
les fourmis naturelles. Ces phéromones vont agir comme une boucle de rétroaction positive
qui va permettre de renforcer un chemin ou une zone en particulier. L’homéostasie du système
est possible grâce à un phénomène d’évaporation des phéromones qui permet d’une
part d’éviter une sur-concentration de phéromones et d’autre part d’adapter la solution aux
modifications de l’environnement.
L’algorithme repose sur un mécanisme de collaboration ainsi qu’un mécanisme de compétition.
La collaboration existe entre les fourmis d’une même colonie et permet aux fourmis
de détecter une structure en étant attirées par les phéromones de la colonie dont elles font
partie. Ceci est complété par la compétition qui se produit entre les colonies et qui se manifeste
par une répulsion des fourmis envers les phéromones des autres colonies. Ce second
mécanisme va permettre de maintenir une certaine pression sur la membrane des organisations
détectées et de maintenir un nombre équilibré d’organisations par colonie.
Nous allons maintenant décrire le fonctionnement de l’algorithme. Chaque fourmi traverse
le graphe dynamique, passant de nœud en nœud en suivant les arêtes. À chaque passage
sur une arête, les fourmis déposent une quantité de phéromones colorées spécifique
à leur colonie, un indicateur que les autres fourmis pourront lire. Quand un nœud est entouré
d’arêtes d’une couleur dominante, on dit que le nœud est conquis par la colonie de
cette couleur. L’algorithme en déduit donc que l’entité représentée par ce nœud doit s’exé-
cuter sur la ressource de calcul correspondante. Cette communication indirecte par le biais
de phéromones est dite stigmergique (cf. 6.2.1).
Lesfourmis choisissent la prochaine arête à traverser en utilisant un choix aléatoire biaisé.
Elles ont tendance à favoriser les arêtes qui représentent un fort niveau d’interaction ainsi
que celles ayant déjà une quantité importante de phéromones de leur couleur. Le premier
critère permet de favoriser la colonisation de zones de forte interaction, les organisations.
Le second permet aux fourmis, par rétroaction positive, de se regrouper sur une même zone
au sein de ces organisations.
Les phéromones s’évaporent à chaque étape de l’algorithme, en conséquence elles doivent
être maintenues par le passage constant des fourmis. C’est ce mécanisme qui permet à la fois
la colonisation des organisations par une colonie à l’exclusion des autres, et la gestion de la
dynamique du graphe. En effet, Les nouvelles organisations seront colonisées en raison de
leur forte interaction. Les organisations détectées seront entretenues par la forte interaction
et une quantité importante de phéromones d’une couleur sur leurs arêtes. Les organisation
qui disparaissent seront progressivement abandonnées par les fourmis en raison de
plus faibles interactions et du mécanisme de rétroaction négative dû à l’évaporation des phé-
15610.2. AntCo2
romones non renouvelées. Ainsi les solutions de distribution déterminées par AntCo2
sont
continuellement entretenues et évoluent en accord avec l’évolution du réseau d’interaction
sous-jacent lui-même.
La communication indirecte entre lesfourmis est aussi un atout pour la distribution même
de l’algorithme. En effet les fourmis étant des processus indépendants utilisant les informations
déposées dans leur environnement, elles sont implicitement distribuables. Ceci permet
d’utiliser AntCo2
avec les scénarios b et c de distribution évoqués dans la figure 10.1, en
particulier le scénario c qui implique une forme d’auto-répartition de l’algorithme d’AntCo2
lui-même (cf. 10.1.4).
Le modèle de l’algorithme est le suivant. Nous considérons un grapheG(t) = (V(t),E(t),C(t))
représentant l’ensemble des entités à distribuer et leurs interactions. Le temps t permet de
gérer la dynamique de l’ensemble de nœuds V(t), arêtes E(t) et couleurs C(t). Chaque couleur
est une colonie et représente une ressource de calcul. Les arêtes sont pondérées par un
poids w
(t)
indiquant l’importance de leur interaction au niveau de la simulation.
À cette description, nous ajoutons une information de quantité de phéromones déposée
par les fourmis sur les arêtes. Ainsi ces dernières contiennent un ensemble de messages
déposés par les fourmis de chaque couleur : card(C(t)) messages au temps t. Ces messages
représentent la quantité de phéromones de chaque couleur présente sur les arêtes au temps
t.
On note F(t) l’ensemble des fourmis au temps t, et Fc (t) l’ensemble des fourmis de
couleur c au temps t.
Une fourmi k de couleur c traversant une arête e entre les itérations t et t +1 dépose une
quantité de phéromones de couleur c :
∆
(t)
k
(e,c) (10.1)
La somme totale de phéromones de couleur c déposée sur l’arête e par toutes les fourmis de
cette couleur entre t et t +1 est :
∆
(t)
(e,c) =
∑
k∈Fc (t)
∆
(t)
k
(e,c) (10.2)
Ainsi, la quantité totale de phéromones sur une arête, quelle que soit la couleur est :
∆
(t)
(e) =
∑
c∈C(t)
∆
(t)
(e,c) (10.3)
Quand ∆
(t)
(e) ̸= 0, la proportion de phéromones de la couleur c sur e par rapport aux autres
couleurs entre les temps t et t +1 est :
K
(t)
c
(e) =
∆
(t)
(e,c)
∆(t)
(e)
(10.4)
avec K
(t)
c
(e) ∈ [0,1].
157. R
La quantité totale de phéromones de couleur c présente sur l’arête e entre les temps t et
t +1 est :
τ
(t)
(e,c) (10.5)
et la quantité totale, en considérant toutes les couleurs est :
τ
(t)
(e) (10.6)
Au début, cette valeur est fixée à :
τ
(0)(e) = ϵ (10.7)
Nous verrons par la suite que cette quantité ne peut être négative.
Comme nous l’avons dit plus haut, les phéromones s’évaporent à chaque étape de l’algorithme.
Ainsi, la quantité totale de phéromones de couleur c sur l’arête e au temps t est
définie par la récurrence :
τ
(t)
(e,c) = ρ ·τ
(t−1)(e,c)+∆
(t−1)(e,c) (10.8)
Où ρ ∈]0,1] est le facteur de persistance des phéromones (l’évaporation est 1−ρ).
La couleur ξ
(t)
(u) d’un nœud u du graphe est ensuite définie par la couleur prédominante
sur toutes ses arêtes adjacentes :
ξ
(t)
(u) = arg max
c∈C(t)
∑
e∈Eu(t)
τ
(t)
(e,c) (10.9)
avec Eu(t) l’ensemble des arêtes adjacentes au nœud u au temps t.
Les fourmis utilisent le graphe G(t) comme environnement et le traversent en allant de
nœud en nœud. Ainsi, à chaque pas de temps, chaque fourmi est associée à un nœud (qui
peut donc accueillir plusieurs fourmis). À chaque étape, les fourmis traversent une arête.
La quantité de phéromones perçue par une fourmi de couleur c est τ
(t)
(e,c), mais pondérée
par la présence d’autres couleurs de phéromones sur l’arête. Grâce à ce mécanisme,
les fourmis sont attirées par leur couleur et repoussées par les autres couleurs. On utilise
un facteur K
(t)
c
(e) pour définir les phéromones perçues sur une arête e par une fourmi de
couleur c :
Ω
(t)
(e,c) = K
(t)
c
(e)τ
(t)
(e,c) (10.10)
Ainsi à chaque étape de temps, une fourmi k de couleur c sur un nœud u choisit de
traverser une arête ou une autre en fonction des phéromones de sa couleur et des autres
couleurs sur cette arête. Nous notons p
(t)
(e,c) la probabilité que cette fourmi traverse l’arête
e = (u, v) entre t et t +1 :
p
(t)
(e,c) =
w
(0)
∑
(e)
ei ∈Eu(t)
w
(0)(ei)
if t = 0
p
(t)
(e,c) =
(
Ω
(t)
(e,c)
)α
·
(
w
(t)
(e)
)β
∑
ei ∈Eu(t)
(
Ω
(t)
(ei
,c)
)α
·
(
w
(t)
(ei)
)β
if t ̸= 0
(10.11)
15810.2. AntCo2
où les paramètres α et β (tous deux > 0), comme dans l’article original de D [D,
M et C 1996], permettent de modifier l’importance relative des phéromones
par rapport au poids des arêtes, et où Eu(t) est l’ensemble des arêtes adjacentes au nœud u.
Afin d’éviter les mouvements oscillatoires dans lesquels les fourmis vont et viennent
entre les deux mêmes nœuds u et v, nous introduisons dans chaque fourmi une mémoire des
derniers nœuds visités. Cela est très comparable à une liste tabou d’une taille donnée. Nous
introduisons dans 10.11 un coefficient η ∈]0,1] qui diminue l’importance des arêtes déjà traversées.
Ainsi chaque fourmi se souvient des M arêtes dernièrement traversées. La valeur
η pour une fourmi k sur le nœud u, considérant l’arête e = (u, v) est :
ηk (v) =
{
1 si v ∉ Wk
η si v ∈ Wk
(10.12)
Pour une fourmi de couleur c sur le nœud u, la nouvelle probabilité de choisir l’arête e = (u, v)
entre les temps t et t +1 est :
p
(t)
(e,c) =
(
Ω(t)
(e,c)
)α
·
(
w
(t)
(e)
)β
·ηk (u)
∑
ei ∈Eu(t)
(
Ω
(t)
(ei
,c)
)α
·
(
w
(t)
(ei)
)β
·ηk (vi)
(10.13)
Ce modèle présente le principe global defonctionnement de l’algorithme. Il existe d’autres
mécanismes qui sont utilisés dans les dernières versions de l’algorithme. Ils permettent de
l’améliorer en évitant la sur- ou sous-population de fourmis dans certaines zones du graphe
par exemple, en utilisant un paramètre d’agoraphobie ainsi qu’un autre de surpopulation. Il
y a aussi des mécanismes permettant de gérer l’ajout ou le retrait de colonies durant l’exé-
cution, fournissant ainsi la possibilité d’avoir une nombre de ressources de calcul variable
durant la simulation. Ces mécanismes sont décrits plus en détail dans [D 2005] et [B-
et al. 2007].
10.2.2 Extraction des organisations
AntCo2
fournit une classification des nœuds du graphe qui permet de dire que tel nœud
appartient à telle colonie. Le résultat ne fournit pas directement la structure des organisations,
mais permet de l’extraire : si deux nœuds adjacents appartiennent à une même colonie
alors ils sont dans la même organisation. On peut, à partir de cette assertion, extraire les organisations
à un temps donné.
L’analyse que nous souhaitons faire des organisations implique cependant d’aller au delà
de l’étude de leur structure à un temps donné, afin d’étudier l’évolution de cette structure.
Il est donc nécessaire d’être en mesure de maintenir la structure extraite d’une organisation
dans le temps.
159. R
F 10.2 : Application de AntCo2
à un graphe de 400 nœuds générés par attachement
préférentiel. Six colonies de fourmis ont été utilisées ici, on compte cependant une dizaine
d’organisations qu’il faut extraire.
10.2.3 Lissage
La membrane des organisations est une zone d’instabilité du fait que les nœuds de cette
partie de l’organisation interagissent avec les nœuds d’autres organisations. En fonction de
l’intensité de ces interactions, l’algorithme de détection d’organisations peut avoir quelques
difficultés à déterminer à quelle organisation appartiennent ces nœuds. C’est par exemple le
cas d’un nœud dans le graphe du Zachary Karate Club [Z 1977] dans lequel on observe
deux factions, celle de Mr. H et celle de J telles que représentées sur la figure 10.3, mais
où un nœud entretient des relations ambiguës avec les deux factions ce qui rend difficile de le
classer dans l’une ou l’autre. Lorsque de tels nœuds existent dans un graphe dynamique, il y
a une forte probabilité qu’ils oscillent d’une colonie à une autre. Dans le cadre de la répartition
de charges, une colonie étant associée à une ressource de calcul, un changement de colonie
va se traduire par la migration de l’entité correspondante au nœud vers sa nouvelle machine.
Cette migration a un coût d’une part en terme de charge réseau du fait que les données liées à
l’entité doivent être transférées, et d’autre part un coût temporel du fait que l’entité devient
temporairement indisponible pendant sa migration.
16010.2. AntCo2
.
F 10.3 : Graphe du Zachary Karate Club. Les nœuds carrés représentent la faction de
Mr. Hi, les ronds celle de John. Le nœud rond sans couleur pose problème pour déterminer
la faction à laquelle il appartient.
Le problème vient du fait que nous devons être capables de distinguer une migration
qui est le fruit d’un réel changement d’organisation d’un nœud et qui est donc nécessaire, du
bruit qui se produit aux périphéries des organisations provoquant des migrations à répétition.
Ce qui suit décrit différentes techniques de lissage dont le but est de réduire ce bruit provoquant
des migrations intempestives. Ces techniques prennent la forme d’un filtre qui se
place entre l’algorithme AntCo2
et la plate-forme dont le rôle est de procéder à une distribution
effective.
Différents modes de lissage
Le but n’est pas ici de référencer toutes les techniques possibles et imaginables mais de
présenter celles qui nous paraissent être les principales. Ces techniques peuvent être décrites
sous la forme d’une fonction booléenne dont un résultat de 0 indique que la migration ne doit
161. R
pas être effective, et inversement lorsque le résultat est 1 :
l(n,o,m) → b : (V,N,N) → {0,1} (10.14)
où :
— n est le nœud pour lequel un changement de colonie est possible ;
— o correspond à la couleur de la colonie à laquelle appartient actuellement le nœud ;
— m est la couleur de la nouvelle colonie proposée par AntCo2 pour le nœud.
Un lissage de base passif est le lissage identité qui se contente de transmettre les résultats
de AntCo2
sans les modifier :
l(n,o,m) = 1 (10.15)
Une première technique consiste à utiliser le temps. On introduit alors un délai qu’il faut
respecter avant de procéder à une nouvelle migration de l’entité :
l(n,o,m) =
{
0 si t ime()−l ast(n) < del ai
1 sinon
(10.16)
où :
— t ime() donne la date actuelle sous la forme d’une valeur entière ;
— l ast(n) est une fonction donnant la dernière date de migration du nœud n ;
— del ai est une constante correspondant au délai minimum nécessaire entre deux migrations
d’un nœud.
Cette technique possède l’avantage de sa simplicité de mise en œuvre et permet de ré-
duire la fréquence des migrations d’une entité oscillante. Cependant, l’oscillation des migrations
perdure bien qu’à une échelle de temps différente. De plus, si la fréquence de l’oscillation
est proportionnelle au délai, cette technique devient quasiment inefficace.
Il est possible de pallier ce dernier problème en instaurant un délai aléatoire par entité
à chaque nouvelle migration. Cette méthode comme la précédente reste une technique basique
qui permet simplement de réduire la fréquence de l’oscillation des migrations sans toutefois
la supprimer.
Lissage biomimétique
Une autre approche consiste à s’inspirer à nouveau de la nature, en l’occurrence du comportement
de groupe que l’on retrouve chez certaines espèces d’oiseaux, de poissons ou
encore d’insectes. C. R dans [R 1987] proposa un modèle permettant de
reproduire le comportement de ces essaims sur la base de trois règles s’appliquant à chaque
entité, nommée boid, de la simulation :
1. la cohésion, qui permet aux boids de se regrouper ;
2. la séparation, un mécanisme permettant de maintenir une certaine distance entre
deux boids afin qu’ils n’occupent pas le même espace ;
16210.3. Résultats
3. l’alignement, qui permet à l’ensemble des boids du groupe d’avoir une direction similaire.
On peut facilement étendre ce modèle afin de faire cohabiter plusieurs espèces de boids
qui se repousseraient mutuellement ou au contraire qui seraient régis par une relation de
proie/prédateur.
L’intérêt de ce modèle dans le cadre du lissage des résultats de AntCo2
vient du fait que
lorsqu’une entité (respectant les règles des boids) fait partie d’un groupe, il est nécessaire
d’appliquer une certaine force afin de séparer l’entité de son groupe ce qui donne une certaine
forme d’élasticité à la structure qui lui permet de rester soudée tout en s’adaptant aux
perturbations de l’environnement.
Or c’est cette élasticité que l’on recherche dans le lissage : une force qui maintienne
l’entité dans son organisation suffisamment pour résister aux migrations intempestives mais
qui permette tout de même à l’entité de quitter l’organisation lorsque c’est nécessaire.
10.3 Résultats
10.3.1 Description des simulations
La première simulation, nommée S1, est composée d’un graphe statique de 10201 nœuds
dont la topologie est une grille. Quatre colonies de fourmis sont utilisées pour répartir la
charge. La table 10.1 récapitule les paramètres utilisés pour initialiser l’algorithme AntCo2
,
qui est appliqué pendant 10000 étapes.
Nous nous basons sur le modèle des boids pour la seconde simulation, nommée S2, afin
de générer un graphe aléatoire. Les nœuds du graphe restent les mêmes tout au long de la
simulation mais les interactions évoluent. Le modèle des boids est idéal du fait qu’il amène à
la création d’organisation : des groupes de boids fortement liés se créent au fur et a mesure.
Pour éviter la création d’un seul groupe, nous utilisons deux espèces de boids : la première
est attirée par la seconde, tandis que la seconde est repoussée par la première. Nous utiliserons
de même quatre colonies de fourmis dans AntCo2 qui sera initialisé avec les mêmes
paramètres que la simulation précédente.
10.3.2 Méthodes existantes
Les résultats de AntCo2
sont initialement mesurés au travers de deux mesures r1 et r2. La
première permet de mesurer la proportion de communications effectives, établies entre des
entités hébergées sur différentes machines, par rapport aux communications locales établies
entre des entités hébergées sur une même machine. Cette mesure, dont le résultat est compris
dans l’intervalle [0; 1], permet d’évaluer la charge réseau : plus r1 est proche de zéro,
plus la charge réseau est faible. On considère un graphe G(t) = (V(t),E(t)) au temps t. Pour
chaque arête e ∈ E(t), w
(t)
(e) indique le poids de e. A(t) englobe les arêtes correspondant
163. R
graine aléatoire : 29136152552356L
α : 1.0
β : 3.0
fourmi par sommet : 4
ρ : 0.8
dépôt phéromone : 0.1
mémoire : 9
agoraphobie : 0.3
surpopulation : 10
T 10.1 : Paramètres.
aux communications effectives, c’est à dire les arêtes dont les nœuds sont contrôlés par des
colonies différentes de fourmis. r1 peut alors s’écrire :
r1 =
∑
a∈A(t)
w
(t)
(a)
∑
e∈E(t)
w
(t)
(e)
(10.17)
Cette mesure seule ne suffit pas : si toutes les entités sont placées sur une seule et même
machine alors l’on obtient une valeur de r1 optimale, or la charge de calcul n’est pas équilibrée
! r1 est donc associée à la mesure r2 qui permet de mesurer la qualité de la répartition
de la charge de calcul par un ratio entre la taille (en nombre de nœuds acquis) de la plus
petite colonie et la taille de la plus grande. Ainsi, plus r2 se rapproche de 1, plus la diffé-
rence entre les quantités d’entités des ressources de calcul diminue et donc meilleure est la
répartition de la charge. En considérant les sous-ensembles de nœuds Vi correspondant aux
nœuds contrôlés par chaque colonie de fourmis i, on peut écrire r2 sous la forme suivante :
r2 =
min(card(V1),...,card(Vk ))
max(card(V1),...,card(Vk ))
(10.18)
Si l’on considère r
i
1
, r
t
1
etr
c
1
comme correspondant respectivement aux valeurs de r1 pour
la méthode sans lissage, avec lissage temporisé, et avec le lissage par cohésion, on peut alors
considérer les différences ∆
t i r1 = r
t
1 − r
i
1
et ∆
ci r1 = r
c
1 − r
i
1
. De manière similaire pour r2,
on peut considérer les différences ∆
t i r2 = r
t
2 − r
i
2
et ∆
ci r2 = r
c
2 − r
i
2
. Ces différences nous
permettent de mieux évaluer la divergence des méthodes de lissage par rapport au résultat
initial.
16410.3. Résultats
Simulation S1
On peut observer sur les figures 10.4 et 10.5 l’évolution des paramètres r1 et r2 pour la
simulation S1 pour les différentes méthodes de lissage. On constate une période d’instabilité
sur les premières 1000 itérations, commune aux trois modes de lissage comparés, qui
correspond au temps nécessaire à AntCo2 pour stabiliser la solution. Puis on observe que la
mesure r1 se stabilise rapidement vers une valeur seuil proche de 0. La valeur 0 implique
qu’il n’y ait pas d’interactions entre les organisations, ce qui n’aurait aucun intérêt du fait
que dans cas, il n’y aurait pas de structuration à l’échelle globale du graphe.
La méthode de lissage utilisée affecte peu l’évolution des mesures r1 et r2. On constate
une valeur moyenne pour ∆
t i r1 de 3.87·10−3
avec un écart type de 2.81·10−2
, et pour ∆
ci r1
de 1.65·10−4
avec un écart type de 1.88·10−3
. La mesure r1 pour les lissages temporisé et par
cohésion est donc très proche de la mesure d’origine, avec un écartement plus faible pour le
lissage par cohésion. En ce qui concerne la mesure r2, la valeur moyenne de ∆
t i r2 est égale
à 1.20 · 10−3
et celle de ∆
ci r2 vaut 1.72 · 10−4
avec un écart type respectif de 1.05 · 10−2
et
de 2.07 · 10−3
. On constate que la mesure de r2 pour les résultats avec lissage par cohésion
est très proche du résultat d’origine. C’est aussi le cas, bien que de manière plus fluctuante,
pour le lissage temporisé.
Un décalage se fait ressentir pour le lissage temporisé par rapport aux résultats d’origine
et cela principalement lors d’une évolution significative de la mesure. Ce décalage n’est cependant
que le résultat de la temporisation du fait que les valeurs dont dépendent les mesures
r1 et r2 ne varient qu’en présence de migrations.
Modifier le délai dans le cas du lissage temporisé n’a que peu d’impact sur les mesures r1
et r2 : on constate simplement que le décalage relatif à l’évolution des mesures est proportionnel
au délai de la méthode de lissage (cf. les figures 10.6 et 10.7 pour la simulation S1,
et les figures 10.8 et 10.9 pour S2).
Simulation S2
L’ajout de la dynamique entraine des modifications significatives dans la structure du
graphe qui va nous permettre d’étudier l’adaptation dont est capable de faire preuve l’algorithme.
L’aspect général du tracé de r1 présenté dans la figure 10.10 montre que le lissage
a peu d’incidence sur la valeur de cette mesure. Le tracé de ∆
t i r1 et ∆
ci r1 indique que le
lissage temporisé améliore la qualité de r1, et que la valeur de r1 pour le lissage par cohésion
est confondue avec la valeur d’origine. La valeur moyenne de ∆
t i r1 est 6.38 · 10−3 pour un
écart type de 2.71 · 10−2
. Celle de ∆
ci r1 est 2.54 · 10−4
avec un écart type de 1.51 · 10−3
.
L’observation de la mesure r2 (cf. la figure 10.11) ne nous permet pas une conclusion
tranchée sur l’impact du lissage. L’observation de ∆
t i r2 et ∆
ci r2 montre que le lissage par
cohésion entraine une différence moins importante avec le résultat d’origine que le lissage
temporisé, mais que pour ces deux lissages, la différence est fluctuante.
165. R
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0
0.2
0.4
0.6
0.8
1
nombre de cycles
r1
. . sans lissage
. .
temporisé (100 étapes)
. . cohésion
1
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0
0.2
0.4
nombre de cycles
∆tir1 et ∆cir1
.
. ∆ti.
r1
. ∆ci.
r1
1
F 10.4 : Tracé de la mesure r1 pour la simulation S1. La différence moyenne entre la
mesure de r1 pour le lissage temporisé et celle de la méthode sans lissage est 3.87·10−3
avec
un écart type de 2.81 · 10−2
. Pour le lissage par cohésion, cette différence moyenne est de
1.65 · 10−4
avec un écart type de 1.88 · 10−3
16610.3. Résultats
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0.6
0.7
0.8
0.9
1
nombre de cycles
r2
. . sans lissage
. .
temporisé (100 étapes)
. . cohésion
1
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0
0.1
nombre de cycles
∆tir2 et ∆cir2
.
. ∆ti.
r2
. ∆ci.
r2
1
F 10.5 : Tracé de la mesure r2 pour la simulation S1. La différence moyenne entre la
mesure de r2 pour le lissage temporisé et celle de la méthode sans lissage est 1.20·10−3
avec
un écart type de 1.05 · 10−2
. Pour le lissage par cohésion, cette différence moyenne est de
1.72 · 10−4
avec un écart type de 2.07 · 10−3
167. R
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0
0.2
0.4
0.6
nombre de cycles
r1
. . 50 cycles
. . 100 cycles
. . 500 cycles
1
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0
0.2
0.4
0.6
nombre de cycles
∆tir1
. . 50 cycles
. . 100 cycles
. . 500 cycles
1
F 10.6 : Impact de la valeur du délai sur l’évolution de r1 pour la simulation S1.
Synthèse pour r1 et r2
Cette première série de résultats nous permet d’observer l’impact de la méthode de lissage
sur les mesures r1 et r2. Le lissage a pour but de réduire la quantité de migrations en
tentant de supprimer les migrations qui sont le résultat de l’oscillation d’une entité entre plusieurs
colonies. Les mesures r1 et r2 ne tenant pas compte des migrations, on ne s’attend
pas ici à une amélioration du résultat de ces mesures mais l’on souhaite en revanche que le
lissage ne les dégrade pas. D’après les observations que l’on peut faire sur les résultats, le
lissage a un impact faible sur les mesures, ce qui nous permet de le considérer comme peu
significatif.
Le lissage utilisant la cohésion est plus proche des résultats d’origine que la méthode
temporisée. Bien que les différences soient peu significatives, on peut toutefois noter que
16810.3. Résultats
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0.7
0.8
0.9
nombre de cycles
r2
. . 50 cycles
. . 100 cycles
. . 500 cycles
1
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0
0.1
0.2
nombre de cycles
∆tir2
. . 50 cycles
. . 100 cycles
. . 500 cycles
1
F 10.7 : Impact de la valeur du délai sur l’évolution de r2 pour la simulation S1.
la mesure r1 semble être la moins affectée par le lissage. D’après ces premiers résultats,
l’objectif est atteint : l’ajout du lissage n’a pas dégradé la qualité de la répartition.
10.3.3 Intégration du nombre de migrations
L’objectif que nous cherchons à atteindre au travers des méthodes de lissage est la réduction
de la quantité de migrations. En effet, une migration rend temporairement indisponible
l’entité migrante et implique des communications effectives pour transporter l’entité d’une
machine à une autre.
Nous allons observer désormais l’évolution d’une part du nombre total de migrations survenant
pendant la simulation, et d’autre part de celui des communications effectives. Ces
169. R
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0.68
0.7
0.72
0.74
0.76
nombre de cycles
r1
. . 50 cycles
. . 100 cycles
. . 500 cycles
1
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0
0.1
nombre de cycles
∆tir1
. . 50 cycles
. . 100 cycles
. . 500 cycles
1
F 10.8 : Impact de la valeur du délai sur l’évolution de r1 pour la simulation S2.
informations sont représentées sur la figure 10.12 pour la première simulation et sur la figure
10.13 pour la seconde.
Simulation S1
On constate que la méthode temporisée a permis de réduire de près de deux tiers la
quantité totale de migrations pendant la simulation S1. On note toutefois une augmentation
du nombre total de communications, mais cette augmentation a eu lieu durant la période
d’instabilité des 1000 premiers cycles. Cette méthode a permis en moyenne de diminuer le
nombre de migrations par cycle de 3.55, pour un écart type de 70.71. La quantité de communications
a, quant à elle, augmenté en moyenne de 78.09 par cycle, pour un écart type
17010.3. Résultats
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0.9
0.95
1
nombre de cycles
r2
. . 50 cycles
. . 100 cycles
. . 500 cycles
1
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
−0.1
0
0.1
nombre de cycles
∆tir2
. . 50 cycles
. . 100 cycles
. . 500 cycles
1
F 10.9 : Impact de la valeur du délai sur l’évolution de r2 pour la simulation S2.
de 568.16.
La réduction du nombre de migrations entrainée par la méthode par cohésion est moins
importante que celle de la méthode précédente mais a permis, tout de même, de réduire
d’un peu moins d’un tiers la quantité de migrations pour une augmentation des communications
faible. Le tracé de la quantité totale de communications montre que l’impact sur les
communications est quasiment nul. On observe une réduction moyenne de 1.48 migrations
par cycle, pour un écart type de 6.80 ; ainsi qu’une augmentation moyenne de 3.33 communications
par cycle, pour un écart type de 38.00.
171. R
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0.65
0.7
0.75
nombre de cycles
r1
. . sans lissage
. .
temporisé (100 étapes)
. . cohésion
1
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0
0.1
nombre de cycles
∆tir1 et ∆cir1
.
. ∆ti.
r1
. ∆ci.
r1
1
F 10.10 : Tracé de la mesure r1 pour la simulation S2. La différence moyenne entre la
mesure de r2 pour le lissage temporisé et celle de la méthode sans lissage est 6.38·10−3
avec
un écart type de 7.08 · 10−3
. Pour le lissage par cohésion, cette différence moyenne est de
2.54 · 10−4
avec un écart type de 1.51 · 10−3
17210.3. Résultats
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
0.7
0.8
0.9
1
nombre de cycles
r2
. . sans lissage
. .
temporisé (100 étapes)
. . cohésion
1
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
−0.1
0
0.1
nombre de cycles
∆tir2 et ∆cir2
.
. ∆ti.
r2
. ∆ci.
r2
1
F 10.11 : Tracé de la mesure r2 pour la simulation S2. La différence moyenne entre la
mesure de r2 pour le lissage temporisé et celle de la méthode sans lissage est −5.21 · 10−4
avec un écart type de 2.71·10−2
. Pour le lissage par cohésion, cette différence moyenne est
de −9.47 · 10−5
avec un écart type de 1.08 · 10−2
173. R
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
103
104
nombre de cycles
Cumul des migrations
. . sans lissage
. .
temporisé (100 étapes)
. . cohésion
1
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
105
106
107
nombre de cycles
Cumul des communications
. . sans lissage
. .
temporisé (100 étapes)
. . cohésion
1
F 10.12 : Évolution du nombre total de communications effectives et de migrations pour
la simulation S1 (échelle logarithmique)
17410.3. Résultats
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
104
105
106
107
108
nombre de cycles
Cumul des migrations
. . sans lissage
. .
temporisé (100 étapes)
. . cohésion
1
.
.
0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000
105
106
107
108
109
nombre de cycles
Cumul des communications
. . sans lissage
. .
temporisé (100 étapes)
. . cohésion
1
F 10.13 : Évolution du nombre total de communications effectives et de migrations pour
la simulation S2 (échelle logarithmique)
175. R
Simulation S2
Les résultats des mesures effectuées sur la simulation S2 montrent une très forte réduction
du nombre de migrations grâce au lissage temporisé, cette méthode ayant permis de
réduire le nombre total de migrations d’un facteur 65.37. La quantité de migrations par cycle
a été réduite de 4778.06, pour un écart type de 933.86. L’impact sur les communications se
traduit par une augmentation moyenne de 483.23 communications par cycle, pour un écart
type de 586.94.
Relativement aux résultats de la méthode temporisée, le lissage par cohésion n’a eu que
peu d’impact sur le nombre total de migrations. On observe toutefois une réduction nonnégligeable
de 279.22 migrations par cycle, pour un écart type de 97.42. La quantité de communications,
quant à elle, n’a augmenté en moyenne que de 19.56 par cycle, pour un écart
type de 119.63.
Synthèse pour le nombre de migrations et de communications
On remarque ici que la méthode de lissage implique un compromis entre la réduction du
nombre de migrations et l’augmentation des communications effectives. Ceci s’explique du
fait que le lissage augmente la difficulté pour une entité de quitter une organisation pour une
autre qui lui serait plus appropriée. Si la nouvelle organisation est plus appropriée, on peut
supposer que l’entité interagit fortement avec les membres de cette nouvelle organisation,
ce qui se traduit par des communications effectives tant que l’entité n’aura pas rejoint le
groupe.
Pour évaluer ce compromis, on considère qu’une migration possède un coût cm et qu’une
communication possède un coût cc . Comme nous connaissons le nombre total de migrations
nm et celui de communications nc , nous pouvons calculer le coût total C de la simulation
sous la forme :
C = nc ×cc +nm ×cm
Une migration impliquant au minimum une communication, on peut exprimer cm en
fonction de cc tel que cm = k ×cc pour k ≥ 1. On obtient alors :
C = cc ×(nc +k ×nm)
En se basant sur une valeur de référence cc = 1, nous pouvons faire varier la valeur de k et
observer les implications sur C. Les figures 10.14 et 10.15 illustrent ces variations pour les
différents modes de lissage.
On peut alors observer que dans la cas de la simulation S1 le choix de la méthode de
lissage la mieux adaptée est dépendant de k. Lorsque k < 20, on constate que le lissage
temporisé a un apport négatif sur le coût global de la simulation. Passé ce seuil, plus la valeur
de k augmente, plus le lissage temporisé permet d’améliorer de façon significative le coût.
Le lissage par cohésion améliore le coût global, même pour des faibles valeurs de k. Passé le
seuil de k = 35, cette méthode est moins performante que le lissage temporisé.
17610.3. Résultats
.
.
0 5 10 15 20 25 30 35 40 45 50
7 · 106
8 · 106
9 · 106
k
. . sans lissage
. .
temporisé
. . cohésion
1
F 10.14 : Évolution de C en fonction de k pour la simulation S1
.
.
0 5 10 15 20 25 30 35 40 45 50
1 · 109
2 · 109
3 · 109
k
. . sans lissage
. .
temporisé
. . cohésion
1
F 10.15 : Évolution de C en fonction de k pour la simulation S2
Contrairement à la simulation S1 où le choix de la méthode de lissage est dépendant
de k, l’observation du coût pour S2 ne laisse aucune ambiguïté : le lissage temporisé est
avantageux peu importe la valeur de k. Le lissage par cohésion apporte tout de même une
amélioration du coût qui est cependant sans commune mesure avec l’amélioration apportée
par la temporisation.
10.3.4 Synthèse générale sur les résultats
Nous avons présenté des résultats sur des méthodes de lissage des résultats de AntCo2
.
Le but de ce lissage est de réduire la quantité de migrations sans détériorer la qualité de
la répartition. Nous avons donc dans un premier temps observé l’impact du lissage sur les
mesures r1 et r2 qui permettent d’évaluer respectivement la charge du réseau et la charge
de calcul. Puis nous avons analysé l’évolution de la quantité totale de migrations ainsi que
177. R
de celle des communications entre machines.
Pour cela, nous avons considéré deux simulations : une première, S1, sur un graphe
statique dont la topologie est une grille ; et une seconde, S2, sur un graphe dynamique généré
grâce au modèle des boids (cf. l’annexe A). D’autres expérimentations devront être réalisées
sur des topologies de graphes différentes afin d’affiner ces résultats.
L’étude de r1 et r2 nous a permis d’observer que le lissage a un faible impact sur la qualité
de la solution. Cet impact est fluctuant, et peut en général être positif ou négatif. On distingue
tout de même le cas de la mesure r1 dans la simulation S2 pour le lissage temporisé pour
laquelle l’impact est ici négatif, bien que dans une moindre mesure.
L’étude du nombre de migrations et de communications permet de démarquer la mé-
thode de lissage temporisé, en particulier dans le cas de la simulation S2 qui correspond au
cas de figure le plus proche de la pratique. La méthode par cohésion remplit tout de même
notre objectif d’améliorer la répartition en réduisant la quantité de migrations. Cependant,
le lissage temporisé possède l’avantage de la simplicité de sa mise en pratique.
178C
11
I
11.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
11.2 L’acteur, un objet actif . . . . . . . . . . . . . . . . . . . . . . . . 180
11.2.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 181
11.2.2 Le paradigme acteur . . . . . . . . . . . . . . . . . . . . . 184
11.2.3 Gestion des différents mécanismes . . . . . . . . . . . . . . 184
11.3 Une architecture décentralisée . . . . . . . . . . . . . . . . . . . . 187
11.3.1 Agence . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
11.3.2 Le tout acteur . . . . . . . . . . . . . . . . . . . . . . . . 187
11.4 Services des agences . . . . . . . . . . . . . . . . . . . . . . . . . 188
11.4.1 Découverte d’autres agences . . . . . . . . . . . . . . . . . 188
11.4.2 Lucioles et horloge globale décentralisée . . . . . . . . . . . 188
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Nous avons vu jusqu’à présent que nous pouvons modéliser l’application que l’on souhaite
distribuer sous la forme d’un graphe dynamique. Puis, nous avons présenté comment,
en utilisant un algorithme dynamique de détection d’organisations, nous pouvions fournir
les informations nécessaires à la répartition des entités de l’application sur l’ensemble des
machines à disposition de manière à équilibrer la charge de calcul et à réduire la charge du
réseau.
Afin de parvenir à une distribution de l’application, nous avons besoin de fournir à cette
application un environnement qui va permettre de gérer la répartition effective des entités
sur l’ensemble des machines. Cet environnement, que nous avons décrit dans la partie
5.1.4, prend la forme d’une couche qui va venir se placer entre l’application et l’ensemble des
179. I
machines. Nous présentons ici notre plateforme de distribution qui a été développée durant
cette thèse, qui permet d’aborder la distribution de manière dynamique et décentralisée. Elle
s’appuie sur le modèle d’acteur que nous décrivons dans la partie 11.2.
11.1 Vue d’ensemble
L’intergiciel est une couche qui va venir se placer entre les ressources de calcul et l’application
que l’on souhaite distribuer. Il va permettre à l’application de s’abstraire de la gestion
des ressources de l’une des façons suivantes :
1. soit en rendant la distribution complètement opaque pour l’application qui n’a alors
pas connaissance de sa distribution ;
2. soit en distribuant de manière transparente, de ce fait l’application a alors connaissance
de sa distribution et peut éventuellement agir dessus ; l’intergiciel permet dans
ce cas de fournir la gestion et les fonctionnalités de base pour permettre cette distribution.
Nous voyons l’intergiciel comme faisant partie de l’écosystème computationnel dans lequel
va évoluer l’application et qui va lui permettre d’être distribuée. Une particularité de
l’ensemble des machines qui sont à disposition est sa dynamique : de nouvelles machines
peuvent être ajoutées au cours de la distribution tandis que certaines peuvent être retirées.
Le retrait de machines peut être d’une part intentionnel, c’est à dire que nous avons un
certain contrôle sur ce retrait, mais il peut être aussi inopiné, suite à une défaillance par
exemple. Ces ajouts et suppressions de machines peuvent aussi être liés à des perturbations
de la connexion comme ça peut être le cas de connexion sans fil pour des machines mobiles.
L’objectif de l’intergiciel vis-à-vis de cette dynamique est d’être capable de s’adapter aux différents
cas de figure, particulièrement les cas liés à l’imprévisible, et cela afin de garantir la
robustesse du système.
Le rôle de l’intergiciel est de gérer les migrations des entités sur les machines disponibles
en utilisant les informations fournies par l’algorithme de répartition de charges. Il doit aussi
fournir l’outillage nécessaire pour permettre aux entités d’interagir entre elles en particulier
lorsque ces entités sont hébergées sur des machines différentes. Cette partie de l’écosystème
computationnel doit à son tour subir les contraintes liées aux simulations que l’on
souhaite distribuer c’est à dire une ouverture du système, une quantité d’entités et d’interactions
entre ces entités suffisamment importante pour empêcher l’utilisation de structures
de données globales.
11.2 L’acteur, un objet actif
Du fait du nombre important d’entités que la plateforme doit être capable de supporter, et
de la quantité d’interactions entre ces entités, nous avons besoin d’un modèle qui soit adapté
à ces contraintes. Des communications directes entres les entités ne sont pas envisageables
18011.2. L’acteur, un objet actif
du fait qu’il en résulterait un blocage systématique, voire définitif, de l’application. Nous
optons donc pour des communications indirectes prenant la forme de requêtes envoyées
par une entité à une autre. Nous utilisons, de ce fait, le concept d’objet actif, aussi nommé
acteur, dont l’architecture a été initialement définie par C. H, P. B et R. S
dans [H, B et S 1973].
Un objet actif se distingue d’un objet classique par le fait qu’il possède son propre fil
d’exécution qui lui permet une gestion désynchronisée des appels aux méthodes. La figure
11.1 illustre cette différence. Dans le cas d’objets classiques, A doit attendre que B termine
l’exécution de la méthode avant de pouvoir effectuer d’autres tâches. A est alors dans un état
bloquant tant que B n’a pas terminé son exécution. Au contraire, dans le cas d’objets actifs,
l’appel d’une méthode prend la forme d’une requête qui est envoyée à la cible et dont on
peut traiter le résultat que plus tard, lorsqu’il sera disponible. A peut alors effectuer d’autres
tâches en attendant que l’exécution de B soit terminée.
11.2.1 Architecture
Un acteur est formé de différents composants. Tout d’abord, le noyau même de l’acteur
qui est le moteur étant capable d’exécuter les requêtes. Le noyau est composé d’un thread,
d’une liste de requêtes à exécuter, et d’un objet classique qui contient les méthodes disponibles.
Les requêtes sont exécutées à l’intérieur du thread selon une politique FIFO qui
peut cependant être personnalisée pour répondre aux besoins de l’application. On peut par
exemple définir des requêtes prioritaires qui seraient exécutées en premier lieu.
Le second composant d’un objet actif est le proxy qui permet de recevoir les requêtes et
donc d’alimenter la liste du noyau. Les requêtes peuvent être envoyées au proxy au travers
d’un réseau ou d’une boucle locale ce qui permet de distribuer les objets actifs sur un ensemble
de machines. L’envoi des requêtes est réalisé grâce à un objet talon qui symbolise
l’objet que l’on souhaite contacter, ce qui permet de le manipuler de manière transparente.
Afin de gérer l’asynchronisme des appels aux méthodes, l’objet talon procède à deux
opérations :
1. il envoie une requête, décrivant la méthode invoquée, au proxy de l’objet actif qu’il
représente ;
2. il retourne directement à l’objet appelant un futur qui représente le résultat de la requête
qui sera transmis par la suite.
Le futur permet de fournir les fonctionnalités nécessaires pour connaître l’état de la requête.
Ainsi l’objet appelant peut savoir, grâce au futur qui lui a été retourné, si le résultat est disponible,
ou encore entrer dans un état bloquant dont il ne pourra sortir qu’une fois le résultat
mis à disposition.
La figure 11.2 résume l’ensemble de l’architecture d’un acteur.
1. First In First Out
181. I
.
objets classiques
objets actifs
A
A appelle une méthode de B
B
B exécute la méthode
B
B retourne le résultat
A
A traite le résultat
A
A envoie une requête à B
A
A exécute d’autres tâches
A
quand le résultat est disponible
A procède au traitement
B
B reçoit une requête
B
en fonction d’un ordonnanceur
la requête est exécutée
B
B retourne le résultat
F 11.1 : Appel de méthode entre objets classiques et objets actifs. Un objet A appelle
une méthode d’un objet B. B exécute alors cette méthode et retourne un résultat à A qui
effectue alors un traitement.
18211.2. L’acteur, un objet actif
. . . . .
réseau
requêtes
objet contenant les méthodes
thread d’exécution
proxy
objet talon futur
F 11.2 : Architecture d’un acteur.
183. I
11.2.2 Le paradigme acteur
Dans [A et al. 1997], Gul A et al. résument les principes fondamentaux qui
servent de base au paradigme acteur :
1. tout objet est un acteur, les auteurs incluent aussi les messages et les nombres dans
cette propriété ; bien que nous considérons nous aussi un système où tout est acteur,
comme nous le verrons dans 11.3.2, certains objets restent des objets classiques (en
particulier les types primitifs comme les entiers et les réels) pour des raisons de performances
ainsi que pour simplifier la plateforme de distribution ;
2. on ne peut agir sur un acteur, l’observer, ou le modifier autrement que par l’envoi
d’une requête à cet acteur, qu’il exécutera lui-même ;
3. les seules choses qui se produisent dans un système composé d’acteurs sont des évè-
nements, qui consistent à l’envoi/réception d’un message entre acteurs ;
4. un acteur peut envoyer plusieurs messages au même moment mais les reçoit de manière
linéaire et ne les traite donc qu’un par un ;
5. chaque acteur a connaissance d’un ensemble d’autres acteurs ; cet ensemble peut évoluer
au fil du temps grâce à l’échange de messages qui permet de rencontrer indirectement
de nouveaux acteurs.
Il ressort de ces principes que la transmission des requêtes est au cœur d’un système
composé d’acteurs.
11.2.3 Gestion des différents mécanismes
Nous avons vu l’architecture générale d’un acteur. Dans la pratique, il est nécessaire de
gérer différents problèmes liés à ce modèle, ainsi qu’à la décentralisation de la plateforme.
En particulier, sur l’identification des objets, le référencement des futurs, ainsi que sur le
mécanisme de migration d’un objet.
Gestion des objets
La plateforme de distribution est constituée d’un nombre important d’acteurs qui sont
pour certains des composants de l’application distribuée, et pour d’autres des composants
de la plateforme elle-même. Afin de contacter chacun de ces acteurs, pour leur transmettre
des requêtes, il est nécessaire d’être en mesure de les identifier de manière unique.
L’identification d’un acteur est faite grâce à une chaîne de caractères correspondant à
une URI telle que définie dans [M, B-L et F 2005]. L’identifiant a
alors la forme suivante :
protocole://hote/chemin/id
2. Uniform Resource Identifier
18411.2. L’acteur, un objet actif
Cet identifiant peut être divisé en deux parties. D’une part, une partie fixe composée du chemin
et de l’id qui sont fixés définitivement à la création de l’acteur. Et d’autre part, une partie
variable, composée du protocole et de l’hôte, qui elle varie en fonction de la machine qui hé-
berge l’objet actif. L’id est une chaîne de caractères unique pour l’ensemble des machines.
Elle est créée à partir de l’adresse de la machine et d’une estampille temporelle afin d’assurer
cette unicité. Le chemin permet de regrouper des objets entre eux lorsque ceux-ci partagent
une même fonction par exemple, ou sont du même type. Enfin, le protocole définit la mé-
thode à utiliser afin de communiquer avec le proxy de l’objet actif désigné. La seconde partie
peut être omise, dans ce cas on considère que l’objet actif cible se situe sur la même machine
que la source.
Chaque acteur possède un certain nombre de méthodes qui peuvent être appelées par
d’autres acteurs. Le nom de la fonction qu’un acteur source souhaite appeler est alors ajouté
à l’identifiant de la cible pour former une requête :
protocole://hote/chemin/id?callable=nom
Gestion des futurs
Les futurs sont aussi des composants qui ont besoin d’être identifiés de manière unique.
La portée de cette unicité peut toutefois être limitée à celle de la machine qui héberge l’acteur
à la source de la requête. La référence du futur peut alors être ajoutée à la requête lorsque
l’on en attend un résultat :
protocole://hote/chemin/id?callable=nom&future=id_futur
Le futur est alors référencé sur la machine source en attendant le résultat de l’acteur
cible. Celui-ci, une fois l’exécution de la requête terminée, peut retourner le résultat, accompagné
de la référence du futur, à l’acteur source.
Gestion des migrations
La migration consiste à déplacer un acteur de la machine qui l’héberge à une autre. Il est
donc nécessaire pour cela de transférer la liste des requêtes courantes ainsi que l’objet utilisé
par l’acteur pour exécuter les requêtes.
Le protocole de migration consiste à :
1. demander l’accord de migration à la machine de destination ;
2. transférer les données de l’acteur si l’autorisation est accordée ;
3. reprendre l’exécution des requêtes depuis le nouvel hôte.
Lorsqu’une demande de migration est effectuée, l’acteur entre dans un état de transition
lorsque l’exécution de la requête courante est terminée. La demande d’hébergement est alors
envoyée à la machine de destination. Celle-ci donne alors son autorisation pour continuer la
migration, ou au contraire, refuse que la migration soit effectuée si, par exemple, elle ne
185. I
.
1
2
3
4
5
machine A machine B
entité à migrer
nouveau noyau de l’entité
demande de migration
création du réceptacle
autorisation de migration
duplication des données
suppression des données d’origine
F 11.3 : Protocole de migration
possède pas les ressources nécessaires pour accueillir le nouvel acteur. Si la migration est
refusée, l’acteur retourne à l’exécution de ses requêtes : la migration est annulée. Si la machine
accepte, elle initialise une nouvelle liste de requêtes qui servira à accueillir les requêtes
reçues pendant la migration. L’acteur duplique ensuite ses requêtes vers cette nouvelle liste
ainsi que les autres données qui lui sont associées. Si aucune erreur n’est rencontrée pendant
la migration, l’acteur peut alors continuer son exécution sur son nouvel hôte, et les
anciennes données peuvent être supprimées.
Gestion des threads
L’architecture d’un acteur implique que chaque acteur possède son propre fil d’exécution.
En pratique, et particulièrement dans notre cas où nous manipulons un nombre important
d’acteurs, il n’est pas possible d’affecter à chaque acteur un thread dédié. La plateforme de
distribution que nous proposons est prévue pour accueillir des machines « standards ». Ces
machines permettent à ce jour d’exécuter 4 à 8 threads simultanément dans des conditions
optimales. Nous serions donc fortement limités sur la quantité d’acteurs qui pourraient
s’exécuter sur chaque agence.
3. en considérant 2 à 4 cœurs hyperthreadés par machine
18611.3. Une architecture décentralisée
C’est pourquoi nous définissons un ensemble de threads qui sera partagé par l’ensemble
des acteurs. Afin d’exécuter une requête, un acteur doit donc attendre qu’un thread soit
disponible, puis prendre la main sur ce thread. L’acteur exécute sa requête puis rend la main
qu’il a prise sur le thread.
11.3 Une architecture décentralisée
Le modèle d’intergiciel que nous proposons repose sur une architecture décentralisée
dans le sens où la hiérarchie entre les machines est inexistante. Chaque machine participe
donc à la formation de l’écosystème computationnel au même titre que les autres. L’objectif
est d’augmenter la robustesse du système. En effet, lorsqu’un système est centralisé, il
devient dépendant de la partie centrale, et si cette dernière venait à être inaccessible, le
système entier en deviendrait figé.
11.3.1 Agence
L’agence est la réification locale de la plateforme distribuée sur chacune des machines
y participant. Une machine qui souhaite rejoindre la distribution doit donc lancer sa propre
agence qui va ensuite se connecter au réseau d’agences.
Une agence est un acteur particulier qui a la possibilité d’en créer d’autres. Elle permet
de fournir les fonctionnalités de base de la plateforme.
11.3.2 Le tout acteur
Chaque composant de la plateforme de distribution est un acteur. Ainsi on trouve l’acteur
principal qui est l’agence, puis les fonctionnalités de cette agence, les entités, etc…
De même, les protocoles de communication, qui permettent l’échange de requêtes entre
agences, sont aussi des acteurs. On peut classer ces acteurs en plusieurs catégories :
l’agence elle est unique et nécessaire pour une instance locale de la plateforme ;
les fonctionnalités acteurs modulaires qui sont chargés par l’agence pour étendre sesfonctionnalités
; ils n’ont pas la possibilité de migrer ;
les protocoles ce sont les acteurs dédiés à l’échange de requêtes entre les acteurs situés
sur des agences différentes ;
les entités il s’agit des acteurs qui vont composer l’application distribuée ; ils ont la possibilité
de migrer d’une agence à une autre.
187. I
11.4 Services des agences
11.4.1 Découverte d’autres agences
La plateforme distribuée repose sur une architecture décentralisée, formée par l’interconnexion
d’agences. De ce fait, elle ne possède pas d’annuaire centralisé auquel une agence
pourrait se connecter pour connaître la liste des agences actuellement connectées à la plateforme.
Une agence a cependant besoin d’informations afin de pouvoir se connecter à d’autres,
c’est pourquoi il est nécessaire d’introduire une fonctionnalité permettant à l’agence d’obtenir
ces informations, sans avoir recours à une structure centrale.
La fonctionnalité « Discovery » utilise une diffusion multicastsur le protocole IPv6, telle
que définie dans [H et D 2006], afin de transmettre les informations relatives.
Le multicast est une technique de routage de paquets ip permettant de transmettre les paquets
à un ensemble de machines plutôt qu’à une machine en particulier (unicast). Contrairement
au broadcast qui diffuse les paquets à toutes les machines sans distinction, le multicast
permet de créer une adresse ip virtuelle qui est partagée par les machines qui souhaitent
recevoir ces informations. Ces trois modes de diffusion de paquets ip sont illustrés par la fi-
gure 11.4. La diffusion par multicast est particulièrement intéressante par exemple dans le
cas de diffusion d’un flux vidéo : plutôt que de maintenir autant de connexions que d’utilisateurs,
on peut alors créer une connexion unique qui diffusera la vidéo à tous les utilisateurs
qui le souhaitent. Le multicast sur le protocole IPv6 est particulièrement intéressant (comparé
à celui sur IPv4) du fait qu’il permet un contrôle plus fin sur la diffusion en permettant,
par exemple, de spécifier la portée qu’auront les paquets diffusés.
On définit une adresse de multicast qui est commune à toutes les agences. Chaque module
Discovery diffuse donc les informations de base propres à son agence en utilisant ce protocole.
Ces informations incluent l’adresse réseau de l’agence, les protocoles qu’elle est capable
de manipuler, ainsi qu’une information de hachage symbolisant l’état actuel de l’agence.
De plus, Discovery est à l’écoute d’éventuels messages en provenance d’autres agences.
Grâce aux informations contenues dans les messages reçus, il est alors possible de tenir
un annuaire local des agences disponibles. Le hachage permet de déterminer si des modi-
fications significatives sont survenues dans l’agence, qui nécessiteraient de contacter cette
agence afin de mettre à jour des informations. Par exemple, si l’on souhaite suivre l’évolution
des entités présentes sur une agence tout en réduisant la quantité de requêtes envoyées
à cette agence, il suffit de redemander la liste des entités uniquement lorsque le hachage est
modifié.
11.4.2 Lucioles et horloge globale décentralisée
La décentralisation implique l’absence de contrôle central et global sur les entités. Par
conséquent, si l’on souhaite créer une application dans laquelle une même étape algorithmique
est exécutée simultanément pour l’ensemble des entités, alors la présence d’une horloge
globale, permettant aux agences de se synchroniser, est une nécessité. Dans le cas d’un
18811.4. Services des agences
.
unicast broadcast multicast
F 11.4 : Différences entre unicast, broadcast et multicast. Une source .
diffuse de
l’information aux cibles .
.
système centralisé, un « maître », la partie centrale, peut être utilisée afin de fournir ce synchronisme.
Or notre système est décentralisé, car nous souhaitons éviter par exemple, que
l’indisponibilité du maître fournissant le synchronisme paralyse l’application entière.
À nouveau, la nature regorge de mécanismes qui sont des sources d’inspiration pour
nous aider à trouver des solutions aux problèmes que nous rencontrons. En l’occurrence,
l’inspiration est puisée dans la lumière émise par les lucioles, et plus particulièrement dans le
mécanisme de synchronisation qui apparaît chez certaines espèces. Les mâles produisent des
flashs pour attirer les femelles, et on peut observer la synchronisation des flashs et de ce fait
l’émergence d’un rythme global. La photographie présentée dans la figure 11.5 est une longue
exposition prise à l’est des États-Unis où l’on peut observer ces lucioles. Ce phénomène est
le sujet de différents ouvrages scientifique : John B en fait un présentation détaillé dans
[B 1988], il est la source d’inspiration de Steven H. S dans un chapitre de son
livre [S 2003], mais on le retrouve aussi plus récemment dans [L et C
2008] par Sara M. L et Christopher K. C.
Nous nous sommes inspirés de ce phénomène afin de simuler une synchronisation globale
qui ne nécessite pas de connaissance globale. La fonctionnalité « Luciole » permet de
répéter une même étape algorithmique en tentant de se synchroniser avec les autres lucioles
connues. Chaque luciole exécute dans un premier temps le code qui lui est associé. Il s’agit
d’envoyer une requête aux acteurs liés à la luciole et d’attendre que la requête ait été exé-
cutée. La luciole émet ensuite un signal vers les lucioles dont elle a connaissance, c’est à
dire qu’elle envoie une requête dont le but est d’indiquer qu’elle a terminé son exécution et
qu’elle se prépare pour un nouveau cycle. Elle indique dans cette requête le temps t qui lui
a été nécessaire afin de réaliser un cycle. Elle tente ensuite, pendant un temps maximal ∆t
de recevoir les signaux de ses voisines. ∆t est égal à la différence entre le temps maximum
189. I
F 11.5 : Les lucioles « synchrones » à Elkmont dans le parc national des Great Smoky
Mountains
tM mis par les lucioles voisines, et t :
∆t =
{
δ si t > tM
tM − t +δ sinon
La constante δ définit un délai minimal qui permet d’absorber d’éventuelles fluctuations dans
le temps nécessaire à l’exécution d’un cycle. Lorsque tous les signaux ont été reçus, ou si le
délai est écoulé, la luciole met à jour la valeur de tM en fonction des données reçues puis
redémarre un nouveau cycle. La présence d’un temps d’expiration permet de ne pas bloquer
définitivement le système dans l’attente d’une hypothétique réponse : la luciole tente
d’attendre ses voisines, mais continue son chemin en cas d’absence de réponse.
Nous avons développé un prototype permettant de tester ce concept. Pour cela, nous
simulons des lucioles de façon à ce que chaque luciole possède son temps d’exécution, qui
va évoluer au fur et à mesure de la simulation. Le comportement d’une luciole de ce prototype
est donné par l’algorithme 8.
Afin de mesurer le synchronisme du réseau de lucioles, nous utilisons la mesure ψ(v),
définie par l’équation 11.1, qui permet de mesurer le décalage du début de l’exécution d’une
luciole v avec ses voisines. La fonction ω(v) permet de définir la dernière date d’exécution de
la luciole v. On peut alors observer la synchronisation globale en analysant la valeur moyenne
ψ de ψ(v) pour l’ensemble L des lucioles (cf. équation 11.2). La figure 11.6 présente le tracé
de cette mesure. On y voit que suite à une période de désynchronisation correspondant aux
80 premières secondes, le mesure atteint une valeur très proche de 0 ce qui nous permet de
considérer que les lucioles se sont synchronisées. On observe ensuite une désynchronisation
19011.4. Services des agences
Algorithme 8 : Cycle d’une luciole
1 début
2 tant que en vie faire
/* La fonction random() retourne une valeur dans [−1; 1]. Le
paramètre δdel ai définit l’évolution maximale du délai par
cycle */
3 délai ← délai+random()×δdel ai ;
4 flash(max) ;
/* Nous demandons simplement à la luciole de faire une pause
dans son exécution ce qui permet de simuler le temps qui
serait nécessaire dans la pratique pour effectuer le
traitement des actions */
5 dormir(délai) ;
6 max ← délai;
/* La fonction horloge() donne la date courante */
7 d ← horloge()+(max−délai)+δ ;
/* Le nombre de messages attendus dépend de la topologie du
réseau d’interconnexion des lucioles. Pour simuler ce
réseau, nous générons un graphe dans lequel chaque nœud
représente une luciole */
8 tant que d > horloge() et qu’il manque des messages faire
9 dormir(d-horloge()) ;
10 fin
11 pour chaque m ∈ messag es faire
12 max ← max(max,m);
13 fin
14 fin
15 fin
autour de la 140ème seconde, puis à nouveau une synchronisation. On peut considérer le
réseau synchronisé lorsque la mesure ψ passe en dessous d’un certain seuil ϵ.
ψ(v) =
1
card(N(v))
×
∑
u∈N(v)
|ω(v)−ω(u)| (11.1)
ψ =
1
card(L)
×
∑
v∈L
ψ(v) (11.2)
Ce type de synchronisation ne permet pas d’assurer la régularité des cycles. Elle permet
en revanche de s’adapter complètement à la dynamique de l’infrastructure et de ne dé-
pendre d’aucune centralisation, ce qui est en parfaite adéquation avec les objectifs que nous
191. I
.
.
20 40 60 80 100 120 140 160 180 200 220 240
0ms
200ms
400ms
date (en secondes)
. .ψ
. . σ(ψ)
1
F 11.6 : Synchronisation des lucioles. La valeur moyenne ψ de la mesure ψ, ainsi que
son écart type σ(ψ).
recherchons. Les premiers tests réalisés grâce au prototype indiquent que ce concept est
fonctionnel. Il est nécessaire d’élargir les expérimentations et de réaliser des tests sur une
implantation en pratique.
Références
A, Gul et al. (1997). “A foundation for actor computation”. In : Journal of Functional
Programming 7 (1), p. 1–72. : 0956-7968.
B, John (1988). “Synchronous rhythmic flashing of fireflies. II.” In : Quarterly Review of
Biology, p. 265–289. : 0033-5770.
H, Carl, Peter B et Richard S (1973). “A universal modular actor formalism
for artificial intelligence”. In : Proceedings of the 3rd international joint conference on
Artificial intelligence. Morgan Kaufmann Publishers Inc., p. 235–245.
H, Robert M. et Stephen E. D (2006). IP Version 6 Addressing Architecture.
: http://tools.ietf.org/html/rfc4291 (visité le 24/11/2013).
L, Sara M et Christopher K C (2008). “Flash signal evolution, mate choice, and
predation in fireflies”. In : Annu. Rev. Entomol. 53, p. 293–321. : 0066-4170.
M, Larry, Tim B-L et Roy T. F (2005). Uniform Resource Identifier
(URI) : Generic Syntax. : https://tools.ietf.org/html/rfc3986 (visité le
22/11/2013).
S, Steven H (2003). Sync : The emerging science of spontaneous order. Hyperion.
: 0786868449.
192C P
Nous avons présenté, dans ces travaux, différents éléments permettant de contribuer à
la modélisation d’un système distribué en tant qu’écosystème computationnel. Il s’agit d’un
vaste domaine, et nous n’avons pas la prétention d’avoir apporté autre chose qu’un simple
pas, sur la longue distance qu’il reste encore à parcourir avant d’atteindre un écosystème
fonctionnel. Les systèmes complexes, et plus particulièrement leur simulation, ont permis
de fixer le cadre et de définir les contraintes concernant les applications que l’on souhaite
distribuer.
Une première partie des travaux est concentrée sur les graphes dynamiques qui permettent
de modéliser le réseau d’interactions sous-jacent à un système complexe. La diffi-
culté réside dans la dynamique, dont nous avons présenté différentes approches, et tenté
d’apporter une esquisse de formalisme. Nous exploitons le graphe afin d’en dégager de l’organisation.
Nous avons repris pour cela l’algorithme AntCo2
, un algorithme fourmis permettant
de détecter des organisations dans un graphe dynamique, et nous avons proposé des
améliorations visant à réduire l’oscillation des nœuds entre plusieurs organisations. De plus,
nous proposons d’utiliser la centralité, et plus particulièrement les centroïdes, afin de dé-
tecter des organisations fragiles et ainsi augmenter la robustesse du système. La manipulation
du graphe est possible grâce à un outil de modélisation que nous présentons : G-
S. Il permet de fournir les bases d’une architecture permettant de gérer la dynamique
d’un graphe.
Les travaux se concentrent ensuite sur le système distribué. La détection d’organisations
est utilisée afin de répartir la charge du système sur un ensemble dynamique de machines.
Cela permet de plus de réduire la charge du réseau. Nous avons présenté une plateforme
qui permet d’aborder la distribution de manière décentralisée. L’objectif est de former un
système qui soit robuste et résilient, et pour cela il doit être en mesure de s’adapter à la dynamique
et aux différentes perturbations provoquant des évènements imprévisibles. Nous
utilisons pour cela le modèle d’acteur, ainsi qu’un système où tout est acteur. L’aspect dé-
centralisé apportant son lot de contraintes, nous avons fait certaines propositions afin de
permettre une première dans la résolution de certains de ces problèmes : la découverte des
machines voisines participant à la distribution, et la création d’un synchronisme global ne
faisant appel qu’à des mécanismes locaux.
Notre problématique possède de nombreux aspects : de la modélisation des graphes dynamiques,
à la distribution en pratique d’une application, en passant par la détection de com-
193. I
munauté, la répartition de charges, ou encore la centralité d’un graphe. De plus, beaucoup
de temps a été consacré au développement durant cette thèse : d’une part de l’outil de modélisation
de graphes dynamique GS ainsi que de ces multiples extensions ; et
d’autre part de la plateforme de distribution. De ce fait, une seule thèse ne suffit pas à approfondir
sérieusement tous les aspects du travail, et certaines choses mériteraient donc d’être
validées de façon plus importante. Les perspectives, qui vont définir la suite de ces travaux,
sont donc multiples. Nous avons ouvert une nouvelle piste permettant d’augmenter la résilience
du système en détectant les centroïdes des organisations. Il est nécessaire par la suite
d’approfondir les expérimentations de l’algorithme proposé, en particuliers en élargissant
les topologies de graphe considérées. Puis de continuer dans cette voie en appliquant l’algorithme
de détection de centroïde à l’affinage des résultats de la détection d’organisations afin
d’augmenter la robustesse de ces organisations. Il devra s’en suivre des expérimentations
afin d’évaluer le gain apporté.
La bibliothèque de modélisation GS, qui a été développée au cours de ces
travaux, possède désormais une base solide. Il s’agit d’un outil qui est déjà utilisé en pratique
et qui possède sa propre communauté. Elle fait régulièrement l’objet d’atelier au sein de la
conférence ECCS [D et P 2010 ; D, P et S 2011] et de tutoriels au
cours l’école thématique CSSS en 2012 et 2013. Du temps supplémentaire devra lui être
accordé par la suite pour continuer son amélioration et ses possibilités afin de fournir un
outil qui soit le plus complet possible.
Nous avons par exemple commencé à nous intéresser à l’interconnexion deGS
avec une base de donnée de type NoSQL . Différents outils existent déjà, des serveurs
de base de données comme par exemple Neo4J , Titan , ou encore InfiniteGraph ; mais
aussi des interfaces de programmation comme par exemple Cypher , Gremlin ou Blueprints
. Pour plus d’informations sur ce sujet, la page W propose une liste plus
exhaustive de ces différents outils. Le but ne serait pas ici d’apporter un n-ième outil qui
apporterait des fonctionnalités déjà existantes mais :
1. de permettre l’interaction de GS avec les outils existants ;
2. étudier de quelle façon notre bibliothèque pourrait contribuer à ce domaine en apportant
son savoir-faire en terme de dynamique de graphes.
4. European Conference on Complex System
5. Complex Systems Summer School
6. Not Only SQL
7. http://www.neo4j.org/
8. http://thinkaurelius.github.com/titan/
9. http://infinitegraph.com/
10. http://www.neo4j.org/learn/cypher
11. http://gremlin.tinkerpop.com/
12. http://blueprints.tinkerpop.com/
13. https://en.wikipedia.org/wiki/Graph_database
194Références
Cette approche fait partie des voies que nous avons à explorer dans le cadre de la mise en
œuvre de graphes distribués qui est une perspective importante de notre problématique.
Les travaux commencé au cours de cette thèse sur le changement d’échelle n’en sont
qu’à leurs balbutiements. Le projet « organic », librement consultable sur la forge logicielle
Github vise à produire de manière automatique un graphe qui soit une vue macroscopique
d’un autre. Il est basé sur GS et correspond aux travaux qui ont été réalisés sur
la réification des organisations. Plus de temps sont nécessaires pour approfondir ce projet,
améliorer ses performances et son ergonomie, ce qui rentre pleinement dans les perspectives
de nouveaux travaux qui prendront la suite de ceux-ci.
Nous avons aussi commencé à envisager l’étude des organisations en nous focalisant
sur les membranes de ces organisations, c’est à dire la frontière délimitant l’organisation et
dont les nœuds sont en contact avec d’autres organisations. Cette membrane semble jouer
un rôle important dans la représentation des organisations et une discussion importante est
nécessaire afin d’explorer ce sujet en profondeur.
14. https://github.com/gsavin/organic
195Annexes
197A
A
U :
A.1 Règles de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
A.2 Voisinage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
A.3 Intégration dans GS . . . . . . . . . . . . . . . . . . . . 201
Nous utilisons régulièrement dans ces travaux le modèle comportemental des boids, introduit
dans [R 1987]. Craig R souhaitait pouvoir reproduire dans une simulation
le comportement de groupe que l’on retrouve dans les nuées d’oiseaux, les troupeaux
d’animaux terrestres, ou encore les bancs de poissons. Ce modèle a été utilisé dans des jeux
vidéos (Half-Life par exemple) ainsi que dans des films (Batman Returns de Tim B
entre autres).
Nous lui portons un intérêt particulier du fait qu’il permet de créer un réseau d’interactions
dans lequel on observe des propriétés émergentes. L’interaction est définie par la
proximité entre les individus, qui fait que la présence d’un boid va influencer les propriétés
de ses voisins. Les propriétés émergentes du système sont les organisations qui se créent.
Ce modèle est donc particulièrement adapté pour nos expérimentations.
A.1 Règles de base
Ce modèle définit le comportement d’un individu à partir de trois règles :
1. la séparation ;
199A. U :
.
séparation alignement cohésion
F A.1 : Règles appliquées aux boids telles que définies par Craig R.
2. l’alignement ;
3. la cohésion.
La séparation est un mécanisme qui permet d’éviter aux boids les collisions avec leurs
voisins. Lorsqu’un boid est trop proche d’un de ses voisins, il est alors repoussé par ce dernier.
L’alignement, quant à lui, fait que chaque individu tente d’aligner le vecteur définissant
sa direction et sa vitesse sur celui de ces voisins. Enfin, la cohésion défini l’attraction exercée
sur un boid par ses voisins proches.
A.2 Voisinage
Le voisinage d’un boid regroupe ses voisins les plus proches. Il est donc nécessaire de
définir une distance maximale qui permet d’expliciter cette proximité : pour un boid donné,
son voisinage correspond à l’ensemble des boids se trouvant à une distance inférieure à la
distance maximale définie.
Cette distance maximale seule ne permet pas de définir un voisinage correct du fait qu’il
inclut à la fois les individus qui se trouvent devant et derrière le boid considéré. Ceci peut
mener à la stagnation des groupes de boids. C’est pourquoi nous introduisons l’angle correspondant
à un champ de vision qui permet de définir en fonction de la direction d’un boid les
individus qu’il peut “voir” et qui vont donc influencer sa trajectoire.
Nous limitons de plus le nombre d’individus qui peuvent être contenu dans un même
voisinage. La raison est d’éviter l’explosion exponentielle du nombre d’interactions lors de
la création de groupes et empêcher ainsi la création d’amas de boids, qui d’une part sont
peu représentatif de la réalité, et d’autre part, apporte une contrainte majeure en terme de
complexité lors de l’étude du graphe modélisant le réseau d’interactions. Les individus les
plus proches sont sélectionnés en priorité.
Le voisinage peut être calculé de manière gloutonne, ce qui implique pour chaque individu
de considérer l’ensemble de la population. Ainsi, la complexité d’une étape est O(n
2
) où
n représente la taille de la population. Cette méthode a l’avantage d’être facilement mise en
place, et peut être efficace pour des tailles de population faibles. En revanche, elle s’avère
200A.3. Intégration dans GS
inutilisable lorsque la taille de la population est importante. C’est pourquoi nous ajoutons
une seconde méthode utilisant un n-tree, qui permet de diviser l’espace en cellules. Chaque
individus n’a alors à considérer que la cellule dont il fait partie et éventuellement les cellules
avoisinantes. On réduit ainsi la complexité en limitant les individus considérés à ceux
suffisamment proches.
A.3 Intégration dans GS
Notre implantation du modèle de boids est réalisée en utilisant la bibliothèque logicielle
GS. Chaque boid est directement modélisé par un nœud, et le réseau d’interactions
par un graphe. Il est possible de définir plusieurs espèces de boids avec ses propres
caractéristiques. La configuration est effectuée via les attributs du graphe et peut donc être
stockée facilement dans un fichier DGS.
La simulation est disponible à la fois en tant que graphe mais aussi en tant que générateur
de graphe, ce qui permet de l’intégrer facilement dans des applications existantes.
201A
B
S
B.1 Simulation statique, S1 . . . . . . . . . . . . . . . . . . . . . . . . 203
B.2 Simulation dynamique, S2 . . . . . . . . . . . . . . . . . . . . . . 204
Cette annexe décrit les graphes qui ont été utilisés par les simulations S1 et S2 lors de
l’étude du lissage des résultats de l’algorithme AntCo2 dans la partie 10.3.
B.1 Simulation statique, S1
La simulation S1 est effectuée sur un graphe statique dont la topologie est une grille.
On considère un espace en deux dimensions divisé à intervalles réguliers. Chaque case ainsi
formée représente un nœud qui est connecté aux quatre cases adjacentes : nord, sud, ouest
et est. Un exemple d’une telle grille est donné dans la figure B.1. On peut étendre le voisinage
d’un nœud, bien que ça ne soit pas le cas pour cette simulation, aux quatre cases accessibles
en diagonale : nord-ouest, nord-est, sud-ouest et sud-est. Chaque nœud est donc de degré
4, excepté les nœuds de la bordure de degré 3 et les quatre nœuds des coins de degré 2. Il
est possible d’obtenir une structure entièrement régulière en plaquant la grille sur un tore
comme illustré dans la figure B.2.
Dans le cadre de la simulation S1, on considère une grille de dimension 101×101, composée
de 10201 nœuds pour 20200 arêtes. La génération du graphe est faite avant l’exécution
de l’algorithme AntCo2
. Ce dernier est ensuite exécuté pendant 10000 cycles.
203B. S
.
F B.1 : Une grille de dimension 11×11
.
.
1
F B.2 : Un exemple de grille plaquée sur un tore
B.2 Simulation dynamique, S2
La simulation S2 est effectuée, quant à elle, sur un graphe dynamique. La dynamique
porte sur les interactions, l’ensemble des nœuds restant fixe. Nous utilisons le modèle des
boids, décrit dans l’annexe A, afin de générer les interactions entre les entités.
Deux espèces de boids sont utilisés : les moustiques et les abeilles. Les paramètres de ces
espèces sont donnés dans la table B.1. La seconde espèce permet d’ajouter de la perturbation
dans le graphe en repoussant les boids première espèce. Au total, 10000 nœuds sont créés, la
quantité d’arêtes varie selon les cycles pour une moyenne d’environ 50000 nouvelles arêtes
par cycle.
Pour chacun des 10000 cycles, on fait donc évoluer la structure du graphe grâce aux
boids, puis on effectue un cycle de l’algorithme AntCo2
.
204B.2. Simulation dynamique, S2
Moustiques Abeilles
0 angle de vue 0.25
0.15 distance de visibilité 0.15
0.3 facteur de vitesse 0.3
0.9 vitesse max 1.0
0.04 vitesse min 0.1
0.1 facteur de direction 0.2
0.5 facteur d’attraction 0.3
0.001 facteur de répulsion 0.005
1.1 inertie 1.1
10 taille max du voisinage 10
9000 quantité 1000
T B.1 : Paramètres du modèle de boids utilisé pour la simulation S2
205A
C
GS
C.1 Diagrammes de classes . . . . . . . . . . . . . . . . . . . . . . . . 207
C.1.1 Éléments . . . . . . . . . . . . . . . . . . . . . . . . . . 207
C.1.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 211
C.1.3 Source et puits . . . . . . . . . . . . . . . . . . . . . . . . 211
C.1.4 Fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
C.1.5 Algorithmes et générateurs . . . . . . . . . . . . . . . . . . 215
C.2 Spécifications de DGS au format BNF . . . . . . . . . . . . . . . . . 215
C.1 Diagrammes de classes
Nous exposons, dans cette partie de l’annexe, certaines classes de la bibliothèqueG-
S.
C.1.1 Éléments
Il s’agit de la structure de base qui définit un objet pouvant contenir des attributs. Les
méthodes getAttribute(String) et hasAttribute(String) possèdent différentes dé-
clinaisons (qui ne sont pas présentées dans le schéma) permettant d’apporter des précisions
sur le type de l’attribut, par exemple getNumber(String) ou hasLabel(String).
207C. GS
Element .
String getId();
int getIndex();
getAttribute(String);
boolean hasAttribute(String);
void addAttribute(String, Object);
void setAttribute(String, Object);
void removeAttribute(String);
int getAttributeCount();
.
AbstractElement
abstract void attributeChanged(Event,String,Object,Object);
Element
La classe AbstractElement permet de regrouper les parties de code communes aux
nœuds, arêtes et aux graphes, concernant la gestion des attributs. De même, les classes
AbstractNode, AbstractEdge et AbstractGraph regroupent respectivement le code commun
aux différentes implantations de nœuds, d’arêtes et de graphes.
Node .
Graph getGraph();
int getDegree();
boolean hasEdgeBetween(String|int);
Edge getEdgeBetween(String|int);
Iterator getEdgeIterator();
Iterator getNeighborNodeIterator();
Iterable getEachEdge();
.
Element
Certaines variations des méthodes ne sont pas présentées dans ce schéma. Il est par
exemple possible de faire la distinction entre arêtes sortantes et entrantes. La méthode getDegree(),
par exemple, est alors déclinée en getInDegree() et getOutDegree(), de même
que la méthode getEdgeBetween(String) possède ses variations getEdgeToward(String)
208C.1. Diagrammes de classes
et getEdgeFrom(String). Les itérateurs possèdent aussi leurs variantes qui permettent par
exemple d’utiliser un parcours en largeur ou en profondeur.
.
AbstractNode
abstract void addEdgeCallback(AbstractEdge);
abstract void removeEdgeCallback(AbstractEdge);
abstract void clearCallback();
AbstractElement Node
Edge.
Graph getGraph();
boolean isDirected();
boolean isLoop();
Node getNode0();
Node getNode1();
Node getSourceNode();
Node getTargetNode();
Node getOpposite(Node);
.
Element
AbstractEdge .
AbstractElement Edge
209C. GS
Graph .
Node addNode(String);
Node getNode(String|int);
Node removeNode(String|int);
Edge addEdge(String,String,String[,boolean]);
Edge getEdge(String|int);
Edge removeEdge(String|int);
void clear();
double getStep();
void stepBegins(double);
void setNodeFactory(NodeFactory);
void setEdgeFactory(EdgeFactory);
void setStrict(boolean);
void setAutoCreate(boolean);
void read(String);
void write(String);
Viewer display([boolean]);
.
Element Structure Pipe
.
AbstractGraph
abstract void addNodeCallback(AbstractNode);
abstract void removeNodeCallback(AbstractNode);
abstract void addEdgeCallback(AbstractEdge);
abstract void removeEdgeCallback(AbstractEdge);
abstract void clearCallback();
.
AbstractElement Graph
210C.1. Diagrammes de classes
C.1.2 Structure
Structure .
int getNodeCount();
int getEdgeCount();
Iterator getNodeIterator();
Iterator getEdgeIterator();
Iterable getEachNode();
Iterable getEachEdge();
Collection getNodeSet();
Collection getEdgeSet();
La structure permet de définir un objet qui va contenir des nœuds et des arêtes. L’objectif
est de fournir une façon générique de modéliser un tel objet afin de permettre un développement
plus large. Par exemple, en considérant une classe Organisation qui implanterait
cette interface, il serait possible d’y appliquer un algorithme qui manipule la structure, plutôt
que de limiter la portée de cet algorithme aux graphes.
C.1.3 Source et puits
Source .
void addSink(Sink);
void addElementSink(ElementSink);
void addAttributeSink(AttributeSink);
void removeSink(Sink);
void removeElementSink(ElementSink);
void removeAttributeSink(AttributeSink);
void clearSinks();
void clearElementSinks();
void clearAttributeSinks();
ElementSink .
void nodeAdded(String,long,String);
void nodeRemoved(String,long,String);
void edgeAdded(String,long,String,String,String,boolean);
void edgeRemoved(String,long,String);
void graphCleared(String,long);
void stepBegins(String,long,double);
211C. GS
L’interface ElementSink définit un objet qui est capable de recevoir les événements liés
aux modifications de la structure du graphe.
AttributeSink .
void {node|edge}AttributeAdded(String,long,String,String,Object);
void graphAttributeAdded(String,long,String,Object);
void {node|edge}AttributeChanged(String,long,String,String,Object,Object);
void graphAttributeChanged(String,long,String,Object,Object);
void {node|edge}AttributeRemoved(String,long,String,String);
void graphAttributeRemoved(String,long,String);
En complément, l’interface AttributeSink définit un objet qui est capable de recevoir
les événements liés aux modifications des attributs des différents éléments d’un graphe, ainsi
que du graphe lui-même.
Sink.
ElementSink AttributeSink
L’interface Sink définit un objet qui est à la fois un ElementSink et AttributeSink.
Pipe.
Source Sink
La classe Pipe représente un canal. Il s’agit simplement d’un objet qui est à la fois une
source et un puits. L’intérêt des canaux est de permettre de définir la façon dont les évènements
sont transmis entre une source et un puits. On peut alors créer des proxys qui permettent
de faire transiter les évènements entre une source et un puits situés dans différents
threads d’exécution, ou sur différentes machines.
Replayable .
Controller getReplayController();
212C.1. Diagrammes de classes
Replayable.Controller .
void replay([String]);
L’interface Replayable permet de caractériser une source qui peut être rejouée, c’est à
dire qui possède une certaine mémoire. Un graphe par exemple, possède la mémoire de son
état courant, mais pas de sa dynamique, il peut donc être en partie « rejoué ».
C.1.4 Fichiers
FileSource .
void readAll(String|InputStream|Reader|URL);
void begin(String|InputStream|Reader|URL);
boolean nextEvents();
boolean nextStep();
void end();
.
Source
Un objet de type FileSource permet de définir une source qui va lire les événements
dans un fichier. L’intégralité du fichier peut être lue à l’aide de la méthode readAll(), ou la
lecture peut se faire événement par événement, ou encore par bloc d’événements.
.
FileSource
FileSourceDGS
FileSourceGEXF
FileSourceTLP
FileSourcePajek
FileSourceGML
FileSourceGPX
FileSourceDOT
FileSourceEdge
FileSourceGraphML
213C. GS
FileSink .
void writeAll(String|InputStream|Reader|URL);
void begin(String|InputStream|Reader|URL);
void flush();
void end();
Sink
Les objets FileSink permettent quant à eux d’écrire le graphe dans un fichier. En fonction
du format, la dynamique pourra être exportée ou non.
.
FileSink
FileSinkDGS
FileSinkGEXF
FileSinkSVG
FileSinkImages
FileSinkGML
FileSinkTikZ
FileSinkDOT
FileSinkDynamicGML
FileSinkGraphML
Afin de faciliter la gestion des différentes sources et puits fichiers, il existe des « fabriques
» qui permettent de créer une source ou un puits correspondant à un nom de fichier,
en fonction de l’extension de celui-ci.
.
FileSourceFactory
FileSource sourceFor(String);
.
FileSinkFactory
FileSink sinkFor(String);
Ces fabriques sont utilisées par exemple dans l’implantation des méthodes read(..) et
write(..) de Graph.
214C.2. Spécifications de DGS au format BNF
C.1.5 Algorithmes et générateurs
Les interfaces Algorithm et DynamicAlgorithm décrivent la forme générique des algorithmes
dans GS. La première permet de définir un algorithme visant à s’exécuter
ponctuellement sur un graphe. Il est alors initialiser, puis calculer au travers de la méthode
compute(). Un algorithme dynamique est, quant à lui, régulièrement exécuté, par exemple
à chaque évènement stepBegins. Il se différencie d’un algorithme statique par la méthode
terminate() qui marque la fin de l’exécution de l’algorithme.
Algorithm .
void init(Graph);
vodi compute();
DynamicAlgorithm
void terminate();
Generator .
void begin();
boolean nextEvents();
vodi end();
Source
Les objets de type Generator permettent de générer de manière algorithmique des graphes.
C.2 Spécifications de DGS au format BNF
GS introduit son propre format de fichier, le format DGS pour « Dynamic
Graph Stream ». Ce format, présenté dans la partie 9.3.1, permet de stocker un flux d’évé-
nements décrivant la dynamique d’un graphe. Chaque ligne décrit alors un événement.
La grammaire de ce format de fichier est donnée dans ce qui suit, sous la forme de
Backus-Naur.
::= ( | | )*
::= ::= “DGS004” | “DGS003”
::= ( | | | | | | |
| ) ( | )
::= “an”
215C. GS
::= “cn” ::= “dn” ::= “ae” ( )? ::= “ce” ::= “de” ::= “cg” ::= “st” ::= “cl”
::= ( )*
::= ( ‘+’ | ‘-’ )?
( ( ‘,’ )* )?
::= | | ‘’ | |