Coordination Modulaire de Gestionnaires Autonomes par Contrôle Discret - Thèse Informatique
Coordination Modulaire de Gestionnaires Autonomes par Contrôle Discret - thèse Informatique
- Revenir à l'accueil
Autres thèses en informatique :
APISENSE-a-distribut..> 05-Jan-2015 08:09 5.7M
APISENSE-terminaux-i..> 04-Jan-2015 21:53 5.4M
Addition-formulae-on..> 04-Jan-2015 21:26 3.0M
Architecture-de-comm..> 05-Jan-2015 08:04 4.4M
Catalogage-de-petits..> 05-Jan-2015 08:06 3.8M
Classification-et-ca..> 04-Jan-2015 11:58 1.3M
Collaboration-de-tec..> 04-Jan-2015 21:27 2.4M
Completion-combinato..> 05-Jan-2015 08:11 2.6M
Contributions-a-la-v..> 04-Jan-2015 21:51 5.4M
Cryptographie-sur-le..> 05-Jan-2015 08:01 3.4M
Detection-de-rails-m..> 05-Jan-2015 08:04 5.1M
Environnements-urbai..> 05-Jan-2015 08:03 6.3M
Equilibrage-de-charg..> 04-Jan-2015 21:25 3.2M
Evaluation-analytiqu..> 05-Jan-2015 08:07 3.5M
Faciliter-le-develop..> 04-Jan-2015 21:56 4.4M
Factorisation-matric..> 04-Jan-2015 11:59 2.7M
Generation-automatiq..> 03-Jan-2015 22:04 2.6M
Gestion-de-la-variab..> 04-Jan-2015 21:55 4.8M
Idéalisation-d-asse..> 04-Jan-2015 11:57 2.1M
Inference-d-invarian..> 04-Jan-2015 11:58 1.5M
Integration-de l-inf..> 04-Jan-2015 21:25 3.4M
Intelligence-en-essa..> 05-Jan-2015 08:03 5.6M
Interrogation-de-gra..> 03-Jan-2015 22:04 2.9M
La-gestion-du-trafic..> 03-Jan-2015 22:01 4.1M
Langage-de-mashup-Th..> 04-Jan-2015 21:24 4.1M
Les-logiciels-de-ges..> 03-Jan-2015 22:03 3.1M
Lh-rs-p2p-une-nouvel..> 04-Jan-2015 11:59 2.7M
Mesure-de-la-fragili..> 04-Jan-2015 21:24 3.8M
Meta-modelisation-du..> 04-Jan-2015 21:56 4.1M
Methode-de-classific..> 04-Jan-2015 11:58 1.3M
Methode-de-game-desi..> 05-Jan-2015 08:10 4.2M
Methodes-sequentiell..> 04-Jan-2015 21:27 2.2M
Mise-en-oeuvre-appli..> 04-Jan-2015 21:54 4.4M
Modele-et-experience..> 05-Jan-2015 08:01 3.8M
Modelisation-d-une-a..> 04-Jan-2015 21:53 5.0M
Modelisation-et-dete..> 04-Jan-2015 11:57 1.6M
Normalisation-et-App..> 03-Jan-2015 22:01 4.1M
Nouvelles-approches-..> 05-Jan-2015 08:09 2.3M
Planification-d-une-..> 05-Jan-2015 08:06 4.1M
Prise-en-compte-de-l..> 03-Jan-2015 22:04 2.8M
Qualification-system..> 04-Jan-2015 21:26 2.8M
Reconnaissance-de-co..> 03-Jan-2015 22:03 3.6M
Segmentation-supervi..> 04-Jan-2015 11:58 1.3M
Services-de-repartit..> 03-Jan-2015 21:59 4.7M
Techniques-visuelles..> 04-Jan-2015 21:27 2.7M
The-Emergence-of-Mul..> 03-Jan-2015 22:05 2.5M
Trigraphes-de-Berge-..> 03-Jan-2015 22:02 3.9M
Un-ilot-formel-pour-..> 05-Jan-2015 08:07 3.1M
Vers-une-capitalisat..> 03-Jan-2015 22:00 4.6M
Congrès d'informatique :
Application-Agnostic..> 03-Jan-2015 21:16 2.1M
Continuity-Editing-f..> 03-Jan-2015 17:35 4.0M
Double-WP-Vers-une-p..> 03-Jan-2015 17:36 4.0M
Effective-Reproducib..> 03-Jan-2015 21:18 2.0M
Enforcing-reuse-and-..> 03-Jan-2015 21:17 2.0M
Extracting-Bounded-s..> 03-Jan-2015 21:19 4.0M
Fingerprint-Quality-..> 03-Jan-2015 21:16 2.1M
GPU-Load-Balance-Gui..> 03-Jan-2015 21:18 4.0M
Minkowski-sum-of-pol..> 03-Jan-2015 21:17 2.0M
Quality-Assessment-o..> 03-Jan-2015 21:16 2.1M
Rester-statique-pour..> 03-Jan-2015 17:35 4.0M
The-Power-of-Polynom..> 03-Jan-2015 21:16 2.1M
Cours d'informatique :
Analyse-numerique-Co..> 03-Jan-2015 17:33 3.0M
Approches-m-k-firm-p..> 03-Jan-2015 17:27 3.7M
COURS-LA-CULTURE-INF..> 03-Jan-2015 17:25 3.8M
CRYPTANALYSE-DE-RSA-..> 03-Jan-2015 17:33 3.0M
Cours-Interconnexion..> 03-Jan-2015 17:34 3.0M
Cours-d-Analyse-et-C..> 03-Jan-2015 17:22 3.9M
Efficient-C++finite-..> 03-Jan-2015 17:30 3.5M
Efficient-C++finite-..> 03-Jan-2015 17:31 3.2M
Fondements-de-l-Info..> 03-Jan-2015 17:22 4.0M
INTRODUCTION-A-L-INF..> 03-Jan-2015 17:24 3.8M
Informatique-et-Ling..> 03-Jan-2015 17:24 3.8M
Initiation-a-l-infor..> 03-Jan-2015 17:26 3.8M
Intelligence-Artific..> 03-Jan-2015 15:16 2.5M
Introduction-a-l-ana..> 03-Jan-2015 17:27 3.7M
Introduction-a-la-ge..> 03-Jan-2015 17:26 3.8M
Le-routage-externe-B..> 03-Jan-2015 17:32 3.1M
Le-systeme-d-informa..> 03-Jan-2015 17:32 3.1M
Lecture1_Linear_SVM_..> 03-Jan-2015 14:57 2.4M
Lecture2_Linear_SVM_..> 03-Jan-2015 14:56 2.4M
Lecture3_Linear_SVM_..> 03-Jan-2015 14:56 2.4M
Lecture4_Kenrels_Fun..> 03-Jan-2015 14:55 2.4M
Lecture5_Kernel_SVM...> 03-Jan-2015 14:55 2.4M
Lecture6_SVDD.pdf.htm 03-Jan-2015 14:54 2.4M
Lecture7_Cross_Valid..> 03-Jan-2015 14:54 2.4M
Lecture8_Multi_Class..> 03-Jan-2015 14:57 2.4M
Lecture9_Multi_Kerne..> 03-Jan-2015 14:53 2.5M
Lecture10_Outilier_L..> 03-Jan-2015 14:53 2.5M
Les-reseaux-sans-fil..> 03-Jan-2015 15:17 2.5M
NooJ-pour-l-Intellig..> 03-Jan-2015 17:30 3.2M
Outils-Logiques-pour..> 03-Jan-2015 15:15 2.8M
Presentation-de-la-r..> 03-Jan-2015 17:33 3.0M
Projet-IP-SIG-Signal..> 03-Jan-2015 15:16 2.5M
Robotique-Mobile-PDF..> 03-Jan-2015 15:16 2.6M
Systeme-informatique..> 03-Jan-2015 15:17 2.5M
Systemes-Multi-Agent..> 03-Jan-2015 17:28 3.5M
Tutoriel-Android-TP-..> 03-Jan-2015 14:57 2.3M
Understanding-SVM-th..> 03-Jan-2015 14:57 2.4M
Une-histoire-de-la-m..> 03-Jan-2015 17:28 3.5M
Une-introduction-aux..> 03-Jan-2015 17:31 3.1M
Vers-une-signalisati..> 03-Jan-2015 17:25 3.8M
Coordination Modulaire de Gestionnaires Autonomes
par Controle Discret
Soguy Mak Kar´e Gueye
To cite this version:
Soguy Mak Kar´e Gueye. Coordination Modulaire de Gestionnaires Autonomes par Controle
Discret. Distributed, Parallel, and Cluster Computing. Universite de Grenoble, 2014. French.
HAL Id: tel-01091302
https://hal.inria.fr/tel-01091302
Submitted on 5 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
Pour obtenir le grade de
DOCTEUR DE L’UNIVERSITÉ DE GRENOBLE
Spécialité : Informatique
Arrêté ministérial : 7 août 2006
Présentée par
Soguy Mak-Karé GUEYE
Thèse dirigée par Éric RUTTEN
et codirigée par Noël DE PALMA
préparée au sein Laboratoire d’Informatique de Grenoble (LIG) et
INRIA Grenoble Rhône-Alpes
et de L’Ecole Doctorale Mathématiques, Sciences et Technologies de
l’Information, Informatique
Coordination Modulaire de Gestionnaires
Autonomes par Contrôle Discret
Thèse soutenue publiquement le 03/12/2014,
devant le jury composé de :
Mr. Lionel SEINTURIER
Professeur, Université Lille 1 - UFR IEEA - LIFL & FIL, Rapporteur
Mme. Françoise BAUDE
Professeur, Université de Nice Sophia-Antipolis, INRIA-UNS-CNRS, Rapporteur
Mr. Hervé MARCHAND
Chargé de Recherche, INRIA Rennes-Bretagne Atlantique, Examinateur
Mr. Jean-marc FAURE
Professeur, SupMéca, (LURPA), Examinateur
Mr. Gwenaël DELAVAL
Maître de conférence, Université Joseph Fourier - LIG, Examinateur
Mr. Daniel HAGIMONT
Professeur, INPT/ENSEEIHT, Examinateur
Mr. Éric RUTTEN
Chargé de Recherche, INRIA Grenoble Rhône-Alpes, Directeur de thèse
Mr. Noël DE PALMA
Professeur, Université Joseph Fourier - LIG, Co-Directeur de thèse2Abstract
Computing systems have become more and more distributed and heterogeneous,
making their manual administration difficult and error-prone. The
Autonomic Computing approach has been proposed to overcome this issue, by
automating the administration of computing systems with the help of control
loops called autonomic managers. Many research works have investigated the
automation of the administration functions of computing systems and today
many autonomic managers are available. However the existing autonomic
managers are mostly specialized in the management of few administration concerns.
This makes necessary the coexistence of multiple autonomic managers
for achieving a global system management. The coexistence of several managers
make possible to address multiple concerns, yet requires coordination
mechanisms to avoid incoherent management decisions. We investigate the
use of control techniques for the design of coordination controllers, for which
we exercise synchronous programming that provide formal semantics, and
discrete controller synthesis to automate the construction of the controller. We
follow a component-based approach, and explore modular discrete control allowing
to break down the combinatorial complexity inherent to the state-space
exploration technique. This improves scalability of the approach and allows
constructing a hierarchical control. It also allows re-using complex managers
in different contexts without modifying their control specifications. We build a
component-based coordination of managers, with introspection, adaptivity and
reconfiguration. This thesis details our methodology and presents case-studies.
We evaluate and demonstrate the benefits of our approach by coordinating
autonomic managers which address the management of availability, and the
management of performance and resources optimization.
Keywords. Computer systems, autonomic computing, component-based model,
control loops, software reuse, discrete event systems, discrete controller synthesis,
synchronous programming
iRésumé
Les systèmes informatiques sont devenus de plus en plus distribués et
hétérogènes, ce qui rend leur administration manuelle difficile et source d’erreurs.
L’administration autonome a été proposée comme solution à ce problème.
Elle consiste à automatiser l’administration des systèmes informatiques à l’aide
de boucles de contrôle appelées gestionnaires autonomes. De nombreux travaux
de recherche se sont intéressés à l’automatisation des fonctions d’administration
de systèmes informatiques et aujourd’hui, beaucoup de gestionnaires
autonomes sont disponibles. Toutefois, les gestionnaires autonomes existants
sont, la plupart, spécialisés dans la gestion de quelques aspects d’administration.
Cela rend nécessaire la coexistence de plusieurs gestionnaires autonomes
pour atteindre une gestion globale des systèmes. La coexistence de plusieurs
gestionnaires permet la gestion de plusieurs aspects, mais nécessite des mécanismes
de coordination afin d’éviter des décisions incohérentes. Nous étudions
l’utilisation de techniques de contrôle pour la conception de contrôleurs de coordination,
nous utilisons la programmation synchrone qui fournit des méthodes
formelles, et la synthèse de contrôleur discret pour automatiser la construction
de contrôleur. Nous suivons une approche à base de composants, et utilisons
le contrôle discret modulaire qui permet de décomposer la complexité combinatoire
inhérente à la technique d’exploration d’espace d’états. Cela améliore
le passage à l’échelle de notre approche et permet la construction d’un contrôle
hiérarchique. Notre approche permet la réutilisation de gestionnaires
complexes dans des contextes différents, sans modifier leurs spécifications
de contrôle. Nous construisons une coordination de gestionnaires basée sur
le modèle à composants offrant introspection, adaptabilité et reconfiguration.
Cette thèse présente notre méthodologie et des études de cas. Nous évaluons
et démontrons les avantages de notre approche par la coordination de gestionnaires
autonomes dédiés à la gestion de la disponibilité, et à la gestion de la
performance et l’optimisation de ressources.
Mots-clés. Systèmes informatiques, administration autonome, modèle à base de
composants, boucles de contrôle, réutilisation de logiciels, systèmes à événements
discrets, synthèse de contrôleur discret, programmation synchrone
iiRemerciements
Je tiens à adresser mes plus sincères remerciements et toute ma reconnaissance
à mes directeurs de thèse, Mr Éric RUTTEN et Mr Noël DE PALMA, pour
m’avoir offert la possibilité de faire cette thèse, pour leur soutien constant, leur
présence, leur patience et leur confiance.
Je remercie Mr Gwenaël DELAVAL pour sa présence et son aide tout au
long de la thèse. Je tiens à remercier Mr Ahmed EL RHEDDANE, Mr Ibrahim
SAFIEDDINE, Mr Alain TCHANA, pour leur présence et leur soutien durant
toutes ces années. Je tiens également à remercier Mlle Édith GRAC et Mr
Frédérico ALVARES pour avoir pris le temps de lire le manuscrit et de suggérer
des corrections qui ont sans aucun doute contribué à améliorer la qualité du
manuscrit. Je remercie mes collègues et toutes les personnes avec qui j’ai collaboré
pendant toutes ces années.
Je remercie également les membres du jury, qui ont accepté de juger mon
travail : Mr Lionel SEINTURIER et Mme Françoise BAUDE pour avoir également
accepté de rapporter la thèse, Mr Hervé MARCHAND, Mr Jean-marc
FAURE, Mr Gwenaël DELAVAL, Mr Daniel HAGIMONT, pour avoir accepté
d’examiner en profondeur le travail réalisé, ainsi que pour tous leurs commentaires
constructifs.
Je remercie mes amis, principalement Mlle Ndeye Fatou NDIAYE, qui a
beaucoup contribué à l’organisation de la soutenance. Enfin, je remercie toutes
les personnes qui de près ou de loin m’ont soutenu, encouragé ou assisté durant
toutes ces années.
Mes dernières pensées sont réservées à ma très chère famille...
iiiivTable des matières
Résumé i
Remerciements iii
Table des matières v
1 Introduction 1
1.1 Systèmes autonomes . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Coordination de gestionnaires autonomes . . . . . . . . . . . . . 2
1.3 Approche et contribution . . . . . . . . . . . . . . . . . . . . . . . 3
2 État de l’art 7
2.1 Administration autonome . . . . . . . . . . . . . . . . . . . . . . 8
2.1.1 Complexité des systèmes informatiques . . . . . . . . . . 9
2.1.1.1 Architecture multi-tiers . . . . . . . . . . . . . . 9
2.1.1.2 Centre de données: ressources à large échelle . 10
2.1.1.3 Limites de l’administration manuelle . . . . . . 10
2.1.2 Gestionnaire autonome . . . . . . . . . . . . . . . . . . . 11
2.1.2.1 Définition de gestionnaire autonome . . . . . . 11
2.1.2.2 Implémentation . . . . . . . . . . . . . . . . . . 13
2.1.3 Coordination de gestionnaires autonomes . . . . . . . . . 16
2.1.3.1 Besoin de coordination . . . . . . . . . . . . . . 16
2.1.3.2 Approches de coordination proposées . . . . . 17
2.1.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Modèles réactifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1 Les langages synchrones . . . . . . . . . . . . . . . . . . . 21
vTABLE DES MATIÈRES
2.2.1.1 Heptagon/BZR . . . . . . . . . . . . . . . . . . 22
2.2.1.2 Implémentation des programmes synchrones . 25
2.2.2 Synthèse de contrôleur discret (SCD) . . . . . . . . . . . 26
2.2.2.1 Synthèse de contrôleur avec Heptagon/BZR . . 27
2.2.2.2 Synthèse modulaire avec Heptagon/BZR . . . 29
2.2.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3 Méthodologie de coordination de gestionnaires autonomes 35
3.1 Spécification de la coordination . . . . . . . . . . . . . . . . . . . 36
3.1.1 Modélisation d’un gestionnaire autonome . . . . . . . . 36
3.1.1.1 Comportement . . . . . . . . . . . . . . . . . . . 37
3.1.1.2 Contrôlabilité . . . . . . . . . . . . . . . . . . . . 38
3.1.2 Modélisation de la coordination . . . . . . . . . . . . . . 39
3.1.2.1 Modélisation de la coexistence . . . . . . . . . . 39
3.1.2.2 Spécification d’une stratégie de coordination . 40
3.1.3 Modélisation modulaire de la coordination . . . . . . . . 41
3.1.3.1 Contrôle décentralisé . . . . . . . . . . . . . . . 41
3.1.3.2 Spécification modulaire et hiérarchique . . . . . 42
3.2 Mise en oeuvre de la coordination . . . . . . . . . . . . . . . . . 44
3.2.1 Le modèle à composants Fractal . . . . . . . . . . . . . . 44
3.2.1.1 Composant Fractal . . . . . . . . . . . . . . . . . 44
3.2.1.2 Introspection et reconfiguration . . . . . . . . . 46
3.2.1.3 Fractal ADL . . . . . . . . . . . . . . . . . . . . 46
3.2.2 Composant de gestionnaire autonome . . . . . . . . . . . 47
3.2.3 Coordination à base de composants . . . . . . . . . . . . 48
3.2.3.1 Coordination de gestionnaires . . . . . . . . . . 48
3.2.3.2 Coordination hiérarchique . . . . . . . . . . . . 50
3.3 Comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4 Gestion de la performance et de l’optimisation de ressources d’un système
dupliqué 55
4.1 Gestionnaires autonomes non coordonnés . . . . . . . . . . . . . 56
4.1.1 Gestionnaire d’auto-dimensionnement: Self-sizing . . . . 56
viTABLE DES MATIÈRES
4.1.2 Gestionnaire d’auto-régulation de fréquence CPU: Dvfs 58
4.2 Problèmes d’optimisation de ressources . . . . . . . . . . . . . . 59
4.3 Conception du contrôleur de coordination . . . . . . . . . . . . . 60
4.3.1 Modélisation du contrôle des gestionnaires . . . . . . . . 60
4.3.1.1 Modélisation du contrôle de self-sizing . . . . . 61
4.3.1.2 Modélisation de l’état global des Dvfs . . . . . 63
4.3.2 Spécification de la coordination . . . . . . . . . . . . . . . 64
4.3.2.1 Stratégie de coordination . . . . . . . . . . . . . 64
4.3.2.2 Spécification du contrat . . . . . . . . . . . . . . 64
4.3.2.3 Programme final . . . . . . . . . . . . . . . . . . 64
4.4 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.4.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4.2 Calibrage des seuils des gestionnaires . . . . . . . . . . . 66
4.4.2.1 Seuil maximal pour self-sizing et Dvfs . . . . . 66
4.4.2.2 Seuil minimal pour self-Sizing et Dvfs . . . . . 67
4.4.3 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.4.3.1 Comportement non coordonné . . . . . . . . . 70
4.4.3.2 Comportement coordonné . . . . . . . . . . . . 72
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5 Gestion du dimensionnement dynamique et de la réparation d’un
système multi-tiers 77
5.1 Gestionnaires autonomes non coordonnés . . . . . . . . . . . . . 79
5.1.1 Gestionnaire d’auto-dimensionnement: Self-sizing . . . . 79
5.1.2 Gestionnaire d’auto-réparation: Self-repair . . . . . . . . 80
5.2 Problèmes d’administration d’un système multi-tiers . . . . . . 81
5.3 Conception du contrôleur de coordination . . . . . . . . . . . . . 84
5.3.1 Modélisation du contrôle des gestionnaires . . . . . . . . 84
5.3.1.1 Modélisation du contrôle de self-sizing . . . . . 84
5.3.1.2 Modélisation du contrôle de self-repair . . . . . 84
5.3.2 Spécification de la coordination . . . . . . . . . . . . . . . 86
5.3.2.1 Stratégie de coordination . . . . . . . . . . . . . 86
5.3.2.2 Spécification du contrat . . . . . . . . . . . . . . 87
5.3.2.3 Programme final . . . . . . . . . . . . . . . . . . 89
5.4 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
viiTABLE DES MATIÈRES
5.4.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.2 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.2.1 Comportement non coordonné . . . . . . . . . 92
5.4.2.2 Comportement coordonné . . . . . . . . . . . . 95
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6 Coordination modulaire pour la gestion d’applications multi-tiers et
consolidation 99
6.1 Gestion des ressources d’un centre de données . . . . . . . . . . 100
6.1.1 Utilisation des ressources . . . . . . . . . . . . . . . . . . 100
6.1.2 Gestionnaire de consolidation de serveurs . . . . . . . . 101
6.2 Problèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.3 Conception de la coordination modulaire . . . . . . . . . . . . . 102
6.3.1 Modélisation des gestionnaires . . . . . . . . . . . . . . . 103
6.3.1.1 Modélisation du gestionnaire self-sizing . . . . 103
6.3.1.2 Modélisation du gestionnaire self-repair . . . . 104
6.3.1.3 Modélisation du gestionnaire de consolidation 104
6.3.2 Spécification de la coordination . . . . . . . . . . . . . . . 105
6.3.2.1 Stratégie de coordination . . . . . . . . . . . . . 105
6.3.2.2 Spécification du contrat . . . . . . . . . . . . . . 106
6.3.2.3 Synthèse monolithique . . . . . . . . . . . . . . 106
6.3.2.4 Synthèse modulaire . . . . . . . . . . . . . . . . 107
6.3.2.5 Comparaison . . . . . . . . . . . . . . . . . . . . 111
6.4 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.4.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.4.2 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7 Exécution distribuée des contrôleurs modulaires 117
7.1 Exécution distribuée de contrôleurs . . . . . . . . . . . . . . . . 119
7.1.1 Exécution distribuée synchronisée . . . . . . . . . . . . . 119
7.1.1.1 Principe . . . . . . . . . . . . . . . . . . . . . . . 120
7.1.1.2 Implémentation . . . . . . . . . . . . . . . . . . 120
7.1.2 Exécution distribuée désynchronisée . . . . . . . . . . . . 122
7.1.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . 122
viiiTABLE DES MATIÈRES
7.1.2.2 Implémentation . . . . . . . . . . . . . . . . . . 123
7.2 Exemple: Gestion d’une application multi-tiers . . . . . . . . . . 124
7.2.1 Exécution distribuée totalement synchronisée . . . . . . 124
7.2.1.1 Modélisation . . . . . . . . . . . . . . . . . . . . 124
7.2.1.2 Décomposition . . . . . . . . . . . . . . . . . . . 125
7.2.2 Exécution distribuée partiellement synchronisée . . . . . 126
7.2.2.1 Modélisation . . . . . . . . . . . . . . . . . . . . 126
7.2.2.2 Décomposition . . . . . . . . . . . . . . . . . . . 129
7.2.3 Exécution distribuée désynchronisée . . . . . . . . . . . . 130
7.2.3.1 Modélisation . . . . . . . . . . . . . . . . . . . . 130
7.2.3.2 Décomposition . . . . . . . . . . . . . . . . . . . 131
7.2.4 Comparaison . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3 Expérimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.3.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.3.2 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.3.2.1 Durée de reconfiguration . . . . . . . . . . . . . 133
7.3.2.2 Atteinte des objectifs de contrôle . . . . . . . . 134
7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8 Conclusion 143
Bibliographie 147
Liste des figures 155
Liste des tables 159
ixTABLE DES MATIÈRES
x1
Introduction
Contents
1.1 Systèmes autonomes . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Coordination de gestionnaires autonomes . . . . . . . . . . . 2
1.3 Approche et contribution . . . . . . . . . . . . . . . . . . . . . 3
1.1 Systèmes autonomes
Aujourd’hui les systèmes informatiques sont présents dans de nombreux
secteurs d’activité pour réaliser des traitements complexes, e.g., le commerce
en ligne ou les opérations bancaires. Ces systèmes, ayant fait leurs preuves,
sont devenus de plus en plus utilisés et de plus en plus complexes, avec de
multiples ressources logicielles hétérogènes inter-connectées entre elles. De
plus l’environnement d’exécution de ces systèmes a évolué pour répondre à
la demande accrue en puissance de calcul. Des équipements de plus en plus
sophistiqués sont utilisés. Ces évolutions posent de nouveaux défis, notamment
l’administration des systèmes qui devient une tâche de plus en plus complexe.
La complexité inhérente à la taille des systèmes et à leur degré d’hétérogénéité
rend difficile leur administration. Cette dernière ne peut plus être assurée ef-
ficacement de manière manuelle. En effet, pour gérer les systèmes informatiques,
l’intervention humaine implique souvent des coûts élevés, des erreurs
11.2. COORDINATION DE GESTIONNAIRES AUTONOMES
fréquentes, et surtout des temps de réaction lents. Or les enjeux économiques
liés au bon fonctionnement des systèmes informatiques ne tolèrent ni des
pannes ni de longues périodes d’indisponibilité des systèmes. Il faut donc
trouver d’autres moyens pour assurer leur administration.
L’administration autonome 1 a été proposée comme alternative pour faciliter
la gestion des systèmes informatiques. Cette approche consiste à concevoir
des systèmes autonomes capables de se gérer eux-mêmes. A l’exécution, ces
systèmes doivent pouvoir réagir et s’adapter aux changements survenus dans
leur environnement d’exécution sans intervention humaine ou peu. Pour ce
faire, les systèmes autonomes sont munis d’éléments logiciels dédiés à leur
administration. Ce sont eux qui leur permettent de s’auto-administrer et de minimiser
l’intervention humaine. Ces éléments, appelés gestionnaires autonomes,
implémentent les décisions d’administration. Ils reçoivent, via des capteurs, des
données sur l’état courant du système administré et l’occurrence d’événements
qui affectent le système. Ils analysent ensuite ces données pour détecter tout
écart par rapport au fonctionnement souhaité du système. Lorsqu’écart il y a,
ils planifient et exécutent des opérations d’administration pour reconfigurer le
système dans un état cohérent et stable.
1.2 Coordination de gestionnaires autonomes
Pour qu’un système soit entièrement autonome, il faut que toutes les fonctions
d’administration soient automatisées. Parmi tous les gestionnaires autonomes
actuellement disponibles, aucun n’est capable d’implémenter une
administration globale. La conception d’un gestionnaire autonome qui implé-
mente toutes les fonctions d’administration peut être complexe. Toutefois, de
nombreux gestionnaires autonomes dédiés à différentes fonctions d’administration
sont disponibles et réutilisables. De ce fait, ils peuvent être utilisés en
parallèle pour l’administration d’un système.
Il peut être avantageux d’utiliser plusieurs gestionnaires pour faciliter une
gestion globale d’un système de manière autonome. Cependant une gestion
globale et cohérente nécessite la coordination des gestionnaires autonomes,
1. La plupart du temps le terme «autonomique» est utilisé. Toutefois, étant donné qu’il n’y
a pas de consensus pour l’utilisation de ce terme, dans ce document nous utilisons le terme
«autonome».
2qui sont généralement conçus indépendamment. Individuellement chaque gestionnaire
a un comportement cohérent, mais leur coexistence peut amener des
incohérences. Chaque gestionnaire assure le respect de ses objectifs d’administration
en se basant sur la connaissance qu’il a du système administré, et en
appliquant des actions d’administration. Ces actions affectent l’état du système
administré, et donc peuvent conduire à une violation des objectifs des autres
gestionnaires. Ces derniers peuvent réagir à ces changements en appliquant des
actions de correction qui n’aboutissent pas forcément à une stabilité du système
administré. De plus, un événement peut altérer l’état du système administré
conduisant ainsi à des réactions simultanées de plusieurs gestionnaires.
Une gestion autonome complète et cohérente requiert donc l’utilisation de
plusieurs gestionnaires autonomes coordonnés. La coordination de leurs activités
permet d’éviter des décisions conflictuelles ainsi que des actions inutiles et
peut-être redondantes.
1.3 Approche et contribution
La coordination de gestionnaires autonomes nécessite une synchronisation,
au moins partielle, de leurs activités pour pouvoir autoriser ou inhiber certaines
actions en fonction des circonstances. Il s’agit de restreindre le fonctionnement
global des gestionnaires dicté par des objectifs globaux. Des approches issues
de la théorie du contrôle, comme la synthèse de contrôleur discret (SCD),
permettent d’aborder ce type de problème. La synthèse de contrôleur discret est
une technique qui permet de construire automatiquement une fonction logique,
un contrôleur qui permet de restreindre le fonctionnement d’un système pour
respecter les propriétés désirées. Le contrôleur généré restreint le moins possible
le fonctionnement du système à contrôler. La synthèse de contrôleur discret
repose sur une déclaration des propriétés désirées et sur une modélisation du
système à contrôler. La programmation synchrone fournit des langages de haut
niveau facilitant la modélisation formelle de systèmes à base d’automates. Elle
permet la représentation de systèmes complexes par la composition parallèle et
hiérarchique d’automates.
Pour coordonner des gestionnaires autonomes, nous proposons une approche
basée sur la synthèse de contrôleur discret et la programmation syn-
31.3. APPROCHE ET CONTRIBUTION
chrone. En effet l’implémentation manuelle d’une politique de coordination
peut être complexe, coûteuse, et implique des séries de tests et de corrections
successives. Avec notre approche, le contrôleur de coordination est construit
automatiquement sur la base des objectifs de coordination et d’un modèle du
système. Nous adoptons la programmation synchrone pour la modélisation
du système à contrôler. Ce dernier correspond à l’ensemble des gestionnaires
autonomes à coordonner. La coordination requiert que le comportement des
gestionnaires, à l’exécution, puisse être observable et contrôlable. Nous construisons
un modèle de chaque gestionnaire dans lequel ces aspects sont décrits.
La composition des modèles des gestionnaires représente leur coexistence et
décrit l’ensemble des comportements qui peuvent être observés durant leur
exécution parallèle. Elle présente les comportements cohérents, et ceux consid-
érés incohérents qui rendent inconsistant l’état du système administré par les
gestionnaires.
La mise en oeuvre de la coordination nécessite une implémentation réelle
des fonctions permettant d’observer et de contrôler les gestionnaires. Pour cela
nous adoptons le modèle à composants qui facilite l’assemblage dynamique
d’éléments logiciels sur lesquels des fonctions d’introspection et de reconfiguration
peuvent être ajoutées. Nous identifions les contraintes de conception des
gestionnaires – comportement observable, et contrôlabilité – pour construire
une structure à base de composants où ils sont explicites, et n’impliquant pas la
modification de l’implémentation des gestionnaires autonomes pour lesquels
ces fonctions de contrôle ne sont pas disponibles.
Contributions
Nos contributions sont les suivantes :
1. Coordination de gestionnaires autonomes basée sur le contrôle discret
(a) Spécification du contrôle de gestionnaire avec la programmation
synchrone
(b) Respect de la coordination par synthèse de contrôleur discret
(c) Passage à l’échelle par synthèse modulaire hiérarchique
2. Mise en oeuvre de la coordination basée sur le modèle à composants
(a) Construction de composants de gestionnaires
4i. Implémentation du contrôle de gestionnaire
ii. Réutilisation de gestionnaires existants
(b) Construction de composants composites de coordination
i. Assemblage de composants de gestionnaires
ii. Assemblage de composants composites coordonnés
3. La validation de notre approche à travers des cas d’étude présentés dans
les chapitres suivants.
Les contributions de cette thèse s’inscrivent dans le cadre du projet CtrlGreen
2
. Ce projet vise à étudier les moyens matériels et logiciels pour l’optimisation
de la consommation énergétique dans les centres de données. La gestion
énergétique peut être implémentée à différents niveaux (matériel, système, intergiciel).
De multiples boucles de contrôle – gestionnaires autonomes – peuvent
donc être implémentées à chaque niveau et elles doivent prendre des décisions
globalement cohérentes. De plus le Green Computing n’est pas le seul aspect
qui doit être géré dans l’administration d’un centre de données. Des politiques
pour le passage à l’échelle et/ou la disponibilité des applications hébergées sont
également prises en compte. Il est donc nécessaire de gérer les compromis entre
performance, disponibilité et énergie. Pour cela la coexistence de nombreux
gestionnaires autonomes (avec des objectifs différents, implémentés dans des
couches différentes) est nécessaire. Leur coordination est également nécessaire
pour obtenir une gestion cohérente.
Organisation du document
Le reste du document est organisé de la manière suivante :
Le chapitre 2 présente l’état de l’art sur l’administration autonome et les
modèles réactifs. D’abord nous présentons l’administration autonome, la nécessité
et les solutions proposées. Ensuite nous présentons des techniques issues
du contrôle discret pour la conception de systèmes réactifs.
Le chapitre 3 détaille notre approche de coordination de gestionnaires, basée
sur l’utilisation de modèles réactifs et des techniques de contrôle discret pour
2. Ctrl-Green (ANR-11-INFR 012 11) est un projet de recherche financé par l’ANR (Agence
Nationale de la Recherche) avec le soutien de MINALOGIC. http://www.ctrlgreen.org/
51.3. APPROCHE ET CONTRIBUTION
la spécification de la coordination ; et le modèle à composants pour la mise en
oeuvre [21, 29]. Nous utilisons le synthèse modulaire pour faciliter le passage à
l’échelle et construire un contrôle hiérarchique [23].
Le chapitre 4 présente une application de notre approche pour la gestion cohérente
de l’optimisation des ressources, dans la perspective de l’informatique
verte [28]. Les gestionnaires considérés gèrent le dimensionnement dynamique
du degré de réplication de serveurs (self-sizing) et l’ajustement dynamique
de la fréquence du CPU (DVFS «Dynamic Frequency Voltage Scaling»). Le
contrôleur de coordination contrôle les actions d’ajout de serveurs dupliqués
en fonction de l’état des processeurs des machines déjà en cours d’utilisation.
L’objectif est de n’autoriser un ajout de serveur que lorsque c’est nécessaire,
lorsque les serveurs actifs sont réellement saturés.
Le chapitre 5 présente une autre application de notre approche pour la
gestion de la disponibilité et de la performance d’un système multi-tiers basé sur
la réplication [30]. Le système exécute l’application Web de référence RUBiS. Les
gestionnaires considérés sont self-sizing pour le dimensionnement dynamique
du degré de réplication des tiers dupliqués, et self-repair pour la réparation de
serveurs en panne. Le contrôleur de coordination conçu orchestre l’exécution
des gestionnaires afin d’éviter un sur-dimensionnement.
Le chapitre 6 présente une application de l’approche modulaire pour la
gestion d’un centre de données [23]. Nous considérons que le centre de données
héberge un ensemble d’applications de type multi-tiers JEE. Chacune des
applications est gérée de manière autonome par deux instances de self-sizing et
quatre instances de self-repair. Cet exemple démontre le passage à l’échelle de
notre approche par la spécification modulaire du contrôle des gestionnaires des
applications et du gestionnaire de consolidation.
Le chapitre 7 décrit comment le code obtenu d’une spécification modulaire
peut être exécuté de manière distribuée. Il détaille les différentes approches
d’exécution distribuée et décrit les implémentations possibles pour la mise
en oeuvre. Il présente également un exemple d’utilisation de ces différentes
approches pour la gestion d’un système multi-tiers.
Le chapitre 8 conclut la thèse. Il rappelle le contexte, l’approche de coordination
et donne des perspectives que nous envisageons.
62
État de l’art
Contents
2.1 Administration autonome . . . . . . . . . . . . . . . . . . . . . 8
2.1.1 Complexité des systèmes informatiques . . . . . . . . . 9
2.1.1.1 Architecture multi-tiers . . . . . . . . . . . . . 9
2.1.1.2 Centre de données : ressources à large échelle 10
2.1.1.3 Limites de l’administration manuelle . . . . . 10
2.1.2 Gestionnaire autonome . . . . . . . . . . . . . . . . . . 11
2.1.2.1 Définition de gestionnaire autonome . . . . . 11
2.1.2.2 Implémentation . . . . . . . . . . . . . . . . . 13
2.1.3 Coordination de gestionnaires autonomes . . . . . . . . 16
2.1.3.1 Besoin de coordination . . . . . . . . . . . . . 16
2.1.3.2 Approches de coordination proposées . . . . 17
2.1.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Modèles réactifs . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1 Les langages synchrones . . . . . . . . . . . . . . . . . . 21
2.2.1.1 Heptagon/BZR . . . . . . . . . . . . . . . . . 22
2.2.1.2 Implémentation des programmes synchrones 25
2.2.2 Synthèse de contrôleur discret (SCD) . . . . . . . . . . 26
2.2.2.1 Synthèse de contrôleur avec Heptagon/BZR . 27
2.2.2.2 Synthèse modulaire avec Heptagon/BZR . . 29
72.1. ADMINISTRATION AUTONOME
2.2.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Ce chapitre présente l’administration autonome. Cette approche repose
sur l’automatisation des fonctions d’administration. Ce chapitre présente la
nécessité de cette approche et les éléments logiciels, gestionnaires autonomes,
qui permettent sa mise en oeuvre. Il présente également l’intérêt d’utiliser
plusieurs gestionnaires autonomes et la nécessité de les coordonner, et quelques
approches de coordination étudiées dans des travaux de recherche.
La seconde partie de ce chapitre présente des méthodes et des techniques,
issues de la programmation synchrone et de la synthèse de contrôleur discret,
sur lesquelles est basée notre méthodologie de coordination de gestionnaires.
La programmation synchrone fournit des langages de programmation de haut
niveau permettant la modélisation formelle du comportement d’un système ; et
la synthèse de contrôleur discret.
2.1 Administration autonome
L’administration d’un système informatique consiste en un ensemble d’opérations
en vue de le mettre en état de marche et de maintenir correct son fonctionnement
tout au long de son exécution. La mise en marche du système implique
la configuration et la résolution des dépendances de ses différents éléments
logiciels déployés sur des machines dédiées. Assurer le bon fonctionnement
du système implique une surveillance continue de l’environnement logiciel
et matériel afin de détecter des problèmes et d’appliquer des opérations de
reconfiguration.
Aujourd’hui les systèmes informatiques sont devenus de plus en plus complexes.
Leur administration dépasse les capacités humaines à cause du nombre
très important d’éléments logiciels et matériels impliqués. L’administration autonome
[39], introduite en 2001 par IBM, a été proposée comme alternative face
à cette complexité croissante. Cette approche consiste à automatiser les fonctions
d’administration afin de minimiser l’intervention humaine et d’améliorer
la réactivité quant à la détection de changements et l’application d’opérations
8de correction. Les fonctions d’administration sont implémentées par des élé-
ments logiciels appelés gestionnaires autonomes. A l’exécution, ces derniers
vont appliquer les tâches d’administration sur le système administré.
2.1.1 Complexité des systèmes informatiques
L’informatique est un domaine essentiel dans beaucoup de secteurs d’activité.
La plupart des activités, souvent complexes, dans ces secteurs est assurée
au moyen de systèmes informatiques afin de faciliter leur gestion. Ces systèmes
fournissent des services, e.g., le commerce en ligne, les opérations bancaires,
ouverts à un nombre important d’utilisateurs. Ils évoluent souvent dans un
environnement très dynamique. Les enjeux économiques liés à ces activités font
que les systèmes informatiques associés doivent assurer un bon fonctionnement
qui requiert une forte fiabilité. Une panne ou une indisponibilité peut causer des
pertes financières considérables. Le besoin de stabilité a conduit à la conception
de systèmes larges et complexes, avec de nombreux éléments logiciels répartis,
déployés suivant une architecture distribuée. Par ailleurs, l’exécution de ces
systèmes nécessite de grandes quantités de ressources.
2.1.1.1 Architecture multi-tiers
L’architecture multi-tiers est un exemple d’architecture distribuée de plus
en plus utilisée. Elle permet l’interconnexion de serveurs qui rendent des services
différents, e.g., la production de page web avec la gestion de base de
données. Les serveurs sont groupés en tiers. Chaque tier offre un service à son
prédécesseur, et requiert le service fourni par son successeur pour remplir sa
part dans la chaîne de traitement des requêtes. Les différents tiers peuvent
participer au traitement de chaque requête entrante durant l’exécution du système.
Pour des raisons de performance et de disponibilité, chaque tier peut
être dupliqué sur plusieurs machines distinctes. Un répartiteur de charge est
alors utilisé en frontal à chaque tier basé sur la réplication pour distribuer les
requêtes à traiter entre les serveurs dupliqués du tier.
92.1. ADMINISTRATION AUTONOME
2.1.1.2 Centre de données : ressources à large échelle
La mise en exploitation des systèmes informatiques nécessite aujourd’hui
une importante puissance de calcul. Ce besoin a conduit les entreprises à
s’orienter vers les centres de données. Un centre de données est constitué d’un
ensemble d’équipements matériels sophistiqués et à grande échelle pour fournir
une puissance de calcul et une capacité de stockage très élevées. La puissance
de calcul et la capacité stockage sont fournies par une plate-forme formée par
un nombre important de serveurs physiques puissants inter-connectés via un
réseau à haut débit. Cette plate-forme est généralement virtualisée ce qui permet
d’exécuter plusieurs applications distinctes simultanément de manière isolée.
Un système de virtualisation, e.g., VMWare, Xen, est installé sur les serveurs
physiques pour former la couche virtuelle. La ressource approvisionnée dans
ce type de plate-forme est la machine virtuelle. Une machine virtuelle est un
logiciel qui reproduit le même comportement qu’un ordinateur réel. Elle contient
un système d’exploitation et ne se distingue pas d’un ordinateur réel, vu
de l’intérieur. Elle peut héberger des logiciels applicatifs et exécuter la plupart
des tâches qu’un ordinateur réel peut exécuter. Le système de virtualisation
gère le quota de ressources physiques alloué à chaque machine virtuelle durant
son exécution. Le quota de chaque machine virtuelle peut évoluer en fonction
de ses besoins.
2.1.1.3 Limites de l’administration manuelle
La complexité croissante des systèmes informatiques a rendu les tâches
d’administration difficiles à assurer manuellement. La capacité humaine pour
la gestion d’un système informatique – déploiement et reconfiguration – est
vite dépassée par la complexité de celui-ci. Le déploiement implique la copie,
l’installation de chaque logiciel sur la machine dédiée, leur configuration et
leur mise en marche. La reconfiguration implique une surveillance continue
de l’ensemble des éléments logiciels et matériels pour la détection de changements
dans l’environnement d’exécution – détection de défaillance, charge de
travail – auxquels il faut réagir. Ces tâches sont rendues difficiles à effectuer
manuellement par le nombre très important d’éléments impliqués.
102.1.2 Gestionnaire autonome
Un système autonome est muni d’éléments logiciels dédiés à son administration.
Ces derniers lui permettent ainsi de s’auto-administrer et de minimiser
l’intervention humaine. Ces éléments logiciels, responsables des tâches d’administration,
sont appelés gestionnaires autonomes.
2.1.2.1 Définition de gestionnaire autonome
Un gestionnaire autonome est un élément logiciel qui implémente une ou
plusieurs fonctions d’administration sur des éléments administrés de manière
autonome. Parmi les fonctions d’administration figurent l’auto-configuration,
l’auto-protection, l’auto-optimisation, l’auto-réparation. Les éléments administrés
peuvent être des éléments logiciels et/ou matériels. Le gestionnaire implante
une boucle de contrôle au moyen de capteurs et d’actionneurs. Les
capteurs permettent de collecter les informations sur les éléments administrés.
Les actionneurs, quant à eux, permettent d’appliquer les opérations de reconfiguration.
Les capteurs et les actionneurs sont fournis avec les éléments
administrés.
Analyse Planification
Gestionnaire autonome
Capteurs Actionneurs
Elements administres
Observation Execution Connaissance
FIGURE 2.1 – Architecture d’un système autonome
L’implémentation d’un gestionnaire autonome est basée sur le modèle de
référence, représenté à la figure 2.1, proposé par IBM, MAPE-K : Monitor (Obser-
112.1. ADMINISTRATION AUTONOME
vation), Analyze (Analyse), Plan (Planification), Execute (Exécution) et Knowledge
(Connaissance). Ce modèle décrit quatre tâches principales :
1. Observation. Cette partie surveille l’exécution des éléments administrés
grâce aux mesures provenant des capteurs. Elle permet d’agréger et de
filtrer les informations de bas niveau en provenance des capteurs pour
générer des données pertinentes destinées à l’analyse (e.g., panne, la surcharge
ou la sous-charge d’un serveur).
2. Analyse. Elle implante les politiques de décision de la boucle de contrôle.
Pour cela, elle analyse les données de surveillance et se base sur le modèle
du système administré pour déterminer si des modifications sont nécessaires
et va déclencher la phase de planification pour modifier le système.
3. Planification. Elle génère un programme de reconfiguration qui contient
les tâches de reconfiguration à effectuer ainsi que leurs contraintes d’ordonnancement
éventuelles.
4. Exécution. C’est le moteur qui exécute les tâches de reconfiguration en
fonction des contraintes d’ordonnancement. Le moteur doit aussi assurer
la cohérence du système lors d’une reconfiguration. Les tâches de recon-
figuration sont exécutées grâce aux actionneurs des éléments administrés.
Connaissance (modèle du système). A l’exécution, un modèle du système
administré est maintenu à jour. Ce modèle est utilisé par le gestionnaire
autonome comme base pour les décisions d’administration. Il fournit une connaissance
des éléments administrés. L’idéal serait qu’il fournisse également une
connaissance sur les gestionnaires autonomes présents dans le système. Il existe
différents types de modèles suivant la fonction d’administration implantée par
le gestionnaire. On peut citer par exemple des modèles représentant la liste des
attaques connues sur le système pour l’auto-protection ou bien des modèles
basés sur la structure du système pour l’auto-réparation et l’auto-configuration.
122.1.2.2 Implémentation
L’administration autonome est une approche très prometteuse. Beaucoup de
travaux de recherche ont démontré sa faisabilité à travers différentes expérimentations.
Aujourd’hui de nombreux gestionnaires autonomes ont été conçus. Ils
assurent de manière cohérente les tâches d’administration qu’ils implémentent.
Parmi les aspects d’administration considérés figurent l’auto-configuration,
l’auto-protection, l’auto-optimisation et l’auto-réparation.
Auto-réparation. Les frameworks proposés dans [18,53] implémentent l’autoréparation.
Ils permettent la restauration des composants logiciels de systèmes,
à l’exécution. Dans [18], un modèle architectural du système administré est
maintenu à jour. Il est utilisé comme base pour la reconfiguration et la réparation
du système. Le modèle expose un ensemble de propriétés sur l’architecture
du système, qui permettent de définir des contraintes formelles pour détecter
des anomalies, et savoir quand une adaptation est nécessaire. La violation
d’une contrainte entraîne la réparation du modèle. Les changements effectués
sur le modèle sont ensuite appliqués sur les composants du système réel. La
relation entre le modèle et le système réel est assurée au moyen de jauges et
de services de traduction. Les jauges permettent l’évaluation des propriétés
en fonction des mesures au niveau du système. Les services de traduction,
eux, permettent d’interpréter les opérateurs au niveau de l’architecture et les
mapper aux opérateurs de réparation sur les composants du système en exécution.
La particularité du framework proposé est qu’il permet de choisir le style
architectural utilisé pour la définition du modèle du système. L’objectif est de
permettre d’utiliser le style qui correspond le mieux à l’architecture du système
géré et qui expose les propriétés qui correspondent le mieux aux aspects d’administration.
Des méthodes analytiques sont fournies pour la suggestion de
stratégies de réparation appropriées. Les stratégies définissent des règles de
réparation basées sur des opérateurs de haut niveau permettant l’adaptation
du modèle. Le framework proposé dans [53] permet la réparation d’un système
logiciel soumis à une haute variabilité. Il permet de surveiller le système pour
détecter les fonctions qui ont échoué pour reconfigurer le système dans un état
correct. La gestion de la réparation est basée sur un modèle d’objectifs composé
d’objectifs et de tâches, structurés sous forme de graphe. Le framework est
132.1. ADMINISTRATION AUTONOME
constitué de quatre composants : un composant de surveillance, un composant
d’analyse, un composant de reconfiguration et un composant d’exécution. Le
composant de surveillance collecte, à l’exécution, les données logs du système
géré. Ces données sont ensuite utilisées par le composant d’analyse pour identifier
en cas d’échec les objectifs et les tâches qui ont échoué et la source de
l’échec. Le composant de reconfiguration génère la meilleur configuration à
laquelle reconfigurer le système à la prochaine exécution. La nouvelle configuration
contient un ensemble de tâches dont la réussite de l’exécution mène à
la satisfaction de l’objectif global. La nouvelle configuration est transmise au
composant d’exécution. Ce dernier exécute des actions de compensation pour
restaurer le système dans un état précédent consistant, puis il reconfigure le
système en utilisant la nouvelle configuration calculée.
Auto-optimisation. Les approches proposées dans [1,12,46,49] implémentent
l’auto-optimisation. Ils permettent de réagir aux variations de l’environnement
de façon à obtenir un fonctionnement optimal du système administré. Le fonctionnement
optimal est généralement défini en fonction de critères de performance
et/ou de consommation de ressources. Ces approches permettent une
allocation dynamique de ressources aux applications administrées hébergées
sur une grappe de machines. En effet, une allocation statique peut mener à
un gaspillage de ressources. [12, 46, 49] ont proposé une politique d’approvisionnement
de ressources basée sur la charge de travail reçue en entrée. Ces
approches reposent sur une surveillance de la charge de travail ou de métriques
de qualités de service (SLA «Service Level Agreement») pour l’approvisionnement
dynamique de ressources dans un environnement non virtualisé ou
virtualisé. La ressource approvisionnée peut être du cpu, de la mémoire ou
une machine entière. Dans le cas de système basé sur la réplication, l’optimisation
est basée sur un mécanisme d’approvisionnement dynamique qui prend
en compte la charge de travail courante afin d’ajuster le nombre de serveurs
actifs en démarrant de nouveaux serveurs sur des machines disponibles, ou
en arrêtant des serveurs et les machines qui les hébergent quand ils ne sont
plus nécessaires. [1] propose ElastMan, un gestionnaire autonome pour l’élasticité
d’applications web dans un environnement de cloud computing. Il permet
l’approvisionnement et le retrait dynamique des ressources allouées à une ap-
14plication afin de garantir les objectifs de niveau de service requis (SLOs «Service
Level Objective») à un coût réduit. L’approche combine un contrôle prédictif et
un contrôle rétroactif. Le contrôle prédictif permet de détecter et de répondre
rapidement à des pics de charge. Le contrôle rétroactif permet de corriger l’écart
vis-à-vis de la qualité de service souhaitée.
Auto-protection. Le framework JADE a été proposé dans [26] pour implé-
menter l’auto-protection d’un système distribué. L’auto-protection est mise
en oeuvre en plaçant devant chaque élément logiciel du système un pare-feu.
Chaque pare-feu est configuré pour accepter les requêtes autorisées à être
traitées par le logiciel associé. Les pare-feux sont également configurés comme
détecteurs d’intrusions. En cas d’intrusion, JADE isole les éléments impactés
(e.g., les machines "infectées"). Il reconfigure de manière autonome l’architecture
du système en remplaçant les éléments impactés et en reconfigurant les
pare-feux grâce à un modèle de l’architecture du système maintenu à jour. JADE
construit une représentation, à base de composants, du système distribué à
administrer. Chaque élément administré du système est encapsulé dans un
composant. Le système distribué est administré comme une architecture à composants.
JADE est basé sur le modèle à composants Fractal [14] qui fournit
des fonctionnalités d’introspection et de reconfiguration dynamique. Chaque
composant implémente la même interface d’administration pour l’élément
qu’il encapsule. Cela permet de gérer de manière homogène les éléments à
administrer en évitant d’utiliser leurs interfaces d’administration complexes et
propriétaires.
JADE est un système d’administration autonome. Il permet d’ajouter des
comportements autonomes à des systèmes distribués (auto-protection [26],
auto-réparation [11] et auto-optimisation [10]). Les gestionnaires autonomes
agissent sur les interfaces fournies par les composants qui encapsulent les élé-
ments administrés pour surveiller et appliquer des opérations d’administration
sur le système réel à l’exécution. JADE permet d’ajouter plusieurs gestionnaires
autonomes sur un même système. Toutefois les gestionnaires s’exécutent de
manière indépendante sans aucune coordination. TUNe [13] est une amélioration
de JADE. Il permet de masquer la complexité liée à la maîtrise des API de
programmation du modèle à composants en fournissant un langage de descrip-
152.1. ADMINISTRATION AUTONOME
tion de l’architecture du système à administrer. Cependant la coordination des
gestionnaires n’est également pas traitée dans TUNe.
Auto-configuration. Cette propriété peut être considérée comme traitée dans
tous les travaux qui se sont intéressés à l’auto-administration et qui ont proposé
une implémentation. En effet, qu’il s’agisse d’optimisation, de réparation ou de
protection, une nouvelle configuration du système administré est générée et
appliquée à travers les actions d’administration.
2.1.3 Coordination de gestionnaires autonomes
Aujourd’hui beaucoup de gestionnaires autonomes sont disponibles. Cependant
chacun n’implémente qu’une partie des fonctions d’administration. Construire
un système entièrement autonome dans lequel toutes les fonctions
d’administration sont assurées requiert l’utilisation de plusieurs gestionnaires.
Cela permet une gestion complète des différents aspects d’administration. Leur
coexistence est rendue nécessaire par la difficulté de concevoir un gestionnaire
qui couvre toutes les fonctions d’administration.
2.1.3.1 Besoin de coordination
La coordination des gestionnaires autonomes permet d’éviter des incohérences
lors de l’administration d’un système. Individuellement chaque gestionnaire
a un comportement cohérent mais leur coexistence peut amener des
incohérences. Ils sont conçus indépendamment et n’ont généralement aucune
connaissance de leur coexistence. De ce fait ils ne peuvent pas distinguer les
changements causés par les phénomènes physiques (auxquels ils doivent réagir)
des changements causés par les actions d’administration des uns des autres sur
le système administré. Les actions d’un gestionnaire peuvent mener le système
dans un état dans lequel ses objectifs peuvent être atteints alors que ceux des
autres peuvent ne pas être atteints. Cela peut entraîner des actions de reconfiguration
en répétition sans garantir ultimement l’atteinte des objectifs de tous
les gestionnaires. Cela peut conduire à une instabilité du système administré.
162.1.3.2 Approches de coordination proposées
La coordination de gestionnaires autonomes a été étudiée dans plusieurs
travaux de recherche. Des approches ont été proposées pour implémenter et
mettre en oeuvre la coordination. Parmi les solutions proposées pour l’implé-
mentation de la politique de coordination figurent des fonctions d’utilité, des
fonctions d’optimisation, des protocoles de consensus et des règles (conditions/priorité).
Coordination basée sur une fonction d’utilité. Les approches proposées
par [20, 40] sont basées sur des fonctions d’utilité. La solution de coordination
proposée par [40], vManage, permet une gestion unifiée de la plate-forme
d’exécution physique et de l’environnement virtualisé dans un centre de données.
vManage comprend un service d’enregistrement, un service de proxy, des
coordinateurs et un stabilisateur. Les services d’enregistrement et de proxy permettent
la découverte et l’enregistrement des différents capteurs et actionneurs
disponibles. Le but est de faciliter l’utilisation de capteurs et d’actionneurs
divers, de différents constructeurs et d’unifier les dispositifs de surveillance et
de contrôle de la plate-forme et de l’environnement virtualisé. Les politiques
de gestion de l’environnement virtualisé basée sur l’état de la plate-forme
sont implémentées par un coordinateur connecté au gestionnaire du système
de virtualisation. Les politiques de gestion de la plate-forme basée sur l’état
de l’environnement virtualisé sont, quant à elles, implémentées par des coordinateurs,
et chacun est connecté à un gestionnaire de plate-forme exécuté
sur chaque serveur physique supportant l’environnement virtualisé. Les coordinateurs
utilisent les services d’enregistrement et de proxy pour accéder
aux données de surveillance générées par les capteurs, et pour appliquer les
politiques via les actionneurs. La stabilité est assurée par le stabilisateur qui
empêche les coordinateurs d’effectuer des actions redondantes et inutiles. L’é-
valuation de la stabilité est basée sur une fonction de distribution cumulative.
Cette dernière permet de calculer la probabilité que les serveurs physiques
continuent à fournir suffisamment de ressources aux machines virtuelles qu’ils
hébergent dans le futur durant une période de temps déterminée. Le prototype
de coordination proposé par [20] permet la gestion de la performance et de la
consommation énergétique dans un centre de données basé sur la répartition
172.1. ADMINISTRATION AUTONOME
de charge. Le prototype est basé sur des agents. Il comprend un agent responsable
de la gestion de la performance, un agent responsable de la gestion de la
consommation énergétique des serveurs et un agent de coordination. L’agent
responsable de la gestion de la performance s’occupe de la répartition de la
charge entre les différents serveurs actifs. L’agent responsable de la gestion de
la consommation énergétique s’occupe d’ajuster la puissance des serveurs. Les
actions de ces deux agents sont coordonnées par l’agent de coordination. La
politique de coordination est basée sur un modèle du système et une fonction
d’utilité multi-critères sur laquelle est basée le contrôle implémenté par l’agent
de coordination.
Coordination basée sur des règles. Parmi les approches basées sur des règles,
il y a [45] et [3]. La solution de coordination, VirtualPower, proposée par [45]
permet la gestion de la consommation énergétique des ressources physiques
en prenant en considération les politiques de gestion de ressources intégrées
dans les machines virtuelles. Le but est de coupler la gestion de la performance
au niveau des machines virtuelles et l’optimisation de l’énergie dans
un centre de données. VirtualPower assure la satisfaction des politiques de
gestion de ressources de machines virtuelles de manière indépendante et isolée
via l’hyperviseur. Elle permet également la gestion globale de la puissance
de calcul pour supporter l’environnement virtualisé en interprétant l’état des
machines virtuelles pour la prise de décision. Le framework Accord proposé
par [3] est basé sur les modèles à composants pour la construction d’applications
autonomes. Les applications autonomes sont formées par la composition
de composants autonomes qui intègrent des agents. Les agents implémentent
des règles d’administration. Les décisions conflictuelles entre les agents sont
résolus grâce à des priorités.
Coordination basée sur une fonction d’optimisation. Les approches proposées
dans [51] et [38] sont basées sur des fonctions d’optimisation. [51] propose
une extension de l’architecture GANA pour assurer la stabilité des boucles
de contrôle dans un réseau autonome. Le framework introduit un nouveau
module de synchronisation des actions (ASM). Ce module est intégré dans certains
des éléments de décision (gestionnaire autonomes) qui se chargeront de
18la coordination. Chaque module ASM gère une liste d’actions à synchroniser
et dont il est responsable. Chaque gestionnaire avant d’exécuter une action
consulte le module ASM responsable de l’action pour validation. Il connaît l’impact
de chacune des actions sur les métriques de qualité de service. Un ASM
sélectionne, parmi l’ensemble des actions à synchroniser, le sous-ensemble
d’actions à exécuter qui assure la stabilité locale et globale du réseau. Le choix
des actions à exécuter est formulé comme un problème d’optimisation basé
sur la programmation linéaire binaire. Des indicateurs de performance sont
définis, chacun avec un poids qui indique son importance. Un ASM choisit les
actions qui optimise l’ensemble des indicateurs de performance. [38] adresse
la stabilité dans un réseau autonome équipé de plusieurs boucles de contrôle.
Il identifie trois problèmes qui doivent être considérés pour la stabilité : l’interaction
des boucles de contrôle, la résolution de conflits entre les boucles de
contrôle et la synchronisation. La théorie des jeux est proposée pour l’étude de
la stabilité des comportements autonomes. La conception repose sur l’architecture
GANA qui permet une structuration hiérarchique des boucles de contrôle.
GANA permet également la résolution de conflits via un module, une fonction de
synchronisation des actions [51].
Coordination basée sur un consensus. Parmi les approches basées sur un
consensus, nous pouvons citer [2]. Elle propose un framework, LIBERO, qui
permet l’implémentation de modèle comportemental de type Pipeline et
Farm avec plusieurs gestionnaires autonomes coordonnés pour la gestion de
plusieurs aspects non fonctionnels. La coordination des gestionnaires repose sur
un consensus. Un gestionnaire qui planifie l’exécution d’une action demande la
validation de l’action par les autres gestionnaires.
2.1.4 Synthèse
Une administration autonome globale requiert plusieurs gestionnaires autonomes
pour couvrir tous les objectifs. Toutefois, la coordination des actions
exécutées par les gestionnaires est essentielle pour éviter des décisions con-
flictuelles et garantir la cohérence de l’administration. Des solutions de coordination
ont été proposées. Certaines solutions proposent des approches basées
sur des fonctions d’optimisation, des fonctions d’utilité, des priorités ou un
192.2. MODÈLES RÉACTIFS
consensus. Cependant, dans tous les cas, il y a un besoin de synchronisation et
de contrôle des actions des gestionnaires.
La coordination peut être considérée comme un problème de synchronisation
et de contrôle logique des actions d’administration. Une méthodologie
de conception est d’utiliser les techniques issues des systèmes réactifs et des
systèmes à événements discrets de la théorie du contrôle. Cette dernière est
la discipline classique pour la conception de contrôleurs automatiques. Elles
offrent des garanties sur le comportement du contrôleur vis-à-vis de propriétés
désirables.
2.2 Modèles réactifs
Les systèmes réactifs [33] sont des systèmes qui interagissent continuellement
avec leur environnement extérieur et au rythme imposé par ce dernier.
Ils sont généralement concurrents de nature. Ils évoluent en parallèle avec leur
environnement et ils sont souvent constitués de sous-systèmes évoluant en
parallèle. Ces systèmes implémentent des fonctions critiques dont la validation
de certaines propriétés de fonctionnement est requise avant la mise en exploitation.
L’implémentation d’un système réactif avec les langages de bas niveau est
souvent source d’erreurs et ne garantit pas la validation de propriétés sur le
comportement du système.
Parmi les solutions proposées pour l’étude et la conception de systèmes réactifs
figurent STATECHARTS [35], les réseaux de Pétri et les langages synchrones.
STATECHARTS est un formalisme basé sur les diagrammes d’états. Il fournit
des mécanismes pour représenter le parallélisme, la préemption et la hiérarchie.
Les réseaux de Pétri permettent la modélisation et l’analyse qualitative
de comportements parallèles, de synchronisation et de partage de ressources.
Quant aux langages synchrones, ils fournissent des méthodes formelles pour
la spécification de systèmes réactifs et disposent d’outils de vérification, de
synthèse de contrôleurs discrets [42] et de génération de code exécutable à
partir de la spécification. Nous basons notre travail sur ces langages.
202.2.1 Les langages synchrones
Les langages de programmation synchrone [5] sont des langages de haut
niveau introduits au début des années 80 pour la conception de systèmes réactifs.
Ils permettent une description de haut niveau du comportement d’un
système et d’aborder les notions de concurrence et de déterminisme. Ils permettent
une spécification formelle et disposent d’outils d’analyse offrant des
garanties à la compilation sur le comportement du système à l’exécution.
Les langages synchrones reposent sur une hypothèse appelée l’hypothèse
synchrone. L’hypothèse synchrone fournit un niveau d’abstraction où les réactions
– calculs et/ou communications – du système sont instantanées. Cela
permet la spécification du fonctionnement d’un système sans considérer les
contraintes liées à l’architecture sur laquelle il est exécuté. L’évolution est basée
sur la notion d’instant. Les événements internes et les événements de sortie sont
datés précisément en fonction du flux des événements en entrée. Cela facilite
au moment de la spécification de raisonner en temps logique sans tenir compte
des temps réels des calculs et des communications. Cela facilite également le
raisonnement par rapport aux aspects de déterminisme et de concurrence sur
le comportement du système souvent décrit comme la composition parallèle de
sous-systèmes.
Certains langages synchrones sont basés sur le modèle impératif. ESTEREL [7]
est un exemple de langage qui adopte ce modèle. D’autres sont basés sur le
modèle flot de données par exemple LUSTRE [34] et SIGNAL [6]. Dans le
modèle flot de données toute variable manipulée est un flot, c’est-à-dire une
séquence infinie de valeurs d’un même type. A chaque instant, une valeur est
associée à chaque variable. Il existe d’autres langages qui permettent de décrire
un système à base de modèles mixant des équations de flot de données et des
automates (les automates de mode [41]). C’est le cas des langages Heptagon [27]
et Heptagon/BZR [22, 24, 25].
Trans State
Out X
Y
FIGURE 2.2 – Système de transitions
212.2. MODÈLES RÉACTIFS
Toutefois, bien que basés sur des modèles différents, les programmes synchrones
implantent le même comportement de base illustré par la figure 2.2. A
chaque réaction, les valeurs des flux d’entrée X, ainsi que les valeurs courantes
de la mémoire, sont utilisées pour calculer l’état suivant (fonction Trans), mettre
à jour la mémoire (fonction State) et calculer les valeurs des flux de sortie Y
(fonction Out).
2.2.1.1 Heptagon/BZR
Heptagon/BZR 1
[22, 24, 25] est un langage de programmation appartenant
à la famille des langages synchrones. Il permet de décrire un système à base
de modèles mixant des équations de flot de données et des automates [41]. Ce
langage permet de décrire un système constitué de sous-systèmes par la composition
parallèle et hiérarchique [19] des modèles des différents sous-systèmes.
Les modèles évoluent en parallèle de manière synchrone : une réaction globale
implique une réaction locale de chacun des sous-modèles.
Inactive Attente
Active
req and not c/
req and c/
dem
fin/ c/ dem
active=False active=False
active=True
(active, dem) = tache_comp (c, req, fin)
FIGURE 2.3 – Modélisation avec Heptagon/BZR : Tâche différable
La Figure 2.3 présente un exemple simple de modélisation avec le langage
Heptagon/BZR. Le programme tache_comp modélise le comportement
contrôlable d’une tâche (e.g., un processus). L’activation de la tâche peut être
1. http://bzr.inria.fr
22node tache_comp(req, c, fin:bool)
returns (active, dem:bool)
let automaton
state Inactive do
active = false ;
dem = req and c
until dem then Active
| req and not c then Attente
state Attente do
active = false ;
dem = c
until dem then Active
state Active do
active = true ;
dem = false
until fin then Inactive
end
tel
FIGURE 2.4 – Modélisation avec Heptagon/BZR : programme BZR.
différée. Initialement la tâche n’est pas activée. Cet état est représenté dans
le modèle par l’état Inactive. Dans cet état, lorsque l’activation de la tâche
est demandée (req à vrai), si l’activation est autorisée (c à vrai) la tâche est
activée et passe dans l’état Active ; sinon l’activation est retardée en attente de
l’autorisation. L’attente de l’autorisation est représentée par l’état Attente.
La sortie dem indique le déclenchement de l’activation de la tâche dans le
système. La sortie active indique l’état de la tâche, elle est à vrai lorsque la
tâche est en cours d’exécution. La fin de l’activation de la tâche est représentée
par l’entrée fin à vrai. La figure 2.4 présente le programme Heptagon/BZR correspondant
à l’automate décrit dans la figure 2.3.
Heptagon/BZR, comme tous les autres langages synchrones, permet de mod-
éliser un système par la composition parallèle d’automates, illustrée par la
figure 2.5. Chaque automate décrit une partie, un sous-système, du système
global. Cela facilite la modélisation de systèmes de grande taille. Les états et les
transitions de l’automate produit de la composition est l’ensemble des combinaisons
d’états et de transitions possibles des automates composés en parallèle.
232.2. MODÈLES RÉACTIFS
A0
A1
not a/
a/
A
B0
B1
not b/
b/
B
A0B0
A1B0 A0B1
A1B1
not a. not b/
a. not b/ not a. b/
b/ a/
a.b/
(A||B)
=
FIGURE 2.5 – Exemple de composition parallèle
Toutefois la composition parallèle ne fait aucune synchronisation entre les automates
composés. La composition parallèle est appropriée pour la modélisation
du comportement parallèle de systèmes indépendants. Lorsque les systèmes
modélisés par les automates doivent communiquer ou se synchroniser les uns
avec les autres, la composition parallèle doit être utilisée avec l’encapsulation
de certains signaux (entrées/sorties des automates) dédiés.
1
2
not a/
a/b
A
X
Y
not b/
b/
B
b
1X
2Y
not a/
a
(A||B)\{b}
=
FIGURE 2.6 – Exemple d’encapsulation
L’encapsulation, illustrée à la figure 2.6, est une opération qui permet d’assurer
la synchronisation entre deux automates composés par une variable qui
est une sortie d’un des automates et une entrée pour l’autre. Dans cet exemple,
24la variable encapsulée est la variable b qui permet ainsi de synchroniser les
automates. Cependant, cette opération peut poser des problèmes de causalité
lorsque les automates communiquent de manière bidirectionnelle dans la même
réaction.
2.2.1.2 Implémentation des programmes synchrones
L’implémentation des programmes synchrones peut être soit matérielle soit
logicielle. Dans le cas d’une implémentation logicielle, le compilateur produit
un programme séquentiel exécutable dans un langage de programmation cible
(C ou Java). Ce sont en général des langages de programmation impératifs,
permettant une intégration aisée du code obtenu dans le système, d’où le choix
de langages largement utilisés et indépendants de la plate-forme d’exécution.
La génération de code en Java 2 produit une ou plusieurs classes Java avec une
classe principale. La classe principale, tout comme les autres classes, fournit un
constructor qui permet de créer une instance deux méthodes : reset et step. La
méthode reset ne prend aucun paramètre et permet d’initialiser l’état interne
global, e.g., les variables internes et les variables de sortie. La méthode step
implémente le comportement réactif et permet d’effectuer un pas d’exécution
global. Elle met à jour l’état interne et retourne un résultat qui correspond aux
sorties. Elle prend comme argument les entrées décrites dans le modèle global.
Le compilateur des langages synchrones produit un code transformationnel
ce qui implique qu’il doit être invoqué explicitement. La méthode step doit être
appelée explicitement avec les bonnes entrées et fréquemment pour obtenir
le comportement réactif. Le résultat produit par chacun des appels à la méthode
step doit également être interprété et exécuté. De ce fait, il est nécessaire
d’implémenter une interface [4] facilitant le dialogue avec la méthode step. A
l’exécution, cette interface collecte les valeurs à passer à la méthode step, fait les
invocations à la méthode et interprète le résultat retourné en terme d’actions
à exécuter. Il existe deux modèles pour la mise en oeuvre du comportement
réactif :
– Modèle général : Dans ce modèle, le comportement réactif est basé sur
l’occurrence des événements. Toute occurrence d’événement conduit à
l’invocation de la méthode step.
2. Nous utilisons le langage Java dans nos expérimentations
252.2. MODÈLES RÉACTIFS
– Modèle périodique : Dans ce modèle, le comportement réactif repose sur
une réaction par période. L’invocation de la méthode step est périodique.
Les événements sont collectés et conservés jusqu’à l’appel de la méthode.
Un exemple de branchement d’un programme synchrone est présenté
dans [8] pour le contrôle des pilotes de périphériques dans un système embarqué.
L’objectif est d’appliquer des politiques de reconfiguration des pé-
riphériques permettant une gestion globale de la consommation de l’énergie
du système. Ce travail montre un exemple d’intégration d’un programme
synchrone dans un système réel. Il montre comment le step est utilisé.
2.2.2 Synthèse de contrôleur discret (SCD)
Parmi les méthodes de conception et de validation, la synthèse de contrôleur
est l’une des plus séduisantes. Elle permet de raffiner une spécification incomplète
de manière à atteindre un certain objectif comme la satisfaction d’une
propriété non encore vérifiée par le système initial. La synthèse de contrôleur,
issue de la théorie du contrôle, permet d’obtenir une logique de contrôle par
construction [44]. Elle est basée sur des méthodes formelles pour la synthèse
du contrôleur assurant le respect de propriétés sur un système contrôlé. Elle
requiert un modèle du comportement du système à contrôler et une spécifi-
cation des propriétés exprimées en terme d’objectifs de contrôle, par exemple
l’invariance. Le modèle du système décrit de manière formelle tous les comportements
possibles, les comportements corrects et incorrects vis-à-vis des
propriétés désirées. Il décrit également la contrôlabilité du système. Le système
à contrôler, ainsi que les objectifs de contrôle, sont généralement modélisés au
moyen de systèmes de transitions étiquetés ou automates [48], et les langages
synchrones sont bien adaptés.
Principe. La synthèse de contrôleur construit une logique de contrôle, une
contrainte sur les valeurs des entrées contrôlables du système à contrôler, en
fonction de son état courant et des valeurs des entrées incontrôlables, de sorte
que tous les comportements autorisés satisfassent les propriétés définies comme
objectifs de contrôle. La logique de contrôle construite restreint le moins possi-
26ble le fonctionnement du système contrôlé.
Trans State
Out X
Y
X
X
U
c
Ctrlr
FIGURE 2.7 – Système de transitions contrôlé
La figure 2.7 présente un exemple où le système de transition de la figure
2.2 est le système à contrôler. Le système de transition prend en entrée
X = (Xu ∪ Xc
) à chaque réaction. Les entrées Xu sont incontrôlables alors que
les entrées Xc sont contrôlables. Le contrôleur (logique de contrôle) Ctrlr,
obtenu par synthèse de contrôleur, produit les valeurs à affecter aux variables
contrôlables Xc en se basant sur les valeurs des entrées incontrôlables Xu et l’état
courant du système afin d’assurer les objectifs de contrôle. Toutefois, il peut
arriver qu’il n’existe pas de solution si le système n’est pas assez contrôlable
par rapport aux objectifs de contrôle.
Le code exécutable correspondant au modèle contrôlé décrit à la figure 2.7
constitue un contrôleur réel. Il permet à l’exécution de contrôler le système
modélisé lorsqu’ils sont couplés.
2.2.2.1 Synthèse de contrôleur avec Heptagon/BZR
Heptagon/BZR intègre un outil de synthèse de contrôleur discret SIGALI 3
[44]
dans sa compilation. Il permet une utilisation facile de la synthèse de contrôleur
en introduisant la notion de contrat dans la modélisation de système. Le contrat
est décrit de manière déclarative [24]. Il est constitué de trois parties : assume,
enforce et with.
Le contrat contient les propriétés que le fonctionnement du système doit
respecter. Ces propriétés sont déclarées comme objectifs de contrôle dans la
3. http://www.irisa.fr/vertecs/Logiciels/sigali.html
272.2. MODÈLES RÉACTIFS
partie enforce. Lorsque le modèle qui décrit le fonctionnement du système à
contrôler ne garantit pas le respect des propriétés, Heptagon/BZR génère une
logique de contrôle qui permet d’assurer le respect des propriétés lorsque des
entrées contrôlables sont définies dans le modèle. Les variables contrôlables
dans le modèle du système sont déclarées comme variables locales contrôlables
dans la partie with du contrat. La logique de contrôle qui assure le respect
des propriétés détermine les valeurs à assigner à ces variables contrôlables
de sorte à restreindre le fonctionnement aux comportements qui satisfont les
propriétés. Les propriétés pertinentes concernant l’environnement d’exécution
sont déclarées dans la partie assume du contrat. Cette information est prise en
compte lors de la synthèse de la logique de contrôle.
(active1, dem1, active2, dem2) = deuxtaches(req1, fin1, req2, fin2)
assume true
enforce not (active1 and active2)
with c1, c2
(active1, dem1) = tache_comp1(c1, req1, fin1) ;
(active2, dem2) = tache_comp2(c2, req2, fin2)
FIGURE 2.8 – Heptagon/BZR contrat : exclusion mutuelle
La figure 2.8 présente un exemple de programme auquel est associé un
contrat. Ce programme modélise le contrôle de deux tâches. L’exécution de
chacune des tâches peut être retardée. Les deux tâches sont modélisées par
deux instances du programme à la figure 2.3. Le contrat associé à ce programme
consiste à n’autoriser l’activation d’une tâche que lorsque l’autre tâche n’est
pas en cours d’exécution. Les deux tâches ne doivent pas être actives en même
temps. De ce fait, l’objectif est de contrôler le démarrage de l’exécution des
tâches de sorte que les deux tâches ne soient pas actives en même temps. Cela
est exprimée par la propriété «not (active1 and active2)», avec active1 à vrai
(true) lorsque la tâche n1 est active et active2 à vrai (true) lorsque la tâche n2
est active. Cette propriété étant l’objectif de contrôle à garantir est déclarée
dans la partie enforce du contrat. Les variables c1 et c2, déclarées comme étant
contrôlables dans la partie with, vont être utilisées par la logique de contrôle
synthétisée pour empêcher l’activation de l’exécution d’une des tâches lorsque
l’autre est en cours d’exécution.
28A la compilation Heptagon/BZR invoque SIGALI pour la synthèse de la
logique de contrôle. Une fois la logique de contrôle générée, Heptagon/BZR l’intègre
dans le modèle et produit un programme exécutable. Ce dernier constitue
un contrôleur qui permet de contrôler l’exécution des deux tâches modélisées
pour respecter la propriété. Heptagon/BZR permet de produire une seule solution
de manière déterministe pour un problème de synthèse de contrôleur discret.
Le compilateur de Heptagon/BZR favorise, pour les variables contrôlables,
la valeur vrai (true) à faux (false) et en prenant en compte l’ordre de déclaration
des variables.
2.2.2.2 Synthèse modulaire avec Heptagon/BZR
La synthèse de contrôleur est de complexité exponentielle. Elle est basée sur
l’exploration de l’espace d’états [16, 44] pour construire la logique de contrôle.
Cela limite son passage à l’échelle concernant son application sur des modèles
de systèmes larges. La synthèse modulaire permet d’adresser des systèmes
larges et complexes. Elle permet une spécification décentralisée du contrôle
d’un système. Un système est généralement modélisé par la composition de
sous-modèles qui peuvent également être la composition de sous-modèles. La
synthèse modulaire exploite cette structure du système [43] pour réduire la
complexité en offrant la possibilité de définir dans chacun des sous-modèles
les objectifs de contrôle à assurer sur les comportements qu’il encode. Chaque
sous-modèle intègre une logique de contrôle qui assure le respect de propriétés
vis-à-vis de son contexte local, et le respect de propriétés globales vis-à-vis de
sa composition avec d’autres sous-modèles.
(...) = node(...)
assume A enforce G
with c11, ..., c1q
, ..., cn1, ..., cnp
(...) = subnode1(c11...c1q
, ...)
assume A1 enforce G1
...
; . . . ;
(...) = subnoden(cn1...cnp, ...)
assume An enforce Gn
...
FIGURE 2.9 – Synthèse modulaire avec Heptagon/BZR.
292.2. MODÈLES RÉACTIFS
La figure 2.9 présente un exemple graphique de la spécification modulaire
du contrôle en Heptagon/BZR. Chaque sous-modèle, subnodei
, inclut un contrat
qui contient des objectifs de contrôle Gi à assurer localement. Le modèle global
node inclut un contrat qui contient les objectifs de contrôle global G à assurer
sur l’ensemble. Le contrat de node utilise les entrées contrôlables cij des sousmodèles
subnodei comme variables contrôlables pour assurer le respect des
objectifs globaux.
Principe. La synthèse modulaire dans Heptagon/BZR est basée sur l’utilisation
des contrats des sous-modèles comme abstraction de leurs comportements. [24]
et [21] fournissent une description formelle détaillée de cette approche. Néanmoins
nous décrivons le principe à travers l’exemple présenté à la figure 2.9.
La synthèse modulaire permet de construire indépendamment la logique de
contrôle à intégrer dans chaque sous-modèle subnodei
. La synthèse ne dépend
que des entrées et du comportement qu’il encode (section 2.2.2) en plus des
objectifs de contrôle. Lorsqu’une partie des objectifs de contrôle Gi définis dans
le contrat d’un sous-modèle subnodei concerne l’application du contrôle reçu
via ses entrées contrôlables cij, alors la logique de contrôle construite pour ce
modèle assure le respect du contrôle externe.
Lors de la réutilisation d’un sous-modèle dans un contexte global, comme
node, son contrat offre une garantie de l’application du contrôle externe du
comportement qu’il encode. Cela permet d’utiliser le contrat comme abstraction
du comportement. De ce fait pour la construction la logique de contrôle pour le
modèle global node, on peut supposer, en plus de A, le respect du contrôle appliqué
sur chaque sous-modèle subnodei via ses entrées contrôlables cij pourvu
que la supposition Ai définie dans son contrat soit respectée : Vn
i=1
(Ai =⇒ Gi).
Par conséquent il n’est plus nécessaire de parcourir les comportements encodés
dans les sous-modèles pour la synthèse de la logique de contrôle pour le mod-
èle node. Cela présente comme avantage la diminution de la taille de l’espace
d’états à explorer pour le modèle global. Le problème de synthèse consiste alors
à construire une logique de contrôle qui assure le respect de G et aussi le respect
de Vn
i=1 Ai
.
Nous détaillons dans le chapitre suivant comment les objectifs associés aux
30entrées de contrôle sont définis dans le contrat d’un modèle dans le cadre de ce
travail de thèse.
Réduction de la complexité. La synthèse modulaire permet d’appliquer la
synthèse sur des modèles simples avec peu d’états à explorer et de les composer
de manière modulaire et hiérarchique. Elle offre également la possibilité d’appliquer
la synthèse sur les compositions de modèles en considérant le contrat
des sous-modèles comme abstraction des comportements qu’ils encodent. Cela
diminue le nombre d’états à explorer par synthèse et par conséquent réduit la
complexité.
La synthèse est appliquée sur chacun des modèles de manière indépendante
que ce soit un modèle simple ou une composition. La synthèse modulaire sur
une composition requiert uniquement le contrat défini dans les sous-modèles.
Ainsi l’application de la synthèse modulaire sur un modèle global ne nécessite
pas l’application de la synthèse modulaire sur les sous-modèles qui le constituent.
Une fois qu’une logique de contrôle est générée pour un modèle, il
n’est plus nécessaire, lors de sa réutilisation, d’appliquer à nouveau la synthèse
sur ce modèle à moins que ce dernier ait subi des modifications.
Cependant l’abstraction des détails internes des sous-modèles diminue les
solutions possibles qui peuvent être construites pour un problème donné, comparé
à l’approche monolithique. De plus, comme pour la synthèse monolithique,
il peut arriver qu’il n’existe pas de solution également dans le cas de la synthèse
modulaire.
Réutilisation de code exécutable. La compilation des modèles est également
effectuée de manière modulaire. La logique de contrôle qui satisfait les
objectifs de contrôle d’un modèle est construite et intégrée dans le modèle ;
et le code exécutable correspondant à l’ensemble est généré. Le code reste inchangé
et réutilisable tel quel dès lors que la spécification ne change pas. La
recompilation n’est nécessaire que si la spécification change.
2.2.3 Synthèse
La synthèse de contrôleur discret (SCD) permet de construire un contrôleur
qui, mis en parallèle avec le système qu’on veut contrôler, le restreint aux
312.3. CONCLUSION
comportements qui satisfont les propriétés désirées. Son application requiert
une modélisation du système à contrôler et une spécification des propriétés à
garantir qui sont exprimées sous forme d’objectifs de contrôle. Généralement le
système est décrit par un système de transition ou un automate avec des langages
de haut niveau comme les langages synchrones. Ces langages permettent
une description formelle du comportement d’un système sous forme d’automate
(aspects fonctionnels et/ou non fonctionnels). Ils permettent de modéliser
un système par la composition parallèle et hiérarchique de modèles simples. Ils
fournissent des compilateurs puissants qui permettent la génération automatique
de code exécutable à partir de la spécification du système. Cela permet de
réduire l’écart entre la spécification d’un système et son implémentation.
La synthèse modulaire permet une spécification décentralisée en offrant la
possibilité d’appliquer la synthèse sur des modèles simples avec peu d’états
à explorer et de les composer de manière modulaire et hiérarchique. Elle offre
également la possibilité d’appliquer la synthèse sur les compositions de
modèles en considérant le contrat des sous-modèles comme abstraction des
comportements qu’ils encodent. Cela permet de diminuer le nombre d’états à
explorer par synthèse et par conséquent réduit la complexité.
2.3 Conclusion
L’automatisation des fonctions d’administration des systèmes informatiques
est un sujet qui suscite encore beaucoup d’intérêt en recherche. Les travaux déjà
effectués démontrent sa faisabilité à travers différentes expérimentations. Aujourd’hui
de nombreux gestionnaires autonomes sont implémentés et assurent
de façon cohérente les fonctions d’administration ; mais aucun n’assure une
administration complète. Cela rend leur coexistence nécessaire pour une administration
globale. Toutefois la coordination de leur coexistence est importante
pour assurer une administration cohérente. Beaucoup de travaux de recherche
se sont intéressés à la coordination de gestionnaires autonomes. Différentes
approches ont été proposées et évaluées à travers des expérimentations. Cependant
nous remarquons que toutes ces approches de coordination requièrent la
32synchronisation des gestionnaires et le contrôle de leurs actions, et ces aspects
ont été largement étudiés en théorie du contrôle discret.
La théorie du contrôle et les outils qui en résultent ont récemment commencé
à être utilisés pour les systèmes informatiques. La plupart des cas d’utilisation
reposent sur des modèles continus ; généralement pour traiter des aspects
quantitatifs [36, 37, 47]. Des utilisations plus récentes reposent sur des modèles
de la famille des systèmes à Événements Discrets [16] sur lesquels des propriétés
logiques sont étudiées. Ils utilisent les notions de contrôle supervisé [48],
généralement pour garantir des propriétés logiques ou à des fins de synchronisation
[52]. Le contrôle discret est basé sur des modèles sous la forme de
systèmes de transitions, comme les réseaux de Petri ou automates. Il fournit des
langages de haut niveau, comme les langages synchrones, pour la spécification
formelle de système ; et des outils de vérification et de synthèse de contrôleur.
Dans ce travail de thèse, nous nous intéressons à l’application des techniques
issues de la théorie du contrôle pour la coordination de gestionnaires
autonomes. Nous utilisons la synthèse de contrôleur discret pour la construction
automatique de contrôleur de coordination. La construction du contrôleur
est basée sur le modèle de la coexistence des gestionnaires et une spécification
de contrôle. Nous utilisons la programmation synchrone pour la modélisation
des gestionnaires et de leur coexistence (coordonnée par SCD) et pour
l’implémentation en Java du contrôleur de coordination.
332.3. CONCLUSION
343
Méthodologie de coordination de gestionnaires
autonomes
Contents
3.1 Spécification de la coordination . . . . . . . . . . . . . . . . . 36
3.1.1 Modélisation d’un gestionnaire autonome . . . . . . . 36
3.1.1.1 Comportement . . . . . . . . . . . . . . . . . . 37
3.1.1.2 Contrôlabilité . . . . . . . . . . . . . . . . . . . 38
3.1.2 Modélisation de la coordination . . . . . . . . . . . . . 39
3.1.2.1 Modélisation de la coexistence . . . . . . . . . 39
3.1.2.2 Spécification d’une stratégie de coordination 40
3.1.3 Modélisation modulaire de la coordination . . . . . . . 41
3.1.3.1 Contrôle décentralisé . . . . . . . . . . . . . . 41
3.1.3.2 Spécification modulaire et hiérarchique . . . . 42
3.2 Mise en oeuvre de la coordination . . . . . . . . . . . . . . . . 44
3.2.1 Le modèle à composants Fractal . . . . . . . . . . . . . 44
3.2.1.1 Composant Fractal . . . . . . . . . . . . . . . . 44
3.2.1.2 Introspection et reconfiguration . . . . . . . . 46
3.2.1.3 Fractal ADL . . . . . . . . . . . . . . . . . . . 46
3.2.2 Composant de gestionnaire autonome . . . . . . . . . . 47
3.2.3 Coordination à base de composants . . . . . . . . . . . 48
3.2.3.1 Coordination de gestionnaires . . . . . . . . . 48
3.2.3.2 Coordination hiérarchique . . . . . . . . . . . 50
353.1. SPÉCIFICATION DE LA COORDINATION
3.3 Comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Ce chapitre détaille notre méthodologie pour la coordination de gestionnaires
autonomes. Notre approche est basée sur l’utilisation de méthodes et de
techniques issues du contrôle discret. Nous utilisons la technique de synthèse
de contrôleur discret. Cette dernière permet de construire automatiquement
un contrôleur qui est capable de restreindre le comportement d’un système
pour garantir le respect de spécifications logiques de fonctionnement. La synthèse
de contrôleur discret est basée sur un modèle du système à contrôler et
une spécification des objectifs de contrôle désirés. Pour la modélisation, nous
utilisons la programmation synchrone qui fournit des langages de haut niveau
facilitant la spécification formelle de système. Elle fournit également des outils
de vérification et de génération de code exécutable.
Dans ce travail le système à contrôler est un système d’administration constitué
de plusieurs gestionnaires autonomes indépendants. Le contrôle consiste à
restreindre le comportement des gestionnaires afin de garantir la cohérence des
actions d’administration appliquées sur le système qu’ils administrent. Pour
la mise en oeuvre du contrôle des gestionnaires, nous adoptons les modèles à
composants. Nous utilisons le modèle à composants Fractal, plus précisément
l’implémentation Java, Julia [15].
3.1 Spécification de la coordination
La coordination repose sur la connaissance du comportement des gestionnaires,
de leurs fonctionnalités contrôlables, et des événements pertinents
auxquels ils réagissent. Le comportement des gestionnaires doit être observable
et contrôlable à l’exécution pour permettre de contrôler leurs actions.
3.1.1 Modélisation d’un gestionnaire autonome
Nous modélisons le comportement observable et contrôlable de chaque
gestionnaire autonome, avec un niveau d’abstraction qui présente les états
et transitions pertinents pour le problème de contrôle – la coordination. Le
36modèle d’un gestionnaire expose des variables contrôlables. Ces dernières
correspondent aux points de choix sur le comportement du gestionnaire ; c’est à
travers eux qu’un contrôle peut être appliqué pour faire respecter une politique
de coordination. Pour modéliser le comportement d’un gestionnaire, nous
utilisons la programmation synchrone. Nous modélisons le comportement de
chaque gestionnaire indépendamment des autres.
3.1.1.1 Comportement
Le comportement d’un gestionnaire est modélisé à base d’automates. Chaque
état du modèle décrit une situation dans laquelle le gestionnaire est dans
un mode d’exécution défini, e.g., exécute des actions de reconfiguration ou
surveille l’état du système administré. Les transitions correspondent, quant
à elles, aux changements d’états du gestionnaire suite à l’occurrence d’événements
auxquels il réagit. Chaque transition est étiquetée avec les événements en
entrée qui l’activent et les actions en sortie produites par le gestionnaire. Dans
les modèles à base d’automates, les réactions sont considérées instantanées.
Cependant, dans un gestionnaire, une réaction implique l’exécution d’une (ou
plusieurs) action non instantanée. De ce fait, nous ne considérons pas toujours
l’exécution d’une action comme instantanée. Elle l’est ou pas selon sa pertinence
dans la description du comportement du gestionnaire. Lorsqu’elle n’est pas
considérée instantanée, elle sera alors représentée par un état distinct dans le
modèle du gestionnaire.
E1 E2
e1/ ac
e2/ al
nl/
(ac, al) = mgr (e1, e2, nl)
FIGURE 3.1 – Comportement d’un gestionnaire
373.1. SPÉCIFICATION DE LA COORDINATION
La figure 3.1 présente un exemple simple de modèle du comportement d’un
gestionnaire. Le gestionnaire a deux états représentés par E1 et E2. Initialement
il est dans l’état E1. Dans cet état, le gestionnaire réagit en présence de
l’événement e1 en produisant l’action courte ac en réponse. En présence de
l’événement e2, il réagit en produisant l’action al, qui est une action longue, et
se met dans l’état E2. L’état E2 représente l’exécution de l’action al qui n’est
pas considérée instantanée contrairement à l’exécution de l’action ac. A la fin
de l’exécution de l’action al, représentée par la présence de l’événement nl de
notification de fin d’exécution de l’action al, le gestionnaire retourne dans l’état
E1.
3.1.1.2 Contrôlabilité
Nous définissons la contrôlabilité d’un gestionnaire comme la capacité à
autoriser ou inhiber ponctuellement certaines de ses actions suite à l’occurrence
d’événements auxquels il réagit. Dans le modèle d’un gestionnaire, la contrôlabilité
est représentée par des entrées de contrôle associées aux transitions. Ainsi
pour décrire une transition contrôlable, nous lui ajoutons une entrée de contrôle.
Selon la valeur affectée à cette entrée, la transition sera autorisée ou non en
présence de l’événement qui l’active. Le contrôle d’un gestionnaire nécessite
également que son état soit observable. Cette propriété est représentée, dans le
modèle, par des variables d’état qui indiquent l’état courant du gestionnaire.
E1
s=False
E2
s=True
c1 and e1/ ac
c2 and e2/ al
nl/
(ac, al, s) = ctrl_mgr (c1, e1, c2, e2, nl)
FIGURE 3.2 – Gestionnaire contrôlable
La figure 3.2 présente le modèle qui décrit la contrôlabilité du comportement
38du gestionnaire présenté dans la figure 3.1. Les entrées c1 et c2 représentent
les entrées contrôlables du gestionnaire. Elles permettent, respectivement, le
contrôle des actions ac et al du gestionnaire. L’état courant du gestionnaire est
indiqué par la variable d’état s. Cette dernière est à vrai lorsque l’action al est
en cours d’exécution.
3.1.2 Modélisation de la coordination
La composition des modèles des gestionnaires autonomes reflète leur coexistence
non coordonnée. Pour modéliser la coordination de la coexistence
des gestionnaires, nous associons un contrat à la composition des modèles
des gestionnaires à coordonner. Ce contrat décrit les objectifs de contrôle – la
politique de coordination – à atteindre sur la composition. Grâce à ce contrat,
la synthèse de contrôleur pourra être appliquée pour construire automatiquement
une logique de contrôle qui est capable d’agir sur les points de choix des
modèles des gestionnaires pour respecter la politique de coordination. La composition
des modèles des gestionnaires autonomes couplée avec la logique de
contrôle, ensemble elles vérifient la politique de coordination. Elles modélisent
la coordination des gestionnaires.
3.1.2.1 Modélisation de la coexistence
Les modèles des gestionnaires constituent les briques du modèle de leur
coexistence. La composition des modèles des gestionnaires décrit l’ensemble
des comportements possibles lors de la coexistence des gestionnaires. Elle comprend
les comportements cohérents ainsi que les comportements incohérents
qui peuvent conduire le système qu’ils administrent dans un état inconsistant.
(s1, s2, ac1, ac2, ...) = comp_mgrs (c11, e11, c21, e21, ...)
(ac1, al1, s1) = ctrl_mgr1 (c11, e11, c12, e12, nl1)
(ac2, al2, s2) = ctrl_mgr2 (c21, e21, c22, e22, nl2)
FIGURE 3.3 – Modèle de la coexistence de gestionnaires
393.1. SPÉCIFICATION DE LA COORDINATION
La Figure 3.3 présente un exemple de modèle de la coexistence de deux
gestionnaires. Nous composons deux instances du modèle présenté à la figure
3.2. Cette composition exhibe l’ensemble des états observables s, l’ensemble
des événements e auxquels réagissent les gestionnaires, l’ensemble des actions
a, mais également l’ensemble des entrées de contrôle c disponibles pour le
contrôle des gestionnaires. Toutefois, aucune stratégie de coordination n’est
encore définie dans ce modèle global. Tous les comportements sont possibles.
3.1.2.2 Spécification d’une stratégie de coordination
La stratégie de coordination est exprimée sous forme de contrat associé
au modèle global qui décrit la coexistence de gestionnaires autonomes à coordonner.
Le contrat contient un ensemble d’objectifs de contrôle. Le respect
de ces objectifs de contrôle est assuré en agissant sur les entrées de contrôle
disponibles sur les modèles des gestionnaires. Ces entrées correspondent aux
points de choix qui permettent de contrôler les actions des gestionnaires. Elles
sont déclarées comme variables locales contrôlables dans le contrat.
(s1, ac1, . . .) = controle_comp_mgrs (e11, . . .)
assume true
enforce not (s1 and s2)
with c11, c21, ...
(s1, s2, ac1, ac2, . . .) = comp_mgrs(c11, e11, c21, e21, . . .)
...
FIGURE 3.4 – Spécification de stratégie de coordination
La figure 3.4 présente un exemple de spécification de contrat pour le modèle
de la figure 3.3. Dans cet exemple, l’objectif de contrôle défini dans le contrat
est : « not (s1 and s2) ». Il empêche le gestionnaire mrg2 d’exécuter l’action
ac2 lorsque le gestionnaire mgr1 est dans l’état s1 à vrai (true) et réciproquement.
Les variables contrôlables cij sont déclarées comme points de contrôle
sur lesquels agir pour garantir le contrat.
Lorsque le modèle est compilé, la logique de contrôle qui garantit le respect
40de l’objectif déclaré est automatiquement construite si cela est possible. Une
fois construite, la logique de contrôle est intégrée dans le modèle. La compilation
produit un programme exécutable, par exemple en Java. Ce programme
correspond au couplage de la logique de contrôle avec le modèle non coordonné.
Il constitue un contrôleur qui permet de respecter l’objectif de contrôle
à l’exécution réelle.
3.1.3 Modélisation modulaire de la coordination
Le passage à l’échelle des techniques de SCD est limité par la taille du mod-
èle du système à contrôler et par la spécification des objectifs de contrôle. La
SCD est basée sur l’exploration de l’espace d’états pour construire le contrôleur.
Pour faciliter le passage à l’échelle de notre approche, nous utilisons la synthèse
modulaire. Pour un système large, cela permet de casser la complexité
de la synthèse de contrôleur. Nous utilisons cette technique pour coordonner
les gestionnaires autonomes par petit nombre, et construire un contrôle
hiérarchique.
3.1.3.1 Contrôle décentralisé
L’application monolithique de la synthèse de contrôleur sur un modèle
de grande taille pourrait ne pas aboutir à un résultat. Comme le montre la
figure 3.5, cette approche consiste à centraliser le contrôle en définissant un
unique contrat qui contient l’ensemble des objectifs de contrôle à assurer. Ce
contrat est associé au modèle global du système qui peut être de grande taille.
(si, ai, . . .) = controle_system (ei, . . .)
enforce V
Obji
with ci
(s1i, a1i, . . .) = sub_system1
(c1i, e1i, . . .)
(sNi, aNi, . . .) = sub_systemN(cNi, eNi, . . .)
...
FIGURE 3.5 – Spécification monolithique du contrôle
413.1. SPÉCIFICATION DE LA COORDINATION
Un système est généralement constitué de plusieurs sous-ensembles (e.g,
plusieurs gestionnaires autonomes), de ce fait il est modélisé par la composition
modulaire et hiérarchique des modèles de ses sous-ensembles. L’approche modulaire
de la synthèse de contrôleur tire profit de cette structure pour permettre
de décentraliser la spécification du contrôle.
(si, ai, . . .) = controle_system (ei, . . .)
enforce V
Obj0
with c
0i
(s1i, a1i, . . .) = controle_sub_system1
(c
01i, e1i, . . .)
enforce V
Obj1i with c1i
(s1i, a1i, . . .) = sub_system1
(c1i, e1i, . . .)
(sNi, aNi, . . .) = controle_sub_systemN(c
0Ni, eNi, . . .)
enforce V
ObjNi with cNi
(sNi, aNi, . . .) = sub_systemN(cNi, eNi, . . .)
enforce
with ... enforce
with
FIGURE 3.6 – Spécification modulaire du contrôle
Au lieu de garantir l’ensemble des objectifs par un unique contrôleur, un
ensemble de contrôleurs est construit. Chaque contrôleur assure une partie de
l’ensemble des objectifs. Chacun de ces contrôleurs est construit indépendamment
des autres et intégré dans le modèle global. Comme le montre la figure 3.6,
la spécification du contrôle est faite de manière modulaire et hiérarchique.
Chaque objectif de contrôle qui concerne exclusivement un sous-ensemble est
associé au modèle du sous-ensemble. Un contrôleur local est construit pour
chaque modèle qui a un contrat.
3.1.3.2 Spécification modulaire et hiérarchique
Pour pouvoir appliquer la synthèse modulaire, il est nécessaire que les
modèles avec un contrat puissent être réutilisables tels quels. Ces modèles
doivent également permettre d’étendre les objectifs de contrôle définis dans
leur contrat. De plus, tout cela doit être possible sans changer l’implémentation
des contrôleurs obtenus de ces modèles. Pour cela, un modèle avec un contrat
doit exposer des entrées qui permettent de recevoir des ordres de contrôle
42supplémentaire. En plus des objectifs de contrôle local, le contrat défini dans le
modèle doit également contenir des objectifs de contrôle garantissant le respect
des ordres extérieurs reçus.
Extension de la contrôlabilité. Dans l’approche monolithique de la synthèse
de contrôleur, les entrées contrôlables du modèle du système à contrôler sont
déclarées comme variables contrôlables dans le contrat. Elles ne sont pas visibles
à l’extérieur du modèle contrôlé du système. Pour réutiliser un modèle
contrôlé, il est nécessaire que ces entrées contrôlables soient accessibles pour
appliquer un contrôle supplémentaire non défini dans le contrat de ce dernier.
L’extension de la contrôlabilité d’un modèle de coordination de gestionnaires
autonomes consiste à exposer des entrées de contrôle supplémentaires c
0
i
,
et à ajouter des objectifs de contrôle Obj0
i
associés à ces entrées dans le contrat.
Ces entrées permettent ultérieurement à un contrôleur de niveau supérieur
de transmettre des ordres de contrôle au contrôleur obtenu. Chaque entrée
de contrôle c
0
i
correspond au contrôle d’une action ai des gestionnaires coordonnés.
Les objectifs de contrôle Obj0
i
, autres que ceux définis pour la stratégie
de coordination locale, garantissent l’application du contrôle reçu via ces entrées
de contrôle. Ces objectifs supplémentaires doivent explicitement figurer
dans le contrat. L’objectif de contrôle Obj0
i
qui permet de garantir l’inhibition
d’une action ai
lorsqu’elle est sollicitée via c
0
i
est formulé comme suit :
(¬c
0
i ⇒ ¬ai
). Selon la nature de l’action (courte/instantanée ou longue), l’objectif
se traduit différemment. Pour les actions courtes, il est traduit directement
par : Obj0
i = (c
0
i
or not ai). Pour une action longue, l’objectif est traduit d’une
manière différente : Obj0
i = LongActions(c
0
i
, ai
,si).
LongActions(c
0
i
, ai
,si)
def =
(c’i or not ai) and
not (false fby si) and not ai
⇒ not si
Dans cette expression nous ajoutons le fait que l’exécution d’une action
longue ne peut être empêchée que si elle n’est pas déclenchée à l’instant précé-
dent. En effet durant l’exécution d’une action longue, tout ordre d’inhibition de
cette action ne peut concerner l’exécution en cours. L’exécution d’une action
433.2. MISE EN OEUVRE DE LA COORDINATION
longue ai ne peut être empêchée par c
0
i
que si elle n’est pas déclenchée à l’instant
précédent : (not (false fby si))
1
. De ce fait si l’action ai n’est pas activée ni
à l’instant précédent (not (false fby si)) ni à l’instant courant (not ai
) alors
l’action ne sera pas exécutée à cet instant (not si
).
Ces deux expressions sont définies de façon générique et peuvent être
réutilisées comme des patterns sans avoir à en redéfinir d’autres.
3.2 Mise en oeuvre de la coordination
Pour la mise en oeuvre de la coordination de gestionnaires autonomes,
nous utilisons le modèle à composants. Les modèles à composants fournissent
un ensemble de fonctionnalités qui permettent la construction de systèmes
complexes avec des capacités d’introspection et de reconfiguration dynamique.
Notre approche est basée sur le modèle à composants Fractal.
3.2.1 Le modèle à composants Fractal
Le modèle à composants Fractal [14] a été défini par France Telecom R&D
et l’INRIA en 2004. L’objectif de ce modèle est de permettre la construction,
le déploiement et l’administration (e.g. observation, contrôle, reconfiguration
dynamique) de systèmes logiciels complexes. Il est associé à un langage de
description d’architecture, Fractal ADL. Ce dernier est basé sur une syntaxe
extensible, et permet de construire des assemblages de composants Fractal.
Fractal a été implémenté dans différents langages de programmation comme
Java, C, C++.
3.2.1.1 Composant Fractal
L’unité de structuration dans le modèle Fractal est le composant. Un composant
est une entité d’exécution qui expose un ensemble d’interfaces. Une
interface est un point d’accès au composant. Il existe deux catégories d’interfaces
: les interfaces serveurs et les interfaces clients. Les interfaces serveurs
correspondent aux services fournis par le composant. Elles permettent de faire
1. fby est un opérateur Heptagon qui introduit un délai avec une valeur initiale : v fby x
représente la valeur précédente de x, initialisé avec v au premier instant.
44membrane
contenu
Interfaces de controle
interface
client
interfaces
serveur
FIGURE 3.7 – Composant Fractal
des appels de méthodes du composant. Les interfaces clients correspondent
aux services requis par le composant. Elles permettent au composant d’émettre
des appels de méthodes. Comme le montre la figure 3.7, un composant expose
également des interfaces non fonctionnelles, contrôleurs, qui permettent à l’exé-
cution, son administration et celle des services qu’il contient (démarrage, arrêt,
configuration, etc.). L’ensemble des interfaces fonctionnelles et non fonctionnelles
constitue la membrane du composant.
FIGURE 3.8 – Composant composite
453.2. MISE EN OEUVRE DE LA COORDINATION
Ce modèle distingue généralement deux types de composants : les composants
primitifs qui encapsulent généralement les services et les composants
composites. Comme le montre la figure 3.8, un composant composite contient
d’autres composants primitifs et/ou composites.
3.2.1.2 Introspection et reconfiguration
Les capacités réflexives d’un composant sont assurées par des contrôleurs.
Ces contrôleurs implémentent des fonctions permettant l’introspection, la reconfiguration,
et l’interception de flux (entrée/sortie). Le modèle à composants
Fractal fournit quelques contrôleurs par défaut. Parmi ces contrôleurs, figurent :
– Un contôleur d’attributs qui fournit les méthodes permettant l’accès et le
contrôle des attributs d’un composant.
– Un contrôleur de liaisons qui fournit des méthodes pour contrôler les
liaisons (bind,unbind) du composant avec d’autres composants, et de
consulter, modifier l’état des liaisons.
– Un contrôleur de cycle de vie qui fournit des méthodes pour contrôler
les principales phases comportementales du composant (ex. démarrage
(start)/arrêt (stop)).
– Un contrôleur de contenu qui fournit des méthodes permettant de consulter
le contenu d’un composant composite et d’ajouter/retirer des souscomposants.
Le modèle est cependant extensible et ne contraint pas la nature des contrôleurs
contenus dans les composants. Il est possible d’adapter le contrôle
associé aux composants. Le modèle permet de modifier ou de développer de
nouveaux contrôleurs en fonction des besoins.
3.2.1.3 Fractal ADL
Le modèle à composants Fractal fournit un langage de description d’architecture
appelé Fractal ADL, basé sur la syntaxe XML. Fractal ADL permet
la description de la structure d’application construite à partir de composants
46Fractal. Il fournit des constructions de base pour énumérer des composants,
des interfaces, des liaisons et laisse aux développeurs la possibilité d’étendre le
langage pour intégrer d’autres informations spéficiques à leur cas d’utilisation.
Il permet la description d’une architecture sur plusieurs fichiers distincts.
3.2.2 Composant de gestionnaire autonome
Nous utilisons le modèle à composants pour implémenter les aspects nonfonctionnels
nécessaires pour la gestion des gestionnaires. Cela permet d’ajouter
des fonctions de surveillance et de contrôle pour les gestionnaires autonomes
déjà conçus et qui ne fournissent pas explicitement ces fonctions. Cela permet
également de séparer l’implémentation d’un gestionnaire (les fonctions
d’administration) et l’implémentation du contrôle de ce dernier. Ainsi la spéci-
fication et l’implémentation du contrôle du gestionnaire peuvent être modifiées
sans impacter l’implémentation des fonctions d’administration. Chaque gestionnaire
est encapsulé dans un composant Fractal comme le montre la figure 3.9.
m AM a
s c
FIGURE 3.9 – Composant de gestionnaire contrôlable
Implémentation de l’interface de coordination. Nous implémentons une interface
de contrôle qui exhibe les fonctions de contrôle disponibles sur les
gestionnaires lorsque ces fonctions sont explicitement définies. Cette interface
de contrôle expose les informations s sur l’état du gestionnaire par rapport
au contrôle appliqué sur son comportement. Elle fournit également des informations
sur les événements m auxquels le gestionnaire réagit. Elle permet
également d’appliquer les opérations de coordination concernant le gestionnaire
à travers ses entrées c de contrôle qui permettent d’autoriser ou d’inhiber
473.2. MISE EN OEUVRE DE LA COORDINATION
les actions a que le gestionnaire peut exécuter. Pour les gestionnaires n’ayant
pas de fonctions de contrôle, nous utilisons les contrôleurs par défaut dans
Fractal pour implémenter leur contrôle.
3.2.3 Coordination à base de composants
3.2.3.1 Coordination de gestionnaires
Une fois les composants de gestionnaires construits, ces derniers sont assemblés
dans un composant composite, comme le montre l’exemple dans la
figure 3.10. Le composant composite coordonne leur exécution grâce au contrôleur
de coordination obtenu par synthèse. Ce dernier agit sur les interfaces
de coordination disponibles sur les composants de gestionnaires.
m1 AM1
a1
s1 c1
m2 AM2
a2
s2 c2
ctrlr
s1,2 c1,2
m1,2 a1,2
FIGURE 3.10 – Composants de gestionnaires coordonnés
AMi
ctrlr
mi
ai
si
ci
FIGURE 3.11 – Composant composite
48De manière générale, comme le montre la figure 3.11, les composants de
gestionnaires à coordonner sont encapsulés dans un composant composite. Le
contrôleur de coordination, obtenu par programmation synchrone et synthèse
de contrôleur discret, est alors intégré dans le composant composite. Il est
connecté aux interfaces de coordination des composants de gestionnaires. A
l’exécution, il agit sur ces interfaces de coordination pour le respect de la
stratégie de coordination.
Coordination. Le contrôleur de coordination présenté à la figure 3.11 correspond
au modèle de la coexistence coordonnée des gestionnaires autonomes
contenus dans le composant composite. Il est constitué de l’ensemble des mod-
èles du comportement et de la contrôlabilité des gestionnaires couplé avec la
logique de contrôle pour la coordination. A l’exécution, le modèle d’un gestionnaire
reflète son état courant et facilite l’application dynamique de restrictions
imposées par la logique de contrôle sur son comportement. Les sorties du
modèle d’un gestionnaire exhibent ses actions d’administration autorisées ou
inhibées. Ces sorties doivent être appliquées sur le composant de gestionnaire
correspondant afin de garantir la cohérence entre le modèle et l’état du gestionnaire.
Si un gestionnaire fournit des fonctions de contrôle explicites, le contrôle
exhibé par son modèle est directement appliqué via ces fonctions ; sinon le
contrôle par défaut fourni par Fractal est utilisé.
Contrôle par défaut. Pour les gestionnaires qui ne disposent pas de fonctions
de contrôle explicites, Fractal définit des contrôleurs par défaut qui permettent
la gestion dynamique d’un composant et de ses interactions. Ces contrôleurs
fournissent des actions d’administration :
1. Arrêt et démarrage de composant : Ces actions sont disponibles avec le
contrôleur de cycle de vie. Cette option permet de suspendre entièrement
toutes les fonctions d’administration d’un gestionnaire. L’arrêt du
composant rend le gestionnaire inaccessible. Il ne reçoit aucun flux en
entrée.
2. Association et dissociation d’interfaces fonctionnelles : Ces actions sont
disponibles avec le contrôleur de liaisons. Cette option permet de suspendre
certaines fonctions d’administration d’un gestionnaire. La dissoci-
493.2. MISE EN OEUVRE DE LA COORDINATION
ation d’une liaison permet de désactiver un lien de communication établi
entre le gestionnaire et un autre service (e.g., un capteur). Cependant les
autres liens continuent à fonctionner.
3. Interception des flux d’entrée et de sortie : Dans l’implémentation Julia,
ces actions sont implémentées par des objets Java appelés Interceptors. Ils
permettent d’intercepter le flux en entrée et/ou en sortie. Ils permettent
également d’informer les contrôleurs auxquels ils sont associés avant
et/ou après chaque appel de méthodes.
Dans notre travail, nous utilisons les intercepteurs pour capturer les événements
destinés aux gestionnaires et qui sont les entrées du contrôleur de
coordination (les entrées de la méthode step). Les intercepteurs servent
également à filtrer les événements à passer à un gestionnaire. Cela évite de
suspendre entièrement (stop) ou partiellement (unbind) les composants
de gestionnaires. Le filtragre des événements est basé sur les sorties du
contrôleur de coordination. Ces sorties décrivent l’état dans lequel chaque
gestionnaire doit être, et également les actions autorisées à être exécutées.
3.2.3.2 Coordination hiérarchique
Avec la coordination modulaire, les contrôleurs construits garantissent l’application
de la stratégie de coordination qu’ils doivent assurer, mais également
l’application d’ordres de coordination dont la stratégie est définie ailleurs aux
niveaux supérieurs. Cela permet leur réutilisation dans différents contextes
plus globaux.
Contrôle d’un composant composite. Comme le montre la figure 3.12, un
contrôleur généré par synthèse modulaire fournit des entrées c
0 pour contrôler
les actions des gestionnaires et des sorties s
0 pour informer de l’état des gestionnaires.
Le composant composite associé à ce contrôleur et qui encapsule les
composants de gestionnaires peut être réutilisé dans un contexte dans lequel les
gestionnaires qu’il encapsule constituent un sous-ensemble des gestionnaires
à coordonner. Dans ce cas, l’interface de contrôle fournie par le contrôleur de
coordination associé au composite permet l’application d’autres objectifs de
contrôle sur ce sous-ensemble. Cela permet la mise en oeuvre de la coordination
50AMi
ctrlr
mi
ai
si
ci
AMi
ctrlr
mi
ai
si
ci
c
0
s
0
Extension de
la contrôlabilité
FIGURE 3.12 – Extension de la contrôlabilité
par l’assemblage de composants simples et/ou de composants composites de
manière hiérarchique sans aucun changement de leur contenu.
AMi
ctrlr
mi ai
si
ci
c
0
i
s
0
i
AMj
ctrlr
mj aj
sj
cj
c
0
j
s
0
j
ctrlr s
0
ij c
0
ij
c
00
ij s
00
ij
mij aij
FIGURE 3.13 – Coordination hiérarchique
Contrôle hiérarchique. La figure 3.13 montre un exemple de coordination
hiérarchique. Des composants composites qui encapsulent des composants
de gestionnaires autonomes coordonnés sont à leur tour encapsulés dans un
composant composite. Ce dernier est équipé d’un contrôleur de plus haut
niveau qui applique une stratégie de coordination plus globale. Cette stratégie
concerne les gestionnaires contenus dans les composants composites internes.
513.3. COMPARAISON
Le contrôleur de haut niveau agit sur les contrôleurs de bas niveau présents
dans les composants composites internes pour respecter ses objectifs de contrôle.
Les composants composites internes sont réutilisés sans aucune modification.
3.3 Comparaison
Notre approche de coordination est basée sur des aspects qualitatifs. Elle
consiste généralement à garantir des propriétés logiques comme l’invariance ou
l’exclusion mutuelle, contrairement aux approches basées sur des aspects quantitatifs
[20, 38, 40, 51]. Ces dernières garantissent l’optimisation d’indicateurs
de performance à travers des fonctions d’utilité/d’optimisation multi-critères.
Chaque indicateur de performance a un poids qui indique son importance, et
le choix des poids est très important pour la sélection des actions à exécuter.
Avec notre approche, l’autorisation ou l’inhibition d’actions dépend de l’état du
système et des actions d’administration en cours d’exécution. Nous étudions les
relations entre les événements auxquels réagissent les gestionnaires et l’impact
des actions de chaque gestionnaire sur les objectifs d’administration. Cette
étude permet d’identifier les situations qui peuvent conduire à des décisions
conflictuelles ou redondantes. Puis, pour éviter ces décisions, nous définissons
les propriétés de coordination, les objectifs de contrôle. Notre approche ressemble
aux approches basées sur des règles (priorités/condition-action) [3, 45].
Toutefois avec notre approche, la fonction de contrôle est automatiquement
construite et restreint le moins possible le comportement des gestionnaires.
Notre approche repose sur un contrôle externe des gestionnaires, contrairement
aux approches basées sur un consensus [2]. En effet, la mise en oeuvre
d’un consensus nécessite plusieurs participants. Dans le cas où ces participants
sont les gestionnaires, ces derniers vont implémenter les fonctions de décision
pour le consensus, en plus des fonctions d’administration. Cela rend difficile la
réutilisation des gestionnaires. De plus, la moindre modification du protocole
implique une modification de l’implémentation des gestionnaires. Des modifi-
cations du protocole peuvent être nécessaires lorsque certains aspects doivent
être pris en compte ou bien quand d’autres gestionnaires doivent être intégrés.
Notre approche, quant à elle, consiste à identifier les aspects observables et
contrôlables des gestionnaires. Ces aspects sont ensuite définis et exposés pour
52permettre la réutilisation des gestionnaires dans différents contextes sans aucune
modification. L’application des stratégies de coordination repose sur les
points de contrôle des gestionnaires. De plus, les fonctions de contrôle d’un gestionnaire
sont séparées de l’implémentation de ses fonctions d’administration.
Cela permet la réutilisation des gestionnaires existants. Chaque gestionnaire
est encapsulé dans un composant qui fournit les fonctions qui permettent son
contrôle. De ce fait la spécification du contrôle d’un gestionnaire peut être
modifiée sans modifier l’implémentation de ses fonctions d’administration.
3.4 Conclusion
Nous avons vu dans ce chapitre comment concevoir la coordination de gestionnaires
autonomes avec les techniques de contrôle discret. Nous décrivons le
comportement observable et contrôlable des gestionnaires que nous composons
pour modéliser leur coexistence non coordonnée. La synthèse de contrôleur
est appliquée sur le modèle de la coexistence pour construire une logique de
contrôle qui assure la stratégie de coordination sur le modèle via les points de
contrôle définis. Pour la mise en oeuvre de la coordination, nous utilisons le
modèle à composants Fractal. Chaque gestionnaire est encapsulé dans un composant
qui fournit les fonctions de contrôle. Les composants de gestionnaires
sont assemblés dans un composant composite qui assure leur coordination
grâce au contrôleur de coordination généré par synthèse de contrôleur discret.
533.4. CONCLUSION
544
Gestion de la performance et de l’optimisation
de ressources d’un système dupliqué
Contents
4.1 Gestionnaires autonomes non coordonnés . . . . . . . . . . . 56
4.1.1 Gestionnaire d’auto-dimensionnement : Self-sizing . . 56
4.1.2 Gestionnaire d’auto-régulation de fréquence CPU : Dvfs 58
4.2 Problèmes d’optimisation de ressources . . . . . . . . . . . . 59
4.3 Conception du contrôleur de coordination . . . . . . . . . . . 60
4.3.1 Modélisation du contrôle des gestionnaires . . . . . . . 60
4.3.1.1 Modélisation du contrôle de self-sizing . . . . 61
4.3.1.2 Modélisation de l’état global des Dvfs . . . . 63
4.3.2 Spécification de la coordination . . . . . . . . . . . . . . 64
4.3.2.1 Stratégie de coordination . . . . . . . . . . . . 64
4.3.2.2 Spécification du contrat . . . . . . . . . . . . . 64
4.3.2.3 Programme final . . . . . . . . . . . . . . . . . 64
4.4 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.4.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4.2 Calibrage des seuils des gestionnaires . . . . . . . . . . 66
4.4.2.1 Seuil maximal pour self-sizing et Dvfs . . . . 66
4.4.2.2 Seuil minimal pour self-Sizing et Dvfs . . . . 67
4.4.3 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 70
554.1. GESTIONNAIRES AUTONOMES NON COORDONNÉS
4.4.3.1 Comportement non coordonné . . . . . . . . 70
4.4.3.2 Comportement coordonné . . . . . . . . . . . 72
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Dans ce chapitre, nous nous intéressons à l’administration d’un système
basé sur la réplication. Il s’agit d’un système distribué constitué de serveurs
dupliqués hébergés par des machines distinctes. Les requêtes entrantes sont
réparties entre les serveurs par un équilibreur de charge. Nous considérons
la coordination de gestionnaires dédiés à l’optimisation de ressources : selfsizing
et Dvfs. Le gestionnaire self-sizing est utilisé pour minimiser le nombre
de serveurs actifs et un Dvfs est installé sur chaque machine qui exécute un
serveur pour ajuster la fréquence à laquelle s’exécutent ses processeurs. Nous
appliquons notre approche pour coordonner les gestionnaires afin d’optimiser
de manière efficace les ressources utilisées par le système.
Nous présentons dans ce chapitre un exemple d’application simple de notre
approche. Toutefois cet exemple permet de démontrer sa faisabilité.
4.1 Gestionnaires autonomes non coordonnés
Les gestionnaires ci-dessous assurent la gestion de la performance et l’optimisation
des ressources de calcul. Ils sont conçus indépendamment.
4.1.1 Gestionnaire d’auto-dimensionnement : Self-sizing
Ce gestionnaire autonome est dédié au dimensionnement dynamique d’un
système en fonction de la charge de travail de ce dernier. Il peut être appliqué sur
des systèmes dont la structure est basée sur le canevas d’équilibrage de charge.
Dans ce canevas, le modèle de communication est synchrone (Client/Serveur),
les serveurs sont clonés statiquement lors du démarrage du système et un
aiguilleur est placé en frontal des serveurs. Le rôle de cet aiguilleur est de
répartir la charge entre tous les serveurs. Une requête peut donc être traitée
indifféremment par n’importe lequel des serveurs. Lorsqu’un serveur reçoit
une requête, il l’exécute, il met en cohérence son état avec les autres serveurs si
besoin, puis il retourne le résultat de la requête au client. On considère que ce
56canevas s’exécute sur une grappe de machines. L’aiguilleur, ainsi que chaque
serveur, s’exécutent sur une machine différente.
Connaissance
Capteurs Actionneurs
Elements administres
en cours d’utilisation disponibles
Planification
Retrait
Ajout
Analyse
(< min_cpu) ?
(> max_cpu) ?
Ajout Retrait
Execution
cpu_avg
Retrait
Ajout
Observation
Gestionnaire d’auto−optimisation self−sizing
(cpu, mem, ...) (cpu, mem, ...) Ressource Ressource
FIGURE 4.1 – Gestionnaire d’auto-dimensionnement : self-sizing
La figure 4.1 décrit le fonctionnement du gestionnaire self-sizing. Ce dernier
permet de dimensionner dynamiquement le degré de duplication des serveurs
qui constituent le système administré. Le dimensionnement est effectué en
fonction de la charge de travail soumise au système. En cas de surcharge, le
système est approvisionné en ressource – ajout de serveur – alors qu’en cas
de sous-charge, les ressources du système sont optimisées – retrait de serveur.
Pour réaliser ces opérations, le gestionnaire utilise la connaissance qu’il a de la
structure du système. Il connaît les machines en cours d’utilisation sur lesquelles
sont exécutés les serveurs, ainsi que les machines disponibles.
L’état du système est surveillé via des sondes (capteurs sur la figure 4.1).
Celles-ci récupèrent périodiquement la charge CPU de chaque machine qui
exécute un serveur dupliqué. Le gestionnaire calcule une moyenne glissante
EWMA (exponentiellement pondérée) des charges CPU. Cette moyenne est utilisée
pour évaluer le niveau d’utilisation des machines. Le niveau acceptable, le
niveau pour lequel le gestionnaire estime le redimensionnement du système
non nécessaire, est borné par un seuil minimal et un seuil maximal. Le gestionnaire
considérera que les machines sont saturées lorsque la moyenne est
574.1. GESTIONNAIRES AUTONOMES NON COORDONNÉS
supérieure au seuil maximal. A l’opposé, il considérera que les machines sont
sous utilisées lorsque la moyenne est inférieure au seuil minimal.
Lorsqu’une surcharge du système est détectée, le gestionnaire démarre un
nouveau serveur dupliqué sur une machine disponible, et met à jour l’état de
ce dernier en fonction des autres serveurs. Puis il intègre ce nouveau serveur
dans la liste des serveurs dupliqués au niveau de l’aiguilleur de charge. Dans
le cas d’une sous-charge, il sélectionne un serveur à arrêter, le déconnecte de
l’aiguilleur de charge, l’arrête, et le désinstalle de la machine. Puis il remet
la machine dans la liste des machines disponibles. Les systèmes administrés
fournissent les actionneurs permettant d’appliquer les actions d’administration.
4.1.2 Gestionnaire d’auto-régulation de fréquence CPU : Dvfs
La plupart des micro-processeurs récents offrent la possibilité d’ajuster leur
fréquence d’exécution. Cette fonctionnalité permet de réduire leur puissance
d’exécution lorsque la charge de travail est faible pour optimiser la consommation
énergétique. L’utilisation de cette fonctionnalité dans l’administration
d’un système impliquant un nombre important de machines peut contribuer à
réduire l’énergie consommée sans altérer la performance du système.
Connaissance
Capteurs Actionneurs
Analyse Planification
(< min_cpu) ?
(> max_cpu) ?
Execution
cpu_avg
Elements administres
hausser
Diminuer
Hausser Diminuer
d’une machine
processeurs
frequence cpu
Observation
Gestionnaire d’auto−optimisation Dvfs
FIGURE 4.2 – Gestionnaire d’auto-régulation : Dvfs
58Le gestionnaire Dvfs, représenté dans la figure 4.2, exploite de cette fonctionnalité.
Il est dédié à l’ajustement de la fréquence des processeurs d’une
machine. Il adapte dynamiquement la fréquence des processeurs en fonction de
la charge de travail à traiter. Il diminue la fréquence CPU d’une machine lorsque
celle-ci est sous-utilisée ; il augmente la fréquence lorsqu’elle est surchargée. Le
gestionnaire connaît les différents niveaux de fréquences des processeurs de la
machine administrée. Il connaît également l’état courant de la machine.
Une sonde récupère périodiquement la charge CPU de la machine. Une
moyenne exponentiellement pondérée (EWMA) de ces valeurs est calculée
et utilisée pour évaluer le niveau d’utilisation des processeurs de la machine
administrée. Les niveaux de charge considérés acceptables sont délimités par
un seuil minimal et un seuil maximal. Lorsque la moyenne est dans cet intervalle,
aucune action n’est exécutée. Mais, lorsqu’elle est au-dessus du seuil
maximal, les processeurs sont considérés surchargés et le gestionnaire réagit en
augmentant leur fréquence s’ils ne sont pas en fréquence maximale. Lorsque
la moyenne est en-dessous du seuil minimal, les processeurs sont considérés
sous-chargés et le gestionnaire réagit en diminuant leur fréquence s’ils ne sont
pas en fréquence minimale. L’exécution de ces opérations est effectuée par des
actionneurs fournis par la machine administrée.
4.2 Problèmes d’optimisation de ressources
L’utilisation des gestionnaires self-sizing et Dvfs peut permettre une meilleure
optimisation de l’utilisation des ressources allouées à un système basé sur la ré-
plication de service. Le gestionnaire self-sizing peut être utilisé pour minimiser
le nombre de serveurs actifs. Un Dvfs peut être utilisé sur chaque machine
active pour minimiser la fréquence d’exécution de son (ses) processeur(s).
Cependant les deux types de gestionnaires se basent sur la charge CPU et leurs
actions affectent la charge CPU. De ce fait leur exécution non coordonnée pour
l’administration du même système peut avoir des effets indésirables.
En fréquence maximale un processeur peut effectuer beaucoup plus de
calculs par unité de temps qu’en fréquence inférieure. Ainsi une charge de
calcul qui sature un processeur en une fréquence quelconque pourrait ne pas
saturer le processeur lorsque ce dernier est à une fréquence supérieure. Les
594.3. CONCEPTION DU CONTRÔLEUR DE COORDINATION
machines équipées d’un Dvfs n’ont pas toujours leur(s) processeur(s) à la
puissance maximale. Lorsque self-sizing détecte une surcharge (évaluée via
la charge CPU) des machines qui exécutent les serveurs actifs, il n’a aucune
connaissance de la fréquence d’exécution des processeurs de ces machines. Si
les processeurs des machines ne sont pas en fréquence maximale, la hausse de
la fréquence CPU des machines par les Dvfs pourrait permettre aux machines
de supporter la charge. Dans ce cas, un ajout de serveur devient inutile. De
plus lorsque les machines sont à une fréquence CPU autre que leur fréquence
maximale, l’occurrence d’une surcharge détectée simultanément par self-sizing
et les Dvfs entraîne l’ajout d’un nouveau serveur mais également la hausse de
la fréquence CPU des machines. Ces opérations simultanées peuvent entraîner
la baisse de la charge CPU des machines jusqu’en dessous du seuil minimal
acceptable ce qui entraîne l’exécution d’opérations de retrait et/ou de baisse de
fréquence. Une situation similaire peut également arriver à l’occurrence d’une
sous-charge. L’exécution non coordonnée des gestionnaires peut entraîner une
oscillation de la charge CPU des machines entre les seuils maximal et minimal
entraînant des réactions répétitives. Cela peut conduire à une instabilité du
système administré.
4.3 Conception du contrôleur de coordination
Cette section présente la conception du contrôleur de coordination du gestionnaire
self-sizing et des Dvfs. Nous présentons les modèles des gestionnaires.
Dans cet exemple, seul le gestionnaire self-sizing est contrôlable. Pour les Dvfs
nous ne modélisons que leurs états d’exécution globaux, nécessaires pour autoriser
ou inhiber les actions d’ajout de nouveau serveur.
4.3.1 Modélisation du contrôle des gestionnaires
Les modèles qui décrivent les gestionnaires sont constitués d’un ou de
plusieurs automates. Le modèle du gestionnaire self-sizing est constitué d’automates
qui décrivent son comportement et le contrôle des actions d’administration
qu’il peut exécuter. Pour les gestionnaires Dvfs, nous ne modélisons que
leurs états d’exécution globaux. Un seul automate est utilisé pour représenter
60les états globaux des gestionnaires Dvfs actifs.
4.3.1.1 Modélisation du contrôle de self-sizing
Le modèle du comportement contrôlable du gestionnaire self-sizing, représenté
dans la figure 4.3, est constitué de trois automates. L’automate au centre
représente le comportement de self-sizing et les deux autres modélisent le
contrôle des actions d’ajout et de retrait de serveurs.
Enable
Disable
not cUp/ cUp/
disabledUp=False
disabledUp=True
Enable
Disable
not cDown/ cDown/
disabledDown=False
disabledDown=True
U pDown
underload and not
disabledDown/
rem
Adding
overload and
not disabledUp/
add
added and not
max_machine/
U p
min_machine/
Overload and not
disabledUp/
add
Down
added and
max_machine/
underload and not
disabledDown/
rem
min=False
max=False
adding=False
min=True
max=False
adding=False
min=False
max=False
adding=True
min=False
max=True
adding=False
(disabledUp, disabledDown, add, rem, adding, max, min)
= SIZING_MODEL (cUp, cDown, overload, underload, max_machine, min_machine, added)
FIGURE 4.3 – Modèle de contrôle de self-sizing
L’automate à droite représente le contrôle des actions de retrait de serveurs.
Il est constitué de deux états : Enable et Disable. L’état Enable, état initial,
indique que les actions de retrait sont autorisées et l’état Disable indique
que les actions de retrait sont inhibées. Le passage de l’état Enable à l’état
614.3. CONCEPTION DU CONTRÔLEUR DE COORDINATION
Disable et réciproquement est contrôlé via l’entrée cDown. Lorsqu’elle est à
true l’automate se met dans l’état Disable et lorsqu’elle est à false dans l’état
Enable. L’état courant du contrôle des actions de retrait de serveur est indiqué
par la sortie disabledDown qui est une variable d’état. Elle est à true lorsque
les actions de retrait sont inhibées. L’automate à gauche représente le contrôle
des actions d’ajout de serveurs. Cet automate est semblable à celui du contrôle
des retraits. Le passage de l’état Enable à l’état Disable et réciproquement
est contrôlé via l’entrée cUp. L’état courant du contrôle des actions d’ajout est
indiqué par la sortie disabledUp.
L’automate au centre représente le comportement du gestionnaire self-sizing.
Il est constitué de quatre états. Le gestionnaire est initialement dans l’état
UpDown dans lequel il peut exécuter aussi bien des opérations d’ajout que des
opérations de retrait. Il est dans l’état Down quand le nombre maximum de
serveurs actifs autorisé est atteint. Dans cet état il ne peut exécuter que des
opérations de retrait. Le gestionnaire est dans l’état Up lorsque le nombre minimum
de serveurs actifs autorisé est atteint. Dans cet état il ne peut exécuter que
des opérations d’ajout. L’exécution d’une opération d’ajout est représentée par
l’état Adding. Contrairement aux ajouts, l’exécution des opérations de retrait
est considérée instantanée dans le modèle. L’occurrence d’une sous-charge
(underload à true), lorsque le gestionnaire est dans l’état UpDown ou dans l’état
Down, entraîne l’exécution d’une opération de retrait (rem à true) si les opérations
de retrait sont autorisées (disabledDown à false). Dans l’état UpDown,
le gestionnaire passe dans l’état Up lorsque le nombre minimum de serveur
est atteint (min_machine à true). L’occurrence d’une surcharge (overload à
true), lorsque le gestionnaire est dans l’état UpDown ou dans l’état Up, entraîne
l’exécution d’une opération d’ajout (add à true) si les opérations d’ajout sont
autorisées (disabledUp à false). A l’exécution d’un ajout le gestionnaire passe
dans l’état Adding où aucune autre opération d’ajout ou de retrait de serveur
ne peut être entamée. A la fin de l’opération d’ajout, il passe dans l’état Down
si le nombre maximum de serveurs est atteint (max_machine à true) sinon il
retourne dans l’état UpDown.
624.3.1.2 Modélisation de l’état global des Dvfs
Dans cette solution de coordination, aucun contrôle n’est effectué sur l’exé-
cution des Dvfs locaux. Seul leur état global courant est important pour pouvoir
autoriser ou empêcher les opérations d’ajout. Pour cela nous utilisons une
sonde pour collecter l’état courant de l’ensemble des Dvfs locaux. Chaque Dvfs
fournit deux sorties booléennes min étant à vrai lorsque la fréquence minimale
est atteinte et max étant à vrai lorsque la fréquence maximale est atteinte. La
sonde renvoie deux valeurs, l’une étant la conjonction de toutes les valeurs des
sorties min des Dvfs et l’autre la conjonction de toutes les valeurs des sorties
max.
Normal Min
Max
minimum /
not minimum /
maximum /
not maximum /
max_freq=False
min_freq=False
max_freq=False
min_freq=True
max_freq=True
min_freq=False
(max_freq, min_freq)= DVFS_MODEL (maximum, minimum)
FIGURE 4.4 – Modèle global du mode d’exécution des Dvfs
La figure 4.4 présente l’automate qui modélise l’état global de l’ensemble
des gestionnaires Dvfs qui s’exécutent sur les machines qui hébergent les
serveurs actifs. L’automate est constitué de trois états : Normal, Min et Max. Initialement
dans l’état Normal, l’automate va dans l’état Max quand tous les Dvfs
ont atteint la fréquence maximale. Depuis l’état Normal, il va dans l’état Min
lorsque tous les Dvfs ont atteint la fréquence minimum. Il retourne dans l’état
Normal lorsque, au moins un des Dvfs n’a atteint ni la fréquence maximale ni la
fréquence minimale. Cet automate a deux sorties, max_freq qui est à true dans
l’état Max et min_freq qui est à true dans l’état Min.
634.3. CONCEPTION DU CONTRÔLEUR DE COORDINATION
4.3.2 Spécification de la coordination
La figure 4.5 décrit la coexistence des gestionnaires.
(max_freq, min_freq, disabledUp, disabledDown, add, rem, adding, max, min)
= COEXISTENCE (minimum, minimum,
cUp, cDown, overload, underload, max_machine, min_machine, added)
(max_freq, min_freq) = DVFS_MODEL (minimum, minimum);
(disabledUp, disabledDown, add, rem, adding, max, min) =
SIZING_MODEL (cUp, cDown, overload, underload, max_machine, min_machine, added);
FIGURE 4.5 – Composition des modèles des gestionnaires self-sizing et
Dvfs
4.3.2.1 Stratégie de coordination
Une stratégie pour garantir une optimisation efficace des ressources et éviter
des actions inutiles consiste à empêcher l’ajout d’un nouveau serveur tant
qu’il est possible d’augmenter la fréquence d’exécution des processeurs des
machines qui hébergent les serveurs actifs. En effet une surcharge détectée par
le gestionnaire self-sizing peut être considérée importante à traiter que si les
processeurs des machines actives sont à leur fréquence maximale. Dans ce cas,
il est nécessaire d’ajouter un nouveau serveur puisque les machines actives ont
atteint leur capacité maximale.
– Ignorer la surcharge détectée des serveurs dupliqués — Si les processeurs
des machines actives ne sont pas à leur fréquence maximale.
4.3.2.2 Spécification du contrat
Pour réaliser la stratégie de coordination, nous définissons formellement
un objectif de contrôle. Cet objectif de contrôle est exprimé via la sorties des
automates et déclaré sous forme de contrat :
1. ((not max_freq and disabledUp) or (max_freq and not disabledUp)).
4.3.2.3 Programme final
Le programme final, représenté à la figure 4.6, associe le contrat défini au
modèle de la coexistence des gestionnaires COEXISTENCE.
64(max_freq, min_freq, disabledUp, disabledDown, add, rem, adding, max, min)
= COORD (minimum, minimum,
overload, underload, max_machine, min_machine, added)
enforce ((not max_freq and disabledUp) or (max_freq and not disabledUp))
with cUp, cDown
(max_freq, min_freq, disabledUp, disabledDown, add, rem, adding, max, min)
= COEXISTENCE (minimum, minimum,
cUp, cDown, overload, underload, max_machine, min_machine, added)
FIGURE 4.6 – Coordination de gestionnaires self-sizing et Dvfs
Les variables cUp et cDown du modèle du gestionnaire self-sizing sont
déclarées variables contrôlables sur lesquelles agirent pour le respect de la
stratégie de coordination. Dans cet exemple aucun contrôle n’est défini pour
les actions de retrait. La variable cDown aura toujours la valeur true puisque
l’objectif ne concerne pas les retraits. Les retraits seront toujours autorisées dans
ce modèle coordonné.
4.4 Expérimentations
L’objectif de ces expérimentations est d’évaluer le comportement du contrôleur
obtenu. Il s’agit de montrer que le contrôleur généré assure la politique
de coordination définie, bien que le système considéré soit petit et qu’il soit
possible d’implémenter manuellement l’objectif de contrôle. Nous avons utilisé
trois charges différents pour chaque exécution : Workload1 (4750 requêtes/sec),
Workload2 (5000 requêtes/sec) et Workload3 (5542 requêtes/sec). Chaque charge
est définie en deux phases, une première phase qui consiste en une charge
croissante (pendant environ 3 minutes), puis une seconde phase durant laquelle
la charge est constante. Pour chaque charge, nous avons effectué une exécution
non coordonnée et une autre exécution durant laquelle les gestionnaires
sont coordonnés. A chaque exécution, chaque machine qui héberge un serveur
dupliqué actif débute avec la fréquence minimale. Les charges Workload1 et
Workload2 peuvent être traitées par un serveur à la fréquence maximale alors
que la charge Workload3 nécessite deux serveurs dupliqués.
654.4. EXPÉRIMENTATIONS
4.4.1 Configuration
La plate-forme expérimentale est constituée de trois machines ayant les
mêmes caractéristiques (processeurs et capacité en mémoire). Les machines
(node0, node1 et node2) sont connectées en réseau. Les machines node1 et node2
ont deux niveaux de fréquence de processeurs : 800Mhz étant la fréquence
minimale et 1.20Ghz étant la fréquence maximale. Le système administré est
constitué d’un serveur Apache 1
et de deux serveurs Tomcat 2
. Le serveur Apache
représente le point d’entrée du système. Il reçoit toutes les requêtes à traiter et
les répartit entre les serveurs Tomcat actifs. Le serveur Apache est utilisé comme
équilibreur de charge. Il est exécuté sur la machine node0. Les machines node1
et node2 hébergent les serveurs Tomcat. Nous utilisons Jmeter pour simuler
les clients qui émettent les requêtes HTTP sur le système administré.
4.4.2 Calibrage des seuils des gestionnaires
Des expérimentations ont été réalisées pour déterminer les seuils maximal
et minimal des gestionnaires self-sizing et Dvfs. Ces expérimentations ont été
faites de manière empirique. Le seuil maximal, appelé T
max, est fixé manuellement
et ne change pas pour les types de gestionnaires. Le seuil minimal, appelé
T
min, est calculé dynamiquement.
4.4.2.1 Seuil maximal pour self-sizing et Dvfs
Une machine qui utilise son processeur à 100% passe tout son temps à exé-
cuter des opérations. Cela indique que la machine a atteint sa charge maximale.
Lorsque la charge reçue est supérieure à la charge maximale, la machine sature
et sa performance se dégrade. Il est donc préférable d’envisager un seuil
maximal inférieur à 100%.
Nous avons choisi de manière arbitraire 90% comme valeur pour T
max. Nous
avons observé qu’une machine utilisant 90% de son processeur commence
à saturer, mais traite les requêtes avec un délai acceptable. Cela permet de
récupérer la charge CPU de la machine dans un délai suffisamment court et
de réagir pour éviter une dégradation trop importante de la performance en
1. http://httpd.apache.org/
2. http://tomcat.apache.org/
66haussant la fréquence CPU ou en ajoutant un nouveau serveur hébergé par une
autre machine.
4.4.2.2 Seuil minimal pour self-Sizing et Dvfs
Nous avons utilisé différentes charges de travail suivant le même profil (une
phase de montée en puissance suivie d’une phase constante), pour observer
l’impact des opérations d’administration des gestionnaires sur la charge CPU.
Ce qui diffère entre les charges de travail est l’intensité, c’est-à-dire le nombre
de requêtes injectées. Pour évaluer le facteur de variation de la charge CPU,
les opérations d’administration sont exécutées manuellement une fois que
la charge est constante et stable. L’objectif est de déterminer si le facteur de
variation de la charge CPU est le même pour chaque charge de travail. Cela
permet de déduire une équation pour le calcul du seuil minimal en fonction du
seuil maximal. Pour le gestionnaire self-sizing, la formule devrait également
prendre en compte le nombre de serveurs dupliqués actifs.
4.4.2.2.1 Seuil minimal (T
min ) pour self-sizing. Nous avons réalisé des
expérimentations pour observer l’impact des opérations du gestionnaire selfsizing
sur la charge moyenne des machines qui exécutent les serveurs dupliqués.
Les opérations d’ajout et de retrait de serveurs sont exécutées une fois que la
charge en entrée est constante et stable.
La figure 4.7 présente des expérimentations dans lesquelles on ajoute un
serveur dupliqué. Initialement un seul serveur est actif. L’ajout d’un second
serveur fait baisser la charge CPU moyenne des machines. Nous notons toutefois,
que cette diminution n’est pas de moitié par rapport à la charge observée
avant l’ajout. Ce résultat est retrouvé pour toutes les charges testées («chargecpu-{1,2,3,4}»).
Puisque les requêtes sont distribuées équitablement, on espérait
observer une baisse de moitié, mais la charge moyenne obtenue est toujours
supérieure à la charge théorique attendue.
La figure 4.8 présente des expérimentations dans lesquelles on retire un
serveur dupliqué. Chaque exécution débute avec deux serveurs dupliqués.
Lorsqu’un serveur est arrêté, la charge sur le serveur restant augmente mais ne
double pas.
674.4. EXPÉRIMENTATIONS
0
20
40
60
80
100
2 4 6 8 10 12 14 16 18 20
Charge CPU (%)
Duree (minute)
charge-cpu-1
charge-cpu-2
charge-cpu-3
charge-cpu-4
FIGURE 4.7 – Seuil minimal pour self-sizing : ajout de serveur
0
20
40
60
80
100
2 4 6 8 10 12 14 16 18
Charge CPU (%)
Duree (minute)
charge-cpu-1
charge-cpu-2
charge-cpu-3
charge-cpu-4
FIGURE 4.8 – Seuil minimal pour self-sizing : retrait de serveur
Cela signifie que pour un système dont le degré de réplication ne dépasse
pas deux, le calcul du seuil minimal peut se faire selon la formule suivante :
T
min = T
max/2
68Pour un système avec un degré de réplication supérieur à deux, on souhaitera
retirer un serveur le plus tôt possible. Dans ce cas, le seuil minimal peut
être calculé comme suit :
T
min +
T
min
(n − 1)
< T
max
Où n est le nombre de serveurs actifs. En d’autres termes :
T
min < T
max ∗
(n − 1)
n
→ T
min = [T
max ∗
(n − 1)
n
] − C
Où C est une marge qui permet de maintenir T
min, à la fois suffisamment
haut pour retirer le plus tôt possible un serveur, et à la fois suffisamment bas
par rapport à T
max pour éviter des oscillations de la charge entre T
max et T
min
.
Pour éviter que T
min soit trop proche de T
max, une valeur maximale peut être
fixée pour T
min. Dans ce cas, la valeur maximale de T
min est utilisée chaque fois
que la valeur calculée de T
min est supérieure.
4.4.2.2.2 Seuil minimal (T
min) pour Dvfs. Nous avons utilisé une machine
munie d’un processeur Dual-core ayant une fréquence minimale de 800Mhz
et une fréquence maximale de 1.2Ghz. Une charge qui sature la machine en
fréquence minimale pourrait être supportée en fréquence maximale. Théoriquement
la machine est supposée pouvoir supporter 1.5 fois plus de charge en
fréquence maximale qu’en fréquence minimale. Nous avons effectué des expérimentations
en utilisant le même profil de charge mais avec différentes intensités.
Durant ces expérimentations, la fréquence CPU de la machine est modifiée
pour observer l’impact de ces changements sur la charge CPU de la machine.
La figure 4.9 montre les variations de la charge CPU entre la fréquence
maximale et la fréquence minimale. En fréquence minimale, la hausse de la
fréquence fait baisser l’utilisation du CPU. Cependant pour la même charge en
entrée, le rapport entre l’utilisation du CPU en fréquence maximale et l’utilisation
du CPU en fréquence minimale est toujours inférieur au rapport entre les
deux fréquences CPU. Le rapport semble constant et est inférieur à 1,5 sur notre
plate-forme. La baisse observée est toujours inférieure à la baisse «théorique»
694.4. EXPÉRIMENTATIONS
0
20
40
60
80
100
5 10 15 20 25
Charge CPU (%)
Duree (minute)
4750 req/sec
4000 req/sec
3054 req/sec
FIGURE 4.9 – Seuil minimal pour Dvfs
attendue. Cela permet de définir le seuil Minimal en fonction du seuil maximal
et le rapport entre deux valeurs consécutives de fréquences CPU. Le seuil
minimal peut être calculé comme suit :
T
min = T
max ∗
next lower frequency
current frequency
4.4.3 Évaluation
Cette section présente l’évaluation du comportement du contrôleur généré
pour la coordination des Dvfs et du self-sizing. Initialement un seul serveur
Tomcat est actif. Le deuxième serveur Tomcat, en fonction de la charge, sera
ajouté ou enlevé par le gestionnaire self-sizing. Les exécutions durent 20 minutes.
L’injection de charge est arrêtée après les 20 minutes.
4.4.3.1 Comportement non coordonné
Lors des exécutions non coordonnées, la détection d’une surcharge conduit
à la hausse de la fréquence CPU de la machine qui héberge le premier serveur
Tomcat. La surcharge a également à l’ajout du second serveur Tomcat.
70 0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20
0
1
2
3
4
5
Charge CPU (%); Frequence cpu
Replication
Duree (minute)
cpu node1
Avg cpu
CPUFreq node1
replication
cpu node2
CPUFreq node2
FIGURE 4.10 – Exécution non coordonnée avec : 4750 requêtes/sec
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20
0
1
2
3
4
5
Charge CPU (%); Frequence cpu
Replication
Duree (minute)
cpu node1
Avg cpu
CPUFreq node1
replication
cpu node2
CPUFreq node2
FIGURE 4.11 – Exécution non coordonnée avec : 5000 requêtes/sec
Les figures 4.10 et 4.11 présentent les exécutions non coordonnées pour
les charges Workload1 et Workload2 respectivement. Lors de ces exécutions, la
détection d’une surcharge déclenche une hausse de fréquence CPU et l’ajout
714.4. EXPÉRIMENTATIONS
du second serveur Tomcat. Sur la figure 4.10 la surcharge est détectée par selfsizing
environ 8 minutes après le début de l’injection de charge. Cela a conduit
à la réaction du gestionnaire qui a ajouté le second Tomcat (11 min). Durant
cette opération, le Dvfs sur la machine qui héberge le premier Tomcat a détecté
la surcharge et a haussé la fréquence CPU de la machine (CPUFreq_node1: 9
min). Une fois le second serveur Tomcat intégré (node2: 11min), la charge CPU
au niveaux des deux machines actives est autour de 60 pour cent. La fréquence
CPU de la première machine est baissée. Le même comportement est observé
sur la figure 4.11. Ces deux charges peuvent être traitées avec un seul serveur.
Cependant sans coordination, deux serveurs Tomcat sont actifs et les machines
qui les hébergent sont à la fréquence minimale.
4.4.3.2 Comportement coordonné
Contrairement aux exécutions non coordonnées, pour les charges Workload1
et Workload2, le gestionnaire self-sizing ne réagit pas à la détection de surcharge
durant l’exécution coordonnée.
0
10
20
30
40
50
60
70
80
90
0 5 10 15 20
0
1
2
3
4
5
Charge CPU (%); Frequence cpu
Replication
Duree (minute)
cpu node1
Avg cpu
CPUFreq node1
replication
FIGURE 4.12 – Exécution coordonnée avec : 4750 requêtes/sec
Les figures 4.12 et 4.13 présentent les exécutions coordonnées pour les
charges Workload1 et Workload2 respectivement. Sur la figure 4.12 la surcharge
72 0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20
0
1
2
3
4
5
Charge CPU (%); Frequence cpu
Replication
Duree (minute)
cpu node1
Avg cpu
CPUFreq node1
replication
FIGURE 4.13 – Exécution coordonnée avec : 5000 requêtes/sec
est détectée 7 minutes après le début de l’injection de charge. Cependant un
seul serveur Tomcat est resté actif durant toute la durée de l’expérimentation.
La fréquence CPU de la machine qui héberge le serveur Tomcat est haussée
par le Dvfs qui s’exécute sur la machine (CPUFreq_node1: 8 min). Le même
comportement est observé sur la figure 4.13.
Ajout d’un serveur lorsque nécessaire. Le traitement de la charge Workload3
requiert deux serveurs actifs.
Pour la charge Workload3, dans l’exécution non coordonnée (Figure 4.14)
comme dans l’exécution coordonnée (Figure 4.15), le deuxième serveur Tomcat
est ajouté. Après l’ajout du second Tomcat, les machines qui hébergent les deux
Tomcat sont à la fréquence minimale. Cependant, contrairement à l’exécution
non coordonnée, durant l’exécution coordonnée l’ajout du second serveur
Tomcat (environ 9 min) est effectué après que la fréquence maximale du serveur
Tomcat ait été atteinte. Durant l’exécution coordonnée présentée à la figure 4.15,
self-sizing n’a pas réagit à la première détection d’une surcharge (environ 4
min). Le Dvfs a réagit en haussant la fréquence des processeurs de la machine
hébergeant le serveur Tomcat actif. Cependant la surcharge a persisté après que
734.4. EXPÉRIMENTATIONS
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25
0
1
2
3
4
5
Charge CPU (%); Frequence cpu
Replication
Duree (minute)
cpu node1
Avg cpu
CPUFreq node1
replication
cpu node2
CPUFreq node2
FIGURE 4.14 – Exécution non coordonnée avec : 5542 requêtes/sec
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20
0
1
2
3
4
5
Charge CPU (%); Frequence cpu
Replication
Duree (minute)
cpu node1
Avg cpu
CPUFreq node1
replication
cpu node2
CPUFreq node2
FIGURE 4.15 – Exécution coordonnée avec : 5542 requêtes/sec
la machine soit à la fréquence maximale. Cela a conduit à l’ajout du second
serveur Tomcat par self-sizing (9 min).
744.5 Conclusion
Le contrôleur de coordination généré n’empêche pas l’ajout d’un nouveau
serveur Tomcat lorsque cela est nécessaire. Il est en mesure d’assurer le respect
de la politique de coordination. Contrairement aux exécutions non coordonnées,
où les comportements indésirables ont été observés, on constate que les
exécutions coordonnées respectent la politique définie. Les opérations d’ajout
d’un nouveau serveur Tomcat ne sont effectuées que lorsque le serveur Tomcat
actif a atteint sa fréquence CPU maximale alors que la charge continue à augmenter
menant à la surcharge de ce serveur. Cependant, Il est important que la
fréquence d’échantillonnage et la communication soient suffisamment rapide
pour pouvoir détecter et traiter les montées de charge efficacement.
Ce chapitre présente un exemple simple pour expliquer la mise en oeuvre
de notre approche. Nous verrons dans le chapitre suivant un exemple plus
compliqué et plus réaliste.
754.5. CONCLUSION
765
Gestion du dimensionnement dynamique et de
la réparation d’un système multi-tiers
Contents
5.1 Gestionnaires autonomes non coordonnés . . . . . . . . . . . 79
5.1.1 Gestionnaire d’auto-dimensionnement : Self-sizing . . 79
5.1.2 Gestionnaire d’auto-réparation : Self-repair . . . . . . . 80
5.2 Problèmes d’administration d’un système multi-tiers . . . . 81
5.3 Conception du contrôleur de coordination . . . . . . . . . . . 84
5.3.1 Modélisation du contrôle des gestionnaires . . . . . . . 84
5.3.1.1 Modélisation du contrôle de self-sizing . . . . 84
5.3.1.2 Modélisation du contrôle de self-repair . . . . 84
5.3.2 Spécification de la coordination . . . . . . . . . . . . . . 86
5.3.2.1 Stratégie de coordination . . . . . . . . . . . . 86
5.3.2.2 Spécification du contrat . . . . . . . . . . . . . 87
5.3.2.3 Programme final . . . . . . . . . . . . . . . . . 89
5.4 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.4.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.2 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.2.1 Comportement non coordonné . . . . . . . . 92
5.4.2.2 Comportement coordonné . . . . . . . . . . . 95
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
77Dans ce chapitre nous utilisons notre approche pour la coordination de gestionnaires
autonomes pour garantir la performance, l’optimisation de ressources
et la disponibilité d’un système distribué. La performance peut être considérée
comme étant la capacité à répondre à plusieurs requêtes simultanément dans
un délai acceptable, et la disponibilité comme étant la capacité à résister aux
pannes. Pour assurer la performance et la disponibilité d’un système, ce dernier
est généralement basé sur la réplication. Les serveurs sont dupliqués sur des
machines distinctes et les requêtes sont distribuées aux instances de serveurs
par un répartiteur de charge. Cela permet d’améliorer la performance et la
tolérance aux pannes.
Tomcat
Ressources
(cpu, mem, ...) (cpu, mem, ...)
Ressources
Tomcat
...
...
... Ressources
(cpu, mem, ...)
Tomcat
(cpu, mem, ...)
Ressources
Apache
(cpu, mem, ...)
Ressources
MySql−PROXY
...
(cpu, mem, ...) (cpu, mem, ...) (cpu, mem, ...)
Ressources Ressources Ressources
MySQL MySQL MySQL
...
...
...
Wk’/n Wk’/n Wk’/n
WK/m WK/m WK/m
Workload (WK)
(mod_jk)
(jdbc) (jdbc) (jdbc)
Wk’: SQL Query reading
FIGURE 5.1 – Application JEE
Un exemple de système distribué que nous considérons est le système multitiers
JEE présenté à la figure 5.1. Il est constitué d’un serveur web Apache 1
, de
serveurs d’application Tomcat 2 dupliqués, d’un serveur Mysql-proxy 3
et de
serveurs de bases de données Mysql 4
également dupliqués. Les requêtes entrantes
sont reçues par le serveur Apache. Ce dernier les distribue aux serveurs
1. http://httpd.apache.org/
2. http://tomcat.apache.org/
3. http://dev.mysql.com/doc/refman/5.1/en/mysql-proxy.html
4. http://www.mysql.com/
78Tomcat pour leur traitement. Les serveurs Tomcat accèdent aux bases de données
via le serveur Mysql-proxy qui est un répartiteur de charge pour les
serveurs Mysql. Le serveur Mysql-proxy distribue équitablement les requêtes
de lecture aux serveurs Mysql.
L’une des difficultés lors du déploiement de ce genre de système est le dimensionnement.
La variation du nombre de requêtes à traiter fait qu’il peut être
difficile d’estimer le nombre de serveurs dupliqués à utiliser lors du démarrage
du système. Une configuration statique du nombre de serveurs peut conduire
la plupart du temps à une estimation abusive du nombre de serveurs. Cela peut,
peut-être, permettre d’avoir de bonnes performances, mais avec un coût très
élevé, e.g., consommation énergétique élevée. Ajuster dynamiquement le degré
de réplication à l’exécution permet d’allouer le nombre nécessaire de serveurs
en fonction du nombre de requêtes à satisfaire. De plus l’état des serveurs
doit être surveillé en permanence pour détecter les pannes. Il est nécessaire de
réparer les pannes afin d’éviter de perdre tous les serveurs. Pour cela, des gestionnaires
comme self-sizing et self-repair peuvent être utilisés pour la gestion
du dimensionnement dynamique et la réparation de serveurs d’un système
multi-tiers. Toutefois, la coordination de ces gestionnaires peut être nécessaire
pour éviter des opérations incohérentes. En effet l’occurrence de panne dans
un tier répliqué peut avoir un impact sur la charge des serveurs restants au
niveau du tier. Elle peut également avoir un impact sur la charge des tiers qui
lui succèdent dans la chaîne de traitement. Cela peut conduire à une mauvaise
interprétation de la charge à traiter et une mauvaise évaluation du nombre de
serveurs nécessaires pour traiter les requêtes.
5.1 Gestionnaires autonomes non coordonnés
Les gestionnaires assurent la gestion de la disponibilité, la performance et
l’optimisation des ressources de calcul. Ces derniers sont conçus indépendamment.
5.1.1 Gestionnaire d’auto-dimensionnement : Self-sizing
Nous ré-utilisons le même gestionnaire décrit à la section 4.1.1.
795.1. GESTIONNAIRES AUTONOMES NON COORDONNÉS
5.1.2 Gestionnaire d’auto-réparation : Self-repair
Le gestionnaire self-repair, représenté dans la figure 5.2, est dédié à la restauration
d’un système ou les éléments constituant le système suite à l’occurrence
de pannes. Il traite les pannes franches de machines. Il a une connaissance
de la structure du système administré. Il connaît l’ensemble des machines
sur lesquelles s’exécutent les éléments logiciels constituant le système, ainsi
que l’ensemble des ressources matérielles non utilisées et disponibles pour
permettre la reconfiguration du système.
Connaissance
Capteurs Actionneurs
Elements administres
en cours d’utilisation disponibles
Execution
Reparer
Planification
hearbeat Reparer
(accessible) ?
Analyse
Gestionnaire d’auto−reparation
Observation
(cpu, mem, ...) (cpu, mem, ...) Ressource Ressource
FIGURE 5.2 – Gestionnaire d’auto-réparation
Comme le montre la figure 5.2, des sondes contactent périodiquement les
machines en cours d’utilisation afin de vérifier leur accessibilité. Les sondes
utilisées dans cet exemple sont de type Ping. Si aucune réponse n’est reçue
après l’écoulement du temps de latence alors la machine qui ne répond pas
est considérée en panne. Lorsqu’une machine est considérée comme en panne,
le gestionnaire détermine les éléments logiciels et matériels qui sont affectés
par cette panne. Il détermine ensuite les logiciels que la machine défaillante
exécutait et ceux qui sont liés à ces logiciels. Cette analyse est effectuée sur la
base de la connaissance que le gestionnaire a de l’état courant et de la structure
de système. Sans cette connaissance, la restauration du système ne peut être
80réalisée car l’information nécessaire pour la reconstruction serait perdue avec la
défaillance. Une fois que les éléments impactés par la panne sont identifiés, le
gestionnaire planifie la reconstruction du système. Cette reconstruction consiste
à redémarrer sur d’autres machines disponibles les logiciels qui s’exécutaient
sur la machine défaillante et rétablir les liaisons entre les éléments. L’exécution
des opérations de reconfiguration est effectuée via les actionneurs fournis par
le système administré qui permettent l’allocation de machines, le déploiement
et la configuration des éléments logiciels et matériels du système.
Ce gestionnaire permet la disponibilité du système administré en restaurant
le service après une défaillance d’une machine. Dans le cas d’un système basé
sur la réplication de serveurs, il permet la restauration du degré de redondance
des serveurs. Cela permet de tolérer jusqu’à m-1 pannes de serveurs durant le
temps moyen de réparation (MTTR).
5.2 Problèmes d’administration d’un système multitiers
Dans un système basé sur une architecture multi-tiers, une panne d’un
serveur d’un des tiers peut affecter le tier et ceux qui suivent dans la chaîne de
traitement des requêtes.
L’occurrence d’une panne au niveau du tier peut entraîner une baisse de
charge au niveau des serveurs des autres tiers qui suivent. Ces derniers risquent
de ne plus recevoir autant de requêtes à traiter qu’avant la panne. Cela peut
causer une sous-charge au niveau de ces tiers. Par exemple, sur la figure 5.3,
la panne du serveur Apache entraîne une baisse de charge au niveau des tiers
Tomcat, Mysql-Proxy et Mysql. Ces derniers ne reçoivent plus de requêtes car
le serveur Apache est l’entrée du système. Sur la figure 5.4, la panne du serveur
Mysql-Proxy entraîne une baisse de charge au niveau du tier Mysql car le
serveur Mysql-Proxy reçoit les requêtes à transmettre aux serveurs Mysql.
Dans le cas d’un tier basé sur la répartition de charge, la panne d’un des
serveurs peut entraîner une surcharge des autres serveurs. Lorsqu’un des
serveurs dupliqués tombe en panne la charge qu’il doit traiter est répartie entre
les autres serveurs restants. Cela peut entraîner une hausse de charge au niveau
de ces derniers et peut causer la saturation des machines qui les exécutent. Sur
815.2. PROBLÈMES D’ADMINISTRATION D’UN SYSTÈME MULTI-TIERS
Tomcat
Ressources
(cpu, mem, ...) (cpu, mem, ...)
Ressources
Tomcat
...
...
... Ressources
(cpu, mem, ...)
Tomcat
(cpu, mem, ...)
Ressources
Apache
(cpu, mem, ...)
Ressources
MySql−PROXY
...
(cpu, mem, ...) (cpu, mem, ...) (cpu, mem, ...)
Ressources Ressources Ressources
MySQL MySQL MySQL
...
...
...
Wk’/n Wk’/n Wk’/n
WK/m WK/m WK/m
Workload (WK)
(mod_jk)
(jdbc) (jdbc) (jdbc)
Wk’: SQL Query reading
FIGURE 5.3 – Panne du serveur Apache
Tomcat
Ressources
(cpu, mem, ...) (cpu, mem, ...)
Ressources
Tomcat
...
...
... Ressources
(cpu, mem, ...)
Tomcat
(cpu, mem, ...)
Ressources
Apache
(cpu, mem, ...)
Ressources
MySql−PROXY
...
(cpu, mem, ...) (cpu, mem, ...) (cpu, mem, ...)
Ressources Ressources Ressources
MySQL MySQL MySQL
...
...
...
Wk’/n Wk’/n Wk’/n
WK/m WK/m WK/m
Workload (WK)
(mod_jk)
(jdbc) (jdbc) (jdbc)
Wk’: SQL Query reading
FIGURE 5.4 – Panne du serveur Mysql-Proxy
la figure 5.5, la panne d’un serveur Tomcat entraîne une hausse de la charge
des autres serveurs Tomcat actifs. Sur la figure 5.6, la panne d’un serveur mysql
entraîne une hausse de la charge des autres serveurs Mysql actifs.
Lorsque des instances des gestionnaires self-sizing et self-repair sont utilisées
pour gérer les différents tiers d’un système de ce type, les pannes peuvent
entraîner des opérations d’administration inutiles. En effet l’occurrence d’une
82Tomcat
Ressources
(cpu, mem, ...) (cpu, mem, ...)
Ressources
Tomcat
...
...
... Ressources
(cpu, mem, ...)
Tomcat
(cpu, mem, ...)
Ressources
Apache
(cpu, mem, ...)
Ressources
MySql−PROXY
...
(cpu, mem, ...) (cpu, mem, ...) (cpu, mem, ...)
Ressources Ressources Ressources
MySQL MySQL MySQL
...
...
...
Wk’/n Wk’/n Wk’/n
Workload (WK)
WK/(m −1) WK/(m −1)
(mod_jk)
(jdbc) (jdbc) (jdbc)
Wk’: SQL Query reading
FIGURE 5.5 – Panne d’un serveur Tomcat
Tomcat
Ressources
(cpu, mem, ...) (cpu, mem, ...)
Ressources
Tomcat
...
...
... Ressources
(cpu, mem, ...)
Tomcat
(cpu, mem, ...)
Ressources
Apache
(cpu, mem, ...)
Ressources
MySql−PROXY
...
(cpu, mem, ...) (cpu, mem, ...) (cpu, mem, ...)
Ressources Ressources Ressources
MySQL MySQL MySQL
...
...
...
WK/m WK/m WK/m
Workload (WK)
Wk’/(n −1) Wk’/(n −1)
(mod_jk)
(jdbc) (jdbc) (jdbc)
Wk’: SQL Query reading
FIGURE 5.6 – Panne d’un serveur MySQL
panne d’un serveur d’un tier, détectée par le self-repair gérant ce tier, entraîne
l’exécution d’une opération de restauration du serveur. Cependant cette panne
peut occasionner une surcharge des autres serveurs durant la réparation. Dans
ce cas le self-sizing dédié à la gestion du dimensionnement du tier où la panne
s’est produite peut entamer une opération d’ajout d’un nouveau serveur alors
que la panne est entrain d’être traitée. Si la charge n’a pas varié alors il y aura
835.3. CONCEPTION DU CONTRÔLEUR DE COORDINATION
un serveur en trop et qui sera probablement arrêté par le self-sizing après la
réparation. La panne peut également conduire à la baisse de la charge des tiers
suivants. Si les instances de self-sizing au niveau de ces tiers détectent une
sous-charge, ils vont enlever des serveurs pour optimiser les ressources. Mais
une fois la panne réparée, si la charge n’a pas varié cela peut conduire à la
saturation des tiers jusqu’à ce que les serveurs soient relancés par les self-sizing.
Durant cette période une dégradation de la performance du système peut être
observée.
5.3 Conception du contrôleur de coordination
Cette section présente la conception d’un contrôleur de coordination des instances
de self-repair et self-sizing pour l’administration du système multi-tiers
présenté à la figure 5.1. Nous modélisons le contrôleur de coordination comme
la composition des comportements des gestionnaires autonomes à laquelle est
associée une politique de coordination pour éviter les comportements incohérents.
5.3.1 Modélisation du contrôle des gestionnaires
Cette section décrit les modèles des gestionnaires autonomes. Chaque gestionnaire
est modélisé par un ou plusieurs automates qui décrivent son comportement
et le contrôle des actions d’administration qu’il peut exécuter.
5.3.1.1 Modélisation du contrôle de self-sizing
Nous ré-utilisons le modèle de self-sizing défini à la section 4.3.1.1.
5.3.1.2 Modélisation du contrôle de self-repair
Le modèle de self-repair est constitué de deux automates, représentés à la
figure 5.7.
L’automate à gauche modélise le contrôle des actions de réparation. Il a deux
états : Enable et Disable. L’état Enable, état initial, indique que les actions de
réparation sont autorisées et l’état Disable indique que les actions de réparation
84Enable
Disable
not cR/ cR/
disabled=False
disabled=True
Wait
Repair
repaired and
failure /
repair
failure and
not disabled/
repair
repaired and
not failure/
repairing=False
repairing=True
(disabled, repair, repairing)= REPAIR_MODEL (cR, failure, repaired)
FIGURE 5.7 – Modéle de contrôle de self-repair
sont interdites. Le changement d’états est contrôlé par l’entrée cR. Lorsqu’elle
est à true les actions sont interdites. L’état du contrôle des actions de réparation
est indiqué en sortie par la variable d’état disabled qui est à true lorsque les
actions sont interdites.
L’automate à droite modélise le comportement du gestionnaire. Il est constitué
de deux états : Wait et Repair. L’état Wait, état initial, représente l’état dans
lequel self-repair attend la détection d’une panne. L’état Repair représente
l’état dans lequel le gestionnaire est en train d’effectuer la réparation de la
panne. L’occurrence d’une panne est représentée par l’entrée failure à true.
Dans l’état Wait, à l’occurrence d’une panne, self-repair réagit, si autorisée, en
produisant l’action repair et se met dans l’état Repair. La fin de la réparation
est représentée par l’entrée repaired à true. Si aucune panne est détectée, selfrepair
retourne dans l’état d’attente Wait. En cas de panne, il réagit en réparant
la panne. La sortie repairing indique l’état courant de l’automate. Elle est à
true lorsque l’automate est dans l’état Repair.
855.3. CONCEPTION DU CONTRÔLEUR DE COORDINATION
5.3.2 Spécification de la coordination
La coexistence des gestionnaires self-sizing et self-repair est représentée par
la composition d’instances des automates qui décrivent leur comportement,
illustrée à la figure 5.8. Nous avons quatre instances du modèle du gestionnaire
self-repair et deux instances du modèle du gestionnaire self-sizing.
(A_disabled, A_repair_server, A_repairing,
T_disabled, T_repair_server, T_repairing,
T_disabledUp, T_disabledDown, T_add_server, T_remove_server, T_adding, T_max, T_min,
. . .) = MULTITIER (A_c, T_c, P_c, M_c, T_cUp, T_cDown, M_cUp, M_cDown,
A_failure, A_repaired,
T_failure, T_repaired,
T_Underload, T_Overload, T_max_machine, T_min_machine . . .)
(A_disabled, A_repair_server, A_repairing) = REPAIR_MODEL (A_c, A_failure, A_repaired);
(T_disabled, T_repair_server, T_repairing) = REPAIR_MODEL (T_c, T_failure, T_repaired);
(T_disabledUp, T_disabledDown, T_add_server, T_remove_server, T_adding, T_max, T_min) =
SIZING_MODEL (T_cUp, T_cDown, T_Underload, T_Overload, T_max_machine, T_min_machine . . .);
(P_disabled, P_repair_server, P_repairing) = REPAIR_MODEL (P_c, P_failure, P_repaired);
(M_disabled, M_repair_server, M_repairing) = REPAIR_MODEL (M_c, M_failure, M_repaired);
(M_disabledUp, M_disabledDown, M_add_server, M_remove_server, M_adding, M_max, M_min) =
SIZING_MODEL (M_cUp, M_cDown, M_Underload, M_Overload, M_max_machine, M_min_machine . . .);
FIGURE 5.8 – Composition des modèles de self-sizing et self-repair
Les entrées et sorties des instances d’automates sont renommées, en ajoutant
un préfixe, pour distinguer les gestionnaires qu’ils représentent : "A_" pour
le gestionnaire dédié au tier Apache, "T_" pour le tier Tomcat, "P_" pour le
tier Mysql-proxy, et " M_" pour le tier Mysql. Par exemple, l’entrée A_failure
représente une panne du serveur Apache. Les entrées de la composition MULTITIER
correspondent à l’union de toutes les entrées des automates contenus. Les
sorties de la composition correspondent également à l’union des sorties des
automates.
5.3.2.1 Stratégie de coordination
La stratégie de coordination consiste à empêcher les gestionnaires self-sizing
d’exécuter des actions d’ajout ou de retrait de serveurs en cas de panne. En effet,
une panne d’un serveur d’un tier peut entraîner une surcharge au niveau du
tier et une sous-charge au niveau des tiers qui suivent. De ce fait, traiter d’abord
la panne avant de prendre en compte les événements de surcharge ou de souscharge
peut être plus pertinent. Cela peut empêcher des réactions inutiles
86qui conduisent à des ajouts et/ou des retraits de serveurs. Le contrôle des
actions des gestionnaires self-sizing est basé sur les activités des gestionnaires
self-repair. La stratégie est décrite ci-dessous de manière textuelle :
Condition 1 : Ignorer la surcharge détectée au niveau du tier Tomcat — En
cas de panne dans le tier Tomcat, toute surcharge dans ce tier est ignorée tant
que la réparation n’est pas terminée.
Condition 2 : Ignorer la sous-charge détectée au niveau du tier Tomcat — En
cas de panne dans le tier Apache, toute sous-charge dans le tier Tomcat est
ignorée tant que la réparation de la panne n’est pas terminée.
Condition 3 : Ignorer la surcharge détectée au niveau du tier Mysql — En cas
de panne dans le tier Mysql, toute surcharge dans ce tier est ignorée tant que la
réparation n’est pas terminée.
Condition 4 : Ignorer la sous-charge détectée au niveau du tier Mysql — En
cas de panne dans les tiers Apache, Tomcat et Mysql-proxy, toute sous-charge
dans le tier Mysql est ignorée tant que la réparation de la panne n’est pas
terminée.
5.3.2.2 Spécification du contrat
Nous définissons la stratégie sous forme de propriétés d’invariance. Ces
propriétés sont exprimées via les sorties des automates à la figure 5.8. Certaines
propriétés sont spécifiées dans le contrat et assurées par le contrôleur généré.
D’autres sont manuellement programmées. Ci-dessous nous décrivons les
spécifications formelles de la stratégie de coordination.
Condition 1. Cette condition consiste à ignorer les surcharges détectées dans
le tier Tomcat en cas de panne d’un serveur Tomcat. Lors de la réparation d’un
Tomcat, le gestionnaire self-sizing chargé du dimensionnement dynamique de
ce tier ne doit pas réagir aux surcharges. Cela est exprimé par :
invariant1.1 = T_repairing XOR not T_disabledUp
T_repairing étant à true exprime le fait que la réparation d’un serveur
Tomcat est en cours. (not T_disabledUp) étant à true exprime le fait que les
opérations d’ajout de self-sizing sont autorisées. Empêcher (not T_disabledUp)
875.3. CONCEPTION DU CONTRÔLEUR DE COORDINATION
d’être à true quand T_repairing est à true assure qu’aucune opération d’ajout
ne sera exécutée durant une réparation.
invariant1.2 = not (T_repair_server and T_add_server)
T_repair_server étant à true exprime le fait que self-repair entame une
opération de réparation. T_add_server étant à true exprime le fait que selfsizing
entame une opération d’ajout. Cette propriété empêche, au niveau du tier
Tomcat, l’activation d’une opération d’ajout et d’une opération de réparation
dans la même réaction.
Condition 2. Cette condition consiste à ignorer les sous-charges détectées
dans le tier Tomcat en cas de panne du serveur Apache. Cela implique l’inhibition
des opérations de retrait de serveurs au niveau du tier Tomcat lorsque le
serveur apache est en train d’être réparé :
invariant2.1 = A_repairing XOR not T_disabledDown
Cette propriété permet d’inhiber les opérations de retrait au niveau du tier
Tomcat lorsque le serveur Apache est en cours de réparation.
invariant2.2 = not (A_repair_server and T_remove_server)
Cette propriété empêche l’activation d’une opération de retrait de serveur
au niveau du tier Tomcat et d’une opération de réparation du serveur Apache
dans la même réaction.
Condition 3. Cette condition consiste à ignorer les surcharges détectées dans
le tier Mysql en cas de panne d’un serveur Mysql en cours de réparation. Lors
de la réparation d’un Mysql, le gestionnaire self-sizing chargé du dimensionnement
dynamique de ce tier ne doit pas réagir aux surcharges. Cela est exprimé
par :
invariant3.1 = M_repairing XOR not M_disabledUp
Cette propriété est similaire à invariant1.1.
invariant3.2 = not (M_repair_server and M_add_server)
Cette propriété est similaire à invariant1.2.
Condition 4. Cette condition consiste à ignorer les sous-charges détectées
dans le tier Mysql en cas de panne du serveur Apache, du serveur Mysql-Proxy
88ou d’un serveur Tomcat et en cours de réparation. Cela implique l’inhibition
des opérations de retrait de serveurs au niveau du tier Mysql lorsqu’un serveur
au niveau des tiers qui précédent est en train d’être réparé :
Soit APT_repairing correspondant à (A_repairing or P_repairing or
T_repairing), et APT_repair_server correspondant à (A_repair_server or
P_repair_server or T_repair_server).
invariant4.1 = APT_repairing XOR not M_disabledDown
La propriété invariant4.1 permet l’inhibition des opérations de retrait au
niveau du tier Mysql lorsque des réparation sont en cours au niveau des autres
tiers.
invariant4.2 = not (APT_repair_server and M_remove_server)
La propriété invariant4.2 empêche l’activation d’une opération de retrait de
serveur au niveau du tier Mysql et d’une opération de réparation d’un serveur
dans les autres tiers, dans la même réaction.
5.3.2.3 Programme final
(A_repair_server, T_repair_server, T_add_server, T_remove_server . . .) =
COORDINATED_MULTITIER (A_failure, A_repaired,
T_failure, T_repaired,
T_Underload, T_Overload, T_max_machine, T_min_machine . . .)
enforce (invariant1.1 and invariant2.1 and invariant3.1 and invariant4.1 and
invariant1.2 and invariant2.2 and invariant3.2 and invariant4.2)
with A_c, T_c, P_c, M_c, T_cUp, T_cDown, M_cUp, M_cDown
APT_failure = A_failure or P_failure or T_failure;
. . .
T_Overload’ = not T_failure and T_Overload;
T_Underload’ = not A_failure and T_Underload;
M_Overload’ = not M_failure and M_Overload;
M_Underload’ = not APT_failure and M_Underload;
. . .
(A_disabled, A_repair_server, A_repairing,
T_disabled, T_repair_server, T_repairing,
T_disabledUp, T_disabledDown, T_add_server, T_remove_server, T_adding, T_max, T_min,
. . .) = MULTITIER (A_c, T_c, P_c, M_c, T_cUp, T_cDown, M_cUp, M_cDown,
A_failure, A_repaired,
T_failure, T_repaired,
T_Underload’, T_Overload’, T_max_machine, T_min_machine . . .);
FIGURE 5.9 – Coordination des instances de self-sizing et self-repair
La figure 5.9 décrit le modèle de la coordination des gestionnaires. Ce
modèle est constitué du modèle de la coexistence des gestionnaires auquel
895.4. EXPÉRIMENTATIONS
est associé un contrat exprimant la stratégie de coordination. A la compilation,
Heptagon/BZR génère la logique de contrôle qui restreint la composition
MULTITIER aux comportements qui respectent les propriétés invariant1.1,
invariant2.1, invariant3.1 et invariant4.1. Cette logique de contrôle est automatiquement
intégrée dans le modèle global.
Propriétés programmées manuellement. Les propriétés invariant1.2, invariant2.2,
invariant3.2 et invariant4.2 sont assurées par programmation du code Heptagon/BZR
qui les réalise et non par SCD. Elles sont vérifiées à la compilation. La compilation
réussit si ces propriétés sont satisfaites.
Pour la propriété invariant1.2, nous définissons une variable T_Overload’
qui permet de filtrer les surcharges en fonction des pannes détectées. T_Overload’
est à true lorsque T_Overload est à true et T_failure est à false. Nous remplaçons
T_Overload par T_Overload’ pour la notification d’une surcharge au
modèle du self-sizing du tier Tomcat. La valeur de T_Overload’ est définie
par : « not T_failure and T_Overload ». Cela permet de ne pas notifier une
surcharge lorsqu’une panne est détectée dans la même réaction. Cette expression
permet d’assurer la propriété invariant1.2. Le même principe est utilisé
pour les autres propriétés programmées manuellement.
5.4 Expérimentations
L’objectif des expérimentations est d’évaluer le comportement du contrôleur
de coordination construit pour coordonner les gestionnaires self-sizing et selfrepair
afin d’éviter des décisions d’administration incohérentes.
La plate-forme expérimentale est constituée de machines munies de processeurs
Dual-Core de 1.66Ghz et 1.9Go de mémoire, de machines munies de
processeurs Dual-Core de 2,53 Ghz et 3.4Go de mémoire, et des machines munies
de processeurs Dual-Core de 1.20Ghz et 1.5Go de mémoire. Les machines
sont inter-connectées via un réseau Ethernet (1 Gbit/s). Pour l’ensemble des
expérimentations, une seule instance de serveur Apache et une instance de
serveur Mysql-Proxy sont utilisées. Les tiers Tomcat et Mysql sont basés sur la
réplication. Chaque machine héberge un seul serveur.
Quatre instances du gestionnaire self-repair sont utilisées, chaque tier est
90géré par une instance pour la gestion des pannes. Les tiers basés sur la réplication
sont les tiers Tomcat et Mysql. Deux instances du gestionnaire self-sizing
sont utilisées, chacun de ces deux tiers est géré par une instance pour le dimensionnement
dynamique du nombre de serveurs dupliqués actifs. Le contrôleur
de coordination généré est responsable de la coordination des actions des quatre
instances de self-repair et des deux instances de self-sizing.
5.4.1 Configuration
L’évaluation a été réalisée avec l’application multi-tiers JEE de référence
RUBiS [17]. Elle implante un site de vente aux enchères [50] et définit plusieurs
types d’interactions Web (e.g., l’enregistrement de nouveaux utilisateurs, la
navigation, l’achat ou la vente d’objets). Le déploiement de RUBiS est basé sur
une architecture distribuée constituée d’un front-end et d’un back-end. Le frontend
est un cluster constitué des serveurs d’application Tomcat dupliqués et d’un
serveur web Apache comme équilibreur de charge. Et le back-end est un cluster
constitué des serveurs de bases de données Mysql et du serveur Mysql-proxy
comme équilibreur de charge pour les serveurs Mysql. L’évaluation représente
un réel problème qui peut être rencontré dans un environnement de cloud
computing avec des capacités de recouvrement et des capacités d’élasticité.
Initialement lors de chaque exécution, le système est démarré avec un
serveur au niveau de chaque tier, c’est à dire, un serveur Apache, un serveur
Tomcat, un serveur de Mysql-proxy et un serveur Mysql. Nous injectons une
charge croissante (correspondant à la période de la création des threads qui
simulent les actions des clients) puis une charge constante (correspondant à
l’achèvement de la création de l’ensemble des «clients/threads»). Nous attendons
qu’il y ait deux serveurs Tomcat actifs et deux serveurs Mysql actifs pour
déclencher des pannes.
5.4.2 Évaluation
Nous avons effectué des expérimentations durant lesquelles les gestionnaires
ne sont pas coordonnés et d’autres durant lesquelles les gestionnaires
sont coordonnés. La même configuration et le même profil de charge de travail
sont utilisés lors des différentes exécutions aussi bien non coordonnées que
915.4. EXPÉRIMENTATIONS
coordonnées. Les expérimentations non coordonnées permettent de voir le
comportement des gestionnaires suite à l’occurrence d’une panne. Les expérimentations
coordonnées permettent de voir si le contrôleur de coordination
contrôle les gestionnaires afin d’assurer le respect de la politique de coordination.
Nous déclenchons des pannes lorsque la charge est constante pour voir
leurs impacts au niveau des tiers et aussi pour voir comment les différentes
instances des gestionnaires réagissent.
5.4.2.1 Comportement non coordonné
Comme dit plus haut, une panne au niveau d’un tier peut avoir un impact
sur le tier mais également sur les tiers qui suivent.
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Apache
FIGURE 5.10 – Exécution non coordonnée : Panne du serveur Apache
La figure 5.10 présente une exécution durant laquelle le serveur Apache
tombe en panne. L’occurrence de la panne du serveur Apache, 17 minutes après
le début de l’exécution, provoque une baisse de charge au niveau des tiers
Tomcat et Mysql (18 min). Une sous-charge est détectée au niveau de ces tiers
et a conduit au retrait de serveurs dupliqués. Cependant après la réparation
92du serveur Apache (19 min), la charge est redevenue normale et les serveurs
précédemment retirés ont été démarrés à nouveau à cause d’une sur-charge
(Tomcat : 20 min et Mysql : 25 min).
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40 45
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Tomcat
FIGURE 5.11 – Exécution non coordonnée : Panne d’un serveur Tomcat
La figure 5.11 présente une exécution durant laquelle un serveur Tomcat
tombe en panne. Cette panne, survenue 26 minutes après le début de l’exécution,
a provoqué un hausse de charge au niveau du tier (27 min) et aussi une baisse
de charge au niveau du tier Mysql (27 min). La hausse de charge a conduit à une
surcharge du tier Tomcat conduisant à l’ajout d’un nouveau serveur Tomcat. La
baisse de charge au niveau du tier Mysql a conduit au retrait d’un serveur à
cause d’une sous-charge des serveurs. Mais après la restauration (28 min) du
serveur Tomcat tombé en panne, le serveur Tomcat précédemment ajouté est
retiré et le serveur Mysql qui était retiré est rajouté à nouveau à cause d’une
surcharge (31 min).
La figure 5.12 présente une exécution durant laquelle le serveur Mysql-proxy
tombe en panne. L’occurrence de la panne du serveur Mysql-proxy, survenue 17
minutes après le début de l’exécution, provoque une baisse de charge au niveau
du tier Mysql (18 min). Une sous-charge est détectée et a conduit au retrait
d’un serveur Mysql. Cependant après la réparation du serveur Mysql-proxy
935.4. EXPÉRIMENTATIONS
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne M-proxy
FIGURE 5.12 – Exécution non coordonnée : Panne du serveur Mysql-proxy
(19 min), la charge est redevenue normale et le serveur précédemment retiré a
été démarré à nouveau à cause d’une sur-charge (20 min).
La figure 5.13 présente une exécution durant laquelle un serveur Mysql
tombe en panne. Cette panne, survenue 18 minutes après le début de l’exécution,
a provoqué une surcharge du serveur Mysql restant (20 min). Cela a conduit
à un ajout d’un serveur Mysql alors que celui tombé en panne est en cours de
restauration. Après la restauration, le serveur ajouté est retiré à cause d’une
baisse de charge (22 min).
Les pannes peuvent entraîner des réactions des instances du gestionnaire
self-sizing à cause de leur impact sur la répartition de la charge à traiter. Cependant,
à moins que la charge en entrée ait changé, les actions de ces instances
de self-sizing ne sont pas nécessaires. En effet, une fois les pannes réparées, le
degré de réplication, observé avant les pannes, est restauré.
94 0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Mysql
FIGURE 5.13 – Exécution non coordonnée : Panne d’un serveur Mysql
5.4.2.2 Comportement coordonné
Les figures suivantes présentent les exécutions durant lesquelles les instances
de self-sizing et de self-repair sont coordonnées. La coordination est
assurée par le contrôleur modélisé à la section 5.3.
La figure 5.14 présente une exécution durant laquelle le serveur Apache
tombe en panne. L’occurrence de la panne (min. 19) provoque une diminution
de la charge à la fois au niveau du tier Tomcat et au niveau du tier Mysql. Une
sous-charge (10% de charge CPU) au niveau de ces tiers est observée cependant
aucune opération de retrait de serveur est exécutée ni au niveau du tier Tomcat
ni au niveau du tier Mysql. A la fin de la réparation du serveur Apache, la
charge est redevenue normale au niveau des tiers Tomcat et Mysql.
La figure 5.15 présente une exécution durant laquelle un serveur Tomcat est
en panne. La panne survient 17 minutes après le début de l’expérimentation et
provoque une hausse de la charge du serveur Tomcat restant. Cette hausse de
charge a conduit à une surcharge du serveur Tomcat restant (19 min). Cependant
aucune opération d’ajout de serveur est exécutée par l’instance de self-sizing
qui gère le tier Tomcat. Une baisse de la charge est également observée au
955.4. EXPÉRIMENTATIONS
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Apache
FIGURE 5.14 – Exécution coordonnée : Panne du serveur Apache
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Tomcat
FIGURE 5.15 – Exécution coordonnée : Panne d’un serveur Tomcat
96niveau du tier Mysql jusqu’en dessous du seuil minimal toléré. Mais sur ce
tier aussi aucune opération de retrait de serveur est exécutée par l’instance de
self-sizing qui le gère. La charge au niveau des tiers est redevenue normale
après la réparation du serveur Tomcat.
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne M-proxy
FIGURE 5.16 – Exécution coordonnée : Panne du serveur Mysql-proxy
La figure 5.16 présente une exécution durant laquelle on observe une panne
du serveur Mysql-proxy. Cette panne survenue 16 minutes après le début de
l’expérimentation a occasionné une baisse de charge au niveau du tier Mysql.
Cependant aucune opération de retrait est effectuée sur le tier Mysql et la charge
est redevenue normale après la réparation.
L’occurrence d’une panne de serveur Mysql, observée 17 minutes après le
début de l’expérimentation sur la figure 5.17, occasionne une hausse de charge
au niveau du Mysql restant. Cependant là également aucune opération d’ajout
est observée. Le degré de réplication au niveau du tier Mysql n’a pas varié
durant la réparation de la panne. La charge est redevenue normale après la
réparation de la panne.
975.5. CONCLUSION
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Mysql
FIGURE 5.17 – Exécution coordonnée : Panne d’un serveur Mysql
5.5 Conclusion
Le contrôleur de coordination obtenu est en mesure de coordonner les gestionnaires
afin d’assurer le respect de la politique de la coordination. Il empêche
les gestionnaires self-sizing d’ajouter un nouveau serveur dans un tier où une
panne est en cours de réparation. Il empêche également la suppression de
serveurs au niveau des autres tiers. Le contrôleur permet d’éviter des opérations
d’acquisition et de libération répétitives de machines. Cette propriété
est particulièrement pertinente dans la gestion d’un centre de données, où
les ressources de calcul sont partagées entre plusieurs applications clientes
virtualisées.
Dans un centre de données, un quota de ressources de calcul est attribué à
chacune des applications. Le quota affecté à une application peut être ajusté
dynamiquement en fonction de sa charge de travail. Cependant, une acquisition
inutile de ressources peut empêcher d’autres applications d’atteindre
leurs objectifs de performance. Par ailleurs, la libération inutile de ressources
nécessaires pour une application peut avoir un impact sur ses performances si
les ressources sont affectées à d’autres applications.
986
Coordination modulaire pour la gestion
d’applications multi-tiers et consolidation
Contents
6.1 Gestion des ressources d’un centre de données . . . . . . . . 100
6.1.1 Utilisation des ressources . . . . . . . . . . . . . . . . . 100
6.1.2 Gestionnaire de consolidation de serveurs . . . . . . . 101
6.2 Problèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.3 Conception de la coordination modulaire . . . . . . . . . . . 102
6.3.1 Modélisation des gestionnaires . . . . . . . . . . . . . . 103
6.3.1.1 Modélisation du gestionnaire self-sizing . . . 103
6.3.1.2 Modélisation du gestionnaire self-repair . . . 104
6.3.1.3 Modélisation du gestionnaire de consolidation104
6.3.2 Spécification de la coordination . . . . . . . . . . . . . . 105
6.3.2.1 Stratégie de coordination . . . . . . . . . . . . 105
6.3.2.2 Spécification du contrat . . . . . . . . . . . . . 106
6.3.2.3 Synthèse monolithique . . . . . . . . . . . . . 106
6.3.2.4 Synthèse modulaire . . . . . . . . . . . . . . . 107
6.3.2.5 Comparaison . . . . . . . . . . . . . . . . . . . 111
6.4 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.4.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . 112
6.4.2 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 113
996.1. GESTION DES RESSOURCES D’UN CENTRE DE DONNÉES
6.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
L’objectif de cette étude de cas est de démontrer le passage à l’échelle de
notre approche. Il présente une application de la coordination modulaire pour
la gestion d’un centre de données. Nous modélisons la coordination modulaire
des gestionnaires des applications hébergées dans le centre de données et du
gestionnaire de consolidation.
Dans cette étude de cas, nous considérons que le centre de données héberge
un ensemble d’applications de type multi-tiers JEE. Chacune des applications
est gérée de manière autonome par deux instances de self-sizing et quatre
instances de self-repair.
6.1 Gestion des ressources d’un centre de données
6.1.1 Utilisation des ressources
Les ressources disponibles dans un centre de données sont généralement
virtualisées et partagées entre plusieurs applications. Les logiciels applicatifs
sont exécutés dans des machines virtuelles. Un centre de données héberge des
applications qui appartiennent souvent à des clients différents. Ces applications
sont généralement soumises à des contraintes de qualité de service. Des contrats
sont établis entre le propriétaire du centre de données et les clients. Dans
ces contrats sont définis des requis de niveau de qualité de services que le
propriétaire du centre de données doit garantir.
Les besoins en ressources des applications hébergées dans un centre de
données varient généralement en fonction de leur charge de travail. Le dimensionnement
statique des applications et un placement statique des machines
virtuelles qui exécutent les applications peuvent mener à la non satisfaction
des contraintes de qualité de service (SLAs) des applications ou à un gaspillage
d’énergie. La puissance de calcul peut être dimensionnée en fonction des besoins
en ressources des applications pour éviter un gaspillage d’énergie tout en
garantissant leur performance.
1006.1.2 Gestionnaire de consolidation de serveurs
Le gestionnaire de consolidation de serveurs est dédié à l’ajustement dynamique
de la puissance de calcul fournie dans un centre de données virtualisé.
La puissance de calcul repose sur un ensemble de serveurs physiques interconnectés.
L’objectif de ce gestionnaire est d’éviter le gaspillage de ressources
tout en satisfaisant les besoins des applications en ressource.
Le gestionnaire connaît, au moyen de sondes, la configuration courante du
placement des machines virtuelles sur les serveurs physiques. Il connaît l’état
de chaque machine virtuelle, l’utilisation des ressources qui leur sont affectées
et la charge de chaque serveur physique. Périodiquement il évalue la capacité
disponible et la capacité utilisée par les machines virtuelles. Il planifie une
diminution de la capacité lorsque les serveurs physiques sont sous-utilisés, ou
bien une augmentation de la capacité lorsque les applications requièrent plus
de ressources qu’il n’y a de disponible.
Dans ce travail, nous utilisons VMware DRS/DPM [31, 32] pour la gestion
de la puissance de calcul dans un centre de données expérimental virtualisé
et basé sur VMware. Ce gestionnaire peut planifier des actions de migration
pour fournir plus de ressources aux machines virtuelles surchargées ce qui peut
nécessiter le démarrage de serveurs physiques. Lorsque les serveurs physiques
sont sous-utilisées, le gestionnaire peut également planifier des actions de migration
de machines virtuelles afin d’arrêter certains serveurs. Ce gestionnaire
peut être configuré de sorte à qu’il retourne le plan qu’il a généré. L’exécution
du plan est à valider par l’administrateur du centre de données. L’exécution
d’un plan peut être retardée. La contrôlabilité du gestionnaire est considéré
ici seulement à gros grains : une intéressante perspective serait d’envisager
un contrôle plus fin sur les opérations de consolidation exécutées séquentiellement.
Cependant cela nécessite de déterminer des points de synchronisation
appropriés.
6.2 Problèmes
L’exécution d’un plan de consolidation prend du temps. Son efficacité
dépend essentiellement de la configuration courante de l’environnement vir-
1016.3. CONCEPTION DE LA COORDINATION MODULAIRE
tualisé durant l’opération. Lorsque des machines virtuelles sont instanciées
ou supprimées pendant une opération de consolidation, il peut arriver des
incohérences.
Lorsque le plan de consolidation consiste à diminuer la puissance de calcul
disponible, des serveurs physiques vont être arrêtés et les machines virtuelles
qu’ils hébergeaient vont être déplacées vers les serveurs actifs restants. Cela
augmente la charge des serveurs restants et diminue les ressources disponibles
sur ces serveurs. Si des machines virtuelles sont instanciées pendant l’exécution
d’un plan de consolidation qui consiste à arrêter des serveurs, ces machines
virtuelles peuvent être instanciées sur des serveurs qui vont être arrêtés ou
sur ceux qui vont rester actifs. Cela conduit à la perte d’instances de machines
virtuelles lorsqu’elles sont instanciées sur des serveurs arrêtés et peut mener
à des échecs de migration ou d’instanciation de machines virtuelles si les
serveurs restants ne disposent pas d’assez de ressources. Dans le cas d’un plan
de consolidation qui consiste à augmenter la puissance de calcul, des serveurs
physiques vont être redémarrés pour satisfaire les exigences des machines
virtuelles. Cependant lorsque, durant l’exécution, des machines virtuelles sont
arrêtées, les ressources fournies par les serveurs redémarrés peuvent ne plus
être nécessaires. Cela conduit à du gaspillage de ressources.
La charge de travail des applications hébergées dans un centre de données
varie tout au long de leur durée de vie. Cette variation influe sur les besoins en
ressources des applications. L’utilisation des gestionnaires comme self-sizing et
self-repair dans la gestion d’applications multi-tiers virtualisées peut mener à
des instanciations et des suppressions de machines virtuelles. Ces opérations
peuvent être entamées à tout moment. Par conséquent les incohérences décrites
ci-dessus peuvent être constatées lorsque des instances de self-sizing et de
self-repair coexistent avec un gestionnaire de consolidation. De plus entre les
instances de self-sizing et self-repair d’une application multi-tiers il peut y avoir
des incohérences (Section 5.2).
6.3 Conception de la coordination modulaire
Dans cette section, nous présentons les modèles des gestionnaires autonomes.
Puis, nous détaillons la spécification du contrôle des gestionnaires de manière
102modulaire et hiérarchique.
6.3.1 Modélisation des gestionnaires
Nous présentons des modèles des gestionnaires self-sizing et self-repair plus
simples et différents de ceux utilisés dans les chapitres précédents. Cependant
les mêmes propriétés de contrôle peuvent être appliquées et vérifiées sur ces
modèles.
6.3.1.1 Modélisation du gestionnaire self-sizing
U pdown
adding=False
Adding
adding=True
crm and u / rem
ca and o / add
na/
(add, rem, adding) = self_sizing (ca, crm, o, u, na)
FIGURE 6.1 – Modèle du gestionnaire self-sizing
La figure 6.1 modélise le gestionnaire self-sizing. Initialement dans l’état
Updown, le gestionnaire entame un retrait (rem à vrai) à l’occurrence d’une souscharge
(u à vrai) si l’action est autorisée (crm à vrai). Toujours dans l’état Updown,
le gestionnaire entame un ajout de serveur (add à vrai) à l’occurrence d’une
surcharge (o à vrai) et passe dans l’état Adding si l’opération d’ajout est autorisée
(ca à vrai). L’état Adding indique l’exécution de l’ajout du serveur. Dans cet
état le gestionnaire ne peut effectuer aucune autre opération. Il retourne à l’état
Updown à la fin de l’ajout indiquée par na à vrai. L’état courant du gestionnaire
est indiqué par la variable d’état adding.
1036.3. CONCEPTION DE LA COORDINATION MODULAIRE
Wait
repairing=False
Repair
repairing=True
nr and
cr and fail / rep
cr and fail / rep
nr and
not (cr and fail) /
(rep, repairing) = self_repair (cr, fail, nr)
FIGURE 6.2 – Modèle du gestionnaire self-repair
6.3.1.2 Modélisation du gestionnaire self-repair
La figure 6.2 représente le modèle du gestionnaire self-repair. Initialement
dans l’état Wait, le gestionnaire attend la détection d’une panne. A l’occurrence
d’une panne (fail à vrai), le gestionnaire entame la réparation de la panne (rep
à vrai) et passe dans l’état Repair si l’opération de réparation est autorisée (cr
à vrai). L’état Repair indique l’exécution de la réparation du serveur tombé en
panne. Dans cet état le gestionnaire ne peut effectuer aucune autre opération.
Une fois l’opération terminée, nr à vrai, s’il y a une autre panne, le gestionnaire
entame la réparation de la nouvelle panne si autorisée ; sinon il retourne dans
l’état Wait.
6.3.1.3 Modélisation du gestionnaire de consolidation
La figure 6.3 présente le modèle du gestionnaire de consolidation. L’automate
décrit le comportement et la contrôlabilité du gestionnaire. Dans l’état
Idle, l’état initial, l’occurrence de l’événement i indique la nécessité d’augmenter
la puissance de calcul. Le gestionnaire entame l’exécution du plan de
consolidation (si) si l’action est autorisée (ci est à vrai), sinon il se met en
attente d’autorisation (WaitI). Lorsque l’action est autorisée, le gestionnaire
exécute le plan de consolidation (I). L’occurrence de l’événement d indique la
nécessité de diminuer la puissance de calcul. Le gestionnaire entame l’exécution
du plan de consolidation (sd) si l’action est autorisée (cd est à vrai), sinon
104Idle WaitD
D
WaitI
I
i and not ci/
ci/si
i and ci/si
e/
d and not cd/
cd/sd
d and cd/ sd
e/
incr=False
decr=False
incr=False
decr=False
incr=False
decr=False
incr=False
decr=True
incr=True
decr=False
(si, sd, incr, decr) = consolidation (ci, cd, i, d, e)
FIGURE 6.3 – Modèle du gestionnaire de consolidation
il se met en attente d’autorisation (WaitD). Lorsque l’action est autorisée, le
gestionnaire exécute le plan de consolidation (D).
L’activité du gestionnaire est indiquée par les variables d’état Incr et Decr.
Incr est à vrai lorsque le gestionnaire exécute un plan de consolidation pour
augmenter la puissance de calcul. La variable Decr est, quant à elle, à vrai
lorsque le gestionnaire exécute un plan de consolidation pour diminuer la
puissance de calcul.
6.3.2 Spécification de la coordination
6.3.2.1 Stratégie de coordination
D’abord, nous définissons la stratégie de coordination des gestionnaires
d’une application multi-tiers qui permet d’éviter une administration incohérente.
Ensuite, nous définissons la stratégie de coordination des gestionnaires
des applications et du gestionnaire de consolidation.
– Au niveau application multi-tiers :
1. Au niveau d’un tier dupliqué, inhiber les ajouts quand une réparation
est en cours.
2. Dans un tier dupliqué avec aiguilleur de charge, inhiber les retraits
quand l’aiguilleur «load balancer» est en cours de réparation.
1056.3. CONCEPTION DE LA COORDINATION MODULAIRE
3. De manière plus générale, dans une application multi-tiers, inhiber
les retraits de serveurs dans un tier lorsqu’une réparation est en
cours dans un des tiers précédents.
– Au niveau centre de données :
1. Eviter de faire des ajouts ou des réparations pendant une opération
de consolidation.
2. Lorsque des instanciations de machines virtuelles (ajout/réparation)
ou des suppressions (retrait) sont en cours, attendre avant d’exécuter
un plan de consolidation.
6.3.2.2 Spécification du contrat
Les stratégies de coordination (section 6.3.2.1) sont décrites par les objectifs
de contrôle ci-dessous :
– Au niveau application multi-tiers :
1. M1 : not (repairing and add)
2. M2 : not (repairingL and rem)
3. M3 : not (repairingpred and remsucc)
– Au niveau centre de données :
1. DC1 : not ((Incr or Decr) and (repairing* or adding* or rem*))
2. DC2 :
not ( (repairing* or adding*) and sd) and not (rem* and si)
6.3.2.3 Synthèse monolithique
Nous avons effectué la spécification monolithique du contrôle afin d’évaluer
les avantages de l’approche modulaire.
Avec la spécification monolithique, le contrôle est centralisé au niveau du
modèle global, comme le montre la figure 6.4. Toutes les instances de mod-
èles des gestionnaires impliqués sont groupées dans un seul modèle global.
Tous les objectifs de contrôle sont définis sur le modèle global. De ce fait un
seul contrôleur est construit pour assurer les objectifs locaux et les objectifs
globaux. Cela peut être fastidieux et complexe quand plusieurs gestionnaires
sont considérés. La structure de cette coordination est présentée à la figure 6.10.
106(. . .) = Main_node (. . .)
enforce all contracts
with all controllable variables
(rep1
, repairing1
) = self_repair (c
0
1
, fail1, nr1);
. . .
(repN, repairingN) = self_repair (c
0
N
, failN, nrN);
(add1, rem1, adding1
) = self_sizing (ca1, . . .);
. . .
(addM, remM, addingM) = self_sizing (caM, . . .);
(si, sd, Incr, Decr) = consolidation (ci, cd, i, d, e);
FIGURE 6.4 – Synthèse monolithique
6.3.2.4 Synthèse modulaire
Avec l’approche modulaire, nous construisons un contrôle hiérarchique de
bas en haut. Nous construisons des modèles simples dans lesquels les objectifs
de "bas niveau" sont spécifiés et assurés par un contrôleur local. Puis nous ré-
utilisons ces modèles de contrôle dans la spécification de contrôle dans laquelle
les objectifs de plus "haut niveau" doivent être assurés en plus de ceux de "bas
niveau".
Repair Sizing
Coord-rep. tier
CtrlrM1
Repair Coord-rep. tier
Coord-lb-Rep. tier
CtrlrM2
Coord-lb-Rep. tier Coord-lb-Rep. tier
CtrlrM3
Multi-tiers System
FIGURE 6.5 – Réutilisation de modèles de contrôle
La figure 6.5 présente la réutilisation de modèle dans le cas du contrôle
d’une application multi-tiers. Nous construisons d’abord le modèle de contrôle
d’une instance de self-sizing et d’une instance de self-repair qui gèrent un
tier répliqué. Nous réutilisons ce modèle dans la construction du modèle de
contrôle d’une instance de self-repair pour la gestion de l’équilibreur de charge
placé en frontal d’un tier dupliqué, et l’instance de self-sizing et l’instance de
self-repair qui gèrent le tier dupliqué. Le modèle de contrôle d’une application
multi-tiers est construit en utilisant deux instances de ce modèle.
1076.3. CONCEPTION DE LA COORDINATION MODULAIRE
Tier dupliqué. Le modèle décrit à la figure 6.6 modélise la coordination d’une
instance du gestionnaire self-sizing et d’une instance du gestionnaire self-repair.
Ces instances de gestionnaires agissent sur le même tier dupliqué. Le contrat
associé au modèle est constitué de quatre objectifs. L’un des objectifs correspond
à la stratégie de coordination locale : (not (repairing and add)). Les autres
objectifs correspondent à l’application du contrôle reçu de l’extérieur via les
variables d’entrée cr0
, ca0
et crm0
.
(. . .) = coord_repl_tier (cr0
, fail, nr, ca0
, crm0
, o, u, na)
enforce (not (repairing and add))
and LongActions(cr0
, rep, repairing)
and LongActions(ca0
, add, adding)
and (crm0 or not rem)
with cr, ca, crm
(rep, repairing) = self_repair (cr, fail, nr);
(add, rem, adding) = self_sizing (ca, crm, o, u, na);
FIGURE 6.6 – Tier dupliqué
Tier dupliqué avec aiguilleur en frontal. Le modèle décrit à la figure 6.7
modélise la coordination d’une instance de self-repair pour la gestion de l’équilibreur
de charge placé en frontal d’un tier dupliqué, et l’instance de self-sizing
et l’instance de self-repair qui gèrent le tier dupliqué. Le modèle est composé
d’une instance du modèle du self-repair qui représente le gestionnaire chargé
de la réparation de l’aiguilleur de charge, et d’une instance du modèle de la
coordination décrite à la figure 6.6. Cette dernière est réutilisée pour la stratégie
de coordination du self-sizing et du self-repair du tier dupliqué. Elle est composée
avec une instance du modèle du self-repair qui représente le self-repair
qui gère la réparation de l’équilibreur de charge. La stratégie de coordination
locale à assurer est : not (repairingL and remove) et l’application du contrôle
externe.
Multi-tiers. La figure 6.8 présente le modèle de coordination des gestionnaires
qui gèrent les différents tiers. Ce modèle est composé de deux instances du
modèle présenté à la figure 6.7.
108(. . .) = coord_lb_repl_tier (cL0
, failL, nrL, c
0
, fail, nr, ca0
, crm0
, o, u, na)
enforce (not (repairingL and rem))
and LongActions(cL0
, repL, repairingL)
and LongActions(c
0
, rep, repairing)
and LongActions(ca0
, add, adding)
and (crm0 or not rem)
with cL, c, ca, crm
(repL, repairingL) = self_repair (cL, failL, nrL);
(rep, repairing, add, rem, adding) = coord_repl_tier (c, fail, nr, ca, crm, o, u, na);
FIGURE 6.7 – Tier dupliqué avec aiguilleur en frontal
(. . .) = coord_appli (cL0
1
, failL1, nrL1, c
0
1
, fail1, nr1, ca0
1
, crm0
1
, o1, u1, na1)
cL0
2
, failL2, nrL2, c
0
2
, fail2, nr2, ca0
2
, crm0
2
, o2, u2, na2)
enforce (not ((repairingL1 or repairing1
) and rem2))
and LongActions(cL0
i
, repLi
, repairingLi
)
and LongActions(c
0
i
, repi
, repairingi
)
and LongActions(ca0
i
, addi
, addingi
)
and (crm0
i
or not remi)
i = 1, 2
with cL1, c1, ca1, crm1, cL2, c2, ca2, crm2
(repL1
, repairingL1
, rep1
, repairing1
, add1, rem1, adding1
)
= coord_lb_repl_tier (cL1, failL1, nrL1, c1, fail1, nr1, ca1, crm1, o1, u1, na1);
(repL2
, repairingL2
, rep2
, repairing2
, add2, rem2, adding2
)
= coord_lb_repl_tier (cL2, failL2, nrL2, c2, fail2, nr2, ca2, crm2, o2, u2, na2);
FIGURE 6.8 – Multi-tiers
La stratégie de coordination consiste à empêcher un retrait de serveurs. Ceci
est exprimé comme suit : (not ((repairingL1 or repairing1) and rem2))
Centre de données. La coordination de l’ensemble des gestionnaires présents
dans un centre de données est construite progressivement de manière hiérarchique.
La figure 6.9 présente le modèle de coordination des gestionnaires de
deux applications multi-tiers et du gestionnaire de consolidation. Le modèle de
contrôle est composé du modèle du gestionnaire de consolidation et de deux
instances du modèle de contrôle des gestionnaires d’une application multi-tiers.
A ce niveau le contrat ne contient que les objectifs qui concernent le centre
de données. A partir de ce modèle, la coordination du gestionnaire de consolidation
et des gestionnaires des autres applications peut être construite en
1096.3. CONCEPTION DE LA COORDINATION MODULAIRE
composant ce modèle avec une instance du modèle 6.8. Le modèle résultant sera
composé avec une autre instance du modèle 6.8 et ainsi de suite. Cela permet
une spécification hiérarchique du contrôle du gestionnaire de consolidation et
des gestionnaires d’un nombre N d’applications multi-tiers.
Cependant cet exemple démontre le passage à l’échelle de l’approche modulaire
sachant que les applications au niveau d’un centre de données sont
dynamiques. Certaines peuvent être déployées ou arrêtées à tout moment au
quel cas il faudrait envisager des ajouts et suppressions de modèles de gestionnaires
au niveau du modèle global. Mais ce comportement n’est pas considéré
dans le modèle de contrôle décrit dans ce travail.
(. . .) = two_appli_in_data_center (. . .)
enforce (not ((Incr or Decr) and (repairingij or addingij or remij))
and (not ((repairingij or addingij) and sd) and not (remij and si))
and LongActions(cL0
ij, repLij, repairingLij)
and LongActions(c
0
ij, repij, repairingij)
and LongActions(ca0
ij, addij, addingij)
and (crm0
ij or not remij))
i = 1, 2; j = 1..2
with cL11, c11, . . . , crm22, ci, cd
(. . .) = coord_appli (cL11, c11, ca11, crm11, . . . , cL21, c21, ca21, crm21, . . .)
(. . .) = coord_appli (cL12, c12, ca12, crm12, . . . , cL22, c22, ca22, crm22, . . .)
(si, sd, Incr, Decr) = consolidation (ci, cd, i, d, e);
FIGURE 6.9 – Centre de données avec deux applications multi-tiers.
Repair
Apache
Repair Sizing
Tomcat repl. tier
Repair
Proxy
Repair Sizing
MySQL repl. tier
Application2
Conso
Dc.conso
Ctrlr
FIGURE 6.10 – Conception monolithique de la coordination
110Repair
Apache
Repair Sizing
Tomcat repl. tier
CtrlrM1
CtrlrM2
Repair
Proxy
Repair Sizing
MySQL repl. tier
CtrlrM1
CtrlrM2
CtrlrM3
Application2
Conso
Dc.conso
CtrlrDC
FIGURE 6.11 – Conception modulaire de la coordination
6.3.2.5 Comparaison
Les avantages de l’approche modulaire peuvent être considérés en terme
de spécification et de coûts. L’approche modulaire permet une spécification
décentralisée et hiérarchique du contrôle ; au lieu d’une spécification centralisée
– le cas monolithique comme le montre la figure 6.10 – dans laquelle tous les
automates sont d’un côté, et tous les contrats de l’autre côté. L’approche modulaire
simplifie la spécification de contrôle d’un système large par la réutilisation
de modèles dans des contextes différents. Cela améliore également la lisibilité
de la spécification et facilite les modifications.
nb. Durée de la synthèse Utilisation de la mémoire
app. monolithique modulaire monolithique modulaire
1 0s 5s - -
2 49s 11s - -
3 42m24s 24s 34.81MB -
4 > 2 days 1m22s >149,56MB -
5 - 4m30s - 20,37MB
6 - 13m24s - 53,31MB
7 - 25m57s - 77,50MB
8 - 50m36s - 115,59MB
9 - 2h11m - 236,59MB
10 - 9h4m - 479,15MB
TABLE 6.1 – SCD : durée de la synthèse et la mémoire utilisée
1116.4. EXPÉRIMENTATIONS
Nous avons effectué une étude comparative des approches monolithique
et modulaire en ce qui concerne la complexité combinatoire de synthèse de
contrôleur et les coûts (CPU et mémoire) de la compilation des contrôleurs pour
différentes tailles de système (c’est à dire, un nombre variable d’applications).
Les résultats présentés par le tableau 6.1 montrent que pour un petit nombre
d’applications, l’utilisation de la mémoire n’est pas très significative, et la
durée de la compilation est relativement acceptable. Cependant à partir de
quatre applications, l’approche monolithique atteint les limites de l’explosion
combinatoire des techniques d’exploration d’espace d’états. Le calcul n’est pas
terminé après plus de deux jours. L’approche modulaire présente de meilleurs
résultats même si les coûts continuent à croitre quand le nombre d’applications
augmente. Nous constatons que l’approche monolithique est exponentiellement
coûteuse, alors que l’approche modulaire continue à produire des résultats,
montrant ainsi la possibilité d’adresser de larges systèmes.
Cependant, bien que le tableau 6.1 montre la durée totale de la compilation,
en ce qui concerne la synthèse modulaire, la synthèse de la logique de contrôle
de chaque contrat est effectuée de façon indépendante. Un modèle constitué
d’un ensemble de modèles équipés d’un contrat ne requiert que la spécification
du contrat défini dans les modèles pour la synthèse de la logique de contrôle. De
ce fait la compilation des différents modèles peut être exécutée en parallèle ce
qui réduit la durée totale de synthèse de l’ensemble des logiques de contrôle à
intégrer dans les modèles. De plus, la recompilation d’un modèle est nécessaire
uniquement lorsque son interface (entrées, sorties) et son contrat sont modifiés,
ou bien ceux des sous-modèles qu’il utilise ; sinon, il peut être réutilisé tel quel.
6.4 Expérimentations
Nous avons réalisé des expérimentations pour le contrôle de deux applications
dans notre centre de données expérimental.
6.4.1 Configuration
Notre centre de données expérimental est constitué d’un serveur de données
et de six serveurs ESXi 5.1.0. Le serveur de données est muni de 24 CPU de
1121.9Ghz, 63Go de mémoire et 12To de disque. Quatre des serveurs ESXi sont
munis de 8 CPU de 2.4Ghz, 32Go de mémoire et 926Go de disque. Un serveur
des serveurs ESXi est muni de 12 CPU de 2.4Ghz, 32Go de mémoire et 558Go
de disque. Le dernier serveur ESXi est muni de 12 CPU de 1.89Ghz, 160Go
de mémoire et 2.73To de disque. Nous avons utilisé des machines virtuelles
munies de 1 vCPU, 2Go de mémoire et 8Go de disque.
6.4.2 Évaluation
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
CPU load (%)
nbre Tomcat - nbre Mysql
time (minute)
Tomcats CPU Avg
Mysqls CPU Avg
Active Tomcats
Active Mysqls
Apache failure
FIGURE 6.12 – Exécution non coordonnée : app 1 : Panne Apache
Les figures 6.12 et 6.13 présentent une exécution durant laquelle une panne
s’est produite sur chaque application. Les gestionnaires des applications ne
sont pas coordonnés. Sur la figure 6.12, il s’agit d’une panne du serveur Apache
qui s’est produite 17 minutes après le début de l’expérimentation. La panne
a conduit à un retrait de serveurs au niveau des tiers Tomcat et Mysql à cause
d’une sous-charge. Cependant après la réparation du serveur Apache, le degré
de réplication des tiers Tomcat et Mysql est restauré (21 min and 28 min).
Sur la figure 6.13, il s’agit d’une panne d’un serveur Tomcat produite 19
minutes après le début. Cette panne a conduit au retrait d’un serveur Mysql qui
1136.4. EXPÉRIMENTATIONS
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
CPU load (%)
nbre Tomcat - nbre Mysql
time (minute)
Tomcats CPU Avg
Mysqls CPU Avg
Active Tomcats
Active Mysqls
Tomcat failure
FIGURE 6.13 – Exécution non coordonnée : app 2 : Panne Tomcat
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
CPU load (%)
nbre Tomcat - nbre Mysql
time (minute)
Tomcats CPU Avg
Mysqls CPU Avg
active Tomcats
Active Mysqls
Apache failure
FIGURE 6.14 – Exécution coordonnée : app 1 : Panne Apache
114 0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
CPU load (%)
nbre Tomcat - nbre Mysql
time (minute)
Tomcats CPU Avg
Mysqls CPU Avg
Active Tomcats
Active Mysqls
Tomcat failure
FIGURE 6.15 – Exécution coordonnée : app 2 : Panne Tomcat
a été rajouté après la réparation de la panne (25 min).
Les figures 6.14 et 6.15 présentent une exécution similaire durant laquelle les
gestionnaires des deux applications sont coordonnées. Durant cette exécution,
la panne du serveur Apache, 20 minutes après le début, conduit à une souscharge
au niveau des tiers Tomcat et Mysql ; mais aucun serveur n’est arrêté au
niveau de ces tiers comme le montre la figure 6.14. De même, sur la figure 6.15,
après la panne d’un serveur Tomcat survenue 17 minutes après le début, il y
a une sous-charge au niveau du tier Mysql ; mais aucun serveur n’est arrêté.
On remarque également que la charge moyenne des serveurs Tomcat, observée
après la panne, excède le seuil maximal (90%) ; mais là aussi aucun serveur
Tomcat n’est rajouté.
6.5 Conclusion
Les contrôleurs de coordination, obtenus avec la spécification modulaire,
assurent le respect des objectifs de coordination définis. Chaque contrôleur,
1156.5. CONCLUSION
dans la hiérarchie de contrôleurs, assure de manière cohérente le respect de
la stratégie de coordination qu’il gère. Les contrôleurs de niveau supérieur
assurent les objectifs globaux en appliquant un contrôle sur les contrôleurs
sous-jacents.
Toutefois le code généré est structuré pour être exécuté de manière centralisée.
Dans le chapitre suivant, nous étudions comment nous pouvons restructurer
la hiérarchie de contrôleurs afin de pouvoir l’exécuter de manière
distribuée.
1167
Exécution distribuée des contrôleurs
modulaires
Contents
7.1 Exécution distribuée de contrôleurs . . . . . . . . . . . . . . . 119
7.1.1 Exécution distribuée synchronisée . . . . . . . . . . . . 119
7.1.1.1 Principe . . . . . . . . . . . . . . . . . . . . . . 120
7.1.1.2 Implémentation . . . . . . . . . . . . . . . . . 120
7.1.2 Exécution distribuée désynchronisée . . . . . . . . . . . 122
7.1.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . 122
7.1.2.2 Implémentation . . . . . . . . . . . . . . . . . 123
7.2 Exemple : Gestion d’une application multi-tiers . . . . . . . . 124
7.2.1 Exécution distribuée totalement synchronisée . . . . . 124
7.2.1.1 Modélisation . . . . . . . . . . . . . . . . . . . 124
7.2.1.2 Décomposition . . . . . . . . . . . . . . . . . . 125
7.2.2 Exécution distribuée partiellement synchronisée . . . . 126
7.2.2.1 Modélisation . . . . . . . . . . . . . . . . . . . 126
7.2.2.2 Décomposition . . . . . . . . . . . . . . . . . . 129
7.2.3 Exécution distribuée désynchronisée . . . . . . . . . . . 130
7.2.3.1 Modélisation . . . . . . . . . . . . . . . . . . . 130
7.2.3.2 Décomposition . . . . . . . . . . . . . . . . . . 131
7.2.4 Comparaison . . . . . . . . . . . . . . . . . . . . . . . . 132
7.3 Expérimentation . . . . . . . . . . . . . . . . . . . . . . . . . . 133
1177.3.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . 133
7.3.2 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.3.2.1 Durée de reconfiguration . . . . . . . . . . . . 133
7.3.2.2 Atteinte des objectifs de contrôle . . . . . . . 134
7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
La compilation d’une spécification modulaire produit une hiérarchie de
contrôleurs. Chaque contrôleur est implémenté dans un programme distinct,
e.g., une classe Java. Cependant, l’ensemble est structuré pour être exécuté de
manière centralisée par défaut.
-step
-reset
-constructor
step
-step
-reset
-constructor
step
-step
-reset
-constructor
Main
step
FIGURE 7.1 – Structure à l’exécution : Objet Java
A l’exécution, le contrôleur de plus haut niveau, contrôleur principal, instancie
localement les contrôleurs sous-jacents sur lesquels il agit directement
par appel de méthode. Ces derniers instancient ceux sur lesquels ils agissent et
ainsi de suite. Cela est illustré à la figure 7.1. Toutefois, l’exécution centralisée
présente des désavantages. Par exemple, en cas de défaillance, aucun contrôle,
même partiel, ne peut être réalisé tant que la restauration n’est pas effectuée.
118L’exécution distribuée des contrôleurs peut permettre d’éviter d’avoir un seul
point potentiel de défaillance.
L’exécution distribuée d’une hiérarchie de contrôleurs peut permettre d’assurer
un contrôle partiel en cas de défaillance. Lorsqu’un sous-ensemble des
contrôleurs tombe en panne, les autres peuvent toujours assurer leurs objectifs
locaux. De plus, lorsque le système à contrôler est large et réparti sur plusieurs
sites, les contrôleurs peuvent être placés à proximité des sites qu’ils administrent.
Cela réduit les délais de transmission des données de surveillance
mesurées par les capteurs, ainsi que les délais de transmission des actions à
appliquer par les actionneurs. Placer les contrôleurs à proximité des sites qu’ils
administrent peut permettre de réduire les délais de réactivité par rapport à
l’exécution centralisée.
Dans ce chapitre, nous allons étudier comment le code obtenu d’une spécifi-
cation modulaire peut être restructuré pour l’exécuter de manière distribuée.
Une exécution distribuée d’une hiérarchie de contrôleurs nécessite, au moins,
que certains des contrôleurs soient instanciés de manière indépendante du
contrôleur de haut niveau. Nous verrons dans ce chapitre trois approches
d’exécution distribuée : totalement synchronisée, partiellement synchronisée,
et désynchronisée.
7.1 Exécution distribuée de contrôleurs
Pour démontrer la possibilité d’exécuter de manière distribuée une hiérarchie
de contrôleurs, nous supposons que le réseau est fiable. Nous supposons
également qu’à l’exécution, ni les contrôleurs ni les machines qui les hébergent
ne tombent en panne.
7.1.1 Exécution distribuée synchronisée
Comme le montre la figure 7.1, dans l’exécution centralisée, le contrôleur de
plus haut niveau instancie les contrôleurs sous-jacents qu’il utilise pour assurer
ses objectifs. Ces derniers sont locaux à celui-ci. Pour exécuter de manière
distribuée une hiérarchie de contrôleurs, par exemple, les contrôleurs sous-
1197.1. EXÉCUTION DISTRIBUÉE DE CONTRÔLEURS
jacents au contrôleur de plus haut niveau (contrôleur principal) doivent être
instanciés en dehors de ce dernier. Au niveau de celui-ci, cela nécessite la
modification des appels locaux des méthodes step et reset des contrôleurs sousjacents.
7.1.1.1 Principe
Les modifications à effectuer n’affectent pas l’implémentation des méthodes
step et reset des contrôleurs. Par exemple, au niveau du contrôleur principal,
les appels locaux des méthodes step et reset des sous-contrôleurs doivent simplement
être remplacés par des appels distants. L’appel local de la méthode
reset des sous-contrôleurs dans le contrôleur principal est implémenté dans
la méthode reset de ce dernier. Étant donné que l’appel d’une méthode reset
ne retourne pas de résultat, pour l’exécution distribuée, il suffit simplement
de remplacer le code qui implémente l’appel local par celui qui implémente
l’appel distant. Le même procédé est utilisé pour la modification de l’appel de
la méthode step des sous-contrôleurs à exécuter de manière distribuée. L’appel
d’une méthode step retourne un résultat. Toutefois, une structure de données
est définie pour contenir le résultat. De ce fait cette même structure peut être
utilisée sans modification.
Le code qui instancie localement les sous-contrôleurs dans le contrôleur
principal doit également être remplacé par le code qui permet d’obtenir les
références de ces derniers exécutés à distance. Ces références vont permettre
de faire les appels distants. L’implémentation de l’exécution distribuée peut
être effectuée de différentes manières. L’approche Message Queuing peut être
utilisée, ou bien Java-rmi.
7.1.1.2 Implémentation
Nous utilisons Java-rmi pour montrer comment restructurer le code. Avec
Java-rmi les modifications à effectuer sont simples puisque les objets instances
locales de contrôleurs sont simplement transformés en références d’instances
de contrôleurs distants. Ces références sont manipulées (appel des méthodes)
de la même manière que des objets locaux.
La figure 7.2 représente la transformation du schéma d’exécution centralisée
120-step
-reset
-constructor
step
-step
-reset
-step
-reset
-step
-reset
-constructor
Main
step
-step
-reset
-constructor
step
RMI
FIGURE 7.2 – Exécution distribuée synchronisée avec Java rmi
présenté dans la figure 7.1 pour une exécution distribuée synchronisée. Les
trois contrôleurs sont exécutés sont trois sites distincts. Le contrôleur principal,
au centre, ne manipule pas des objets instances de contrôleurs. Il manipule des
objets références d’instances de contrôleurs distants. C’est à travers ces objets
références qu’il fait l’appel des méthodes des instances des sous-contrôleurs.
Pour implémenter l’exécution distribuée avec Java-rmi, il faut définir une
interface de type RemoteInterface pour chaque contrôleur. L’interface d’un contrôleur
contient au moins la signature des méthodes step et reset accessibles
à distance. L’implémentation des interfaces n’implique aucune modification
des méthodes des contrôleurs. De plus, il faut enregistrer les objets instances
des contrôleurs dans le rmiregistry. L’implémentation en Java d’un contrôleur
contient un constructeur et les méthodes step et reset. Le code qui permet l’enregistrement
d’un contrôleur dans le rmiregistry peut être ajouté dans le constructeur.
Au niveau du contrôleur principal, par exemple, les objets instances
des contrôleurs sous-jacents sont déclarés comme attributs et instanciés dans
son constructeur. Ici, le type de chaque objet instance d’un contrôleur doit être
remplacé par le type de l’interface du contrôleur. De plus, le code qui instancie
les sous-contrôleurs doit être remplacé par le code qui récupère, à travers
1217.1. EXÉCUTION DISTRIBUÉE DE CONTRÔLEURS
rmiregistry, les références des contrôleurs distants correspondants. Avec Javarmi,
l’appel des méthodes step (resp. reset) des contrôleurs distants ne changent
pas puisque les objets références sont manipulés comme des objets locaux. La
communication distribuée est gérée par Java-rmi.
7.1.2 Exécution distribuée désynchronisée
Une spécification modulaire peut être adaptée pour obtenir un ensemble
de contrôleurs à exécuter de manière distribuée désynchronisée. Dans ce cas,
il n’y a pas de contrôleur principal pour assurer la synchronisation et pour
orchestrer le contrôle global. Chaque contrôleur distant évolue à son rythme
et reçoit les entrées concernant le sous-ensemble qu’il gère. Les contrôleurs
distants assurent le contrôle global par échange de valeurs de contrôle de
manière asynchrone. L’avantage de cette approche est le fait qu’il n’y ait aucune
synchronisation entre les contrôleurs ce qui accroît leur réactivité.
7.1.2.1 Principe
Généralement une spécification modulaire produit une hiérarchie de contrôleurs
avec un contrôleur principal qui assure le contrat global. Chacun des
contrôleurs dans la hiérarchie assure un contrat local au sous-système qu’il
contrôle. Ici, il s’agit de supprimer le contrôleur principal et de conserver les
contrôleurs sous-jacents. Ces derniers vont assurer le contrat global par échange
de valeurs de contrôle de manière asynchrone. La communication asynchrone
est modélisée pour décrire les propriétés pertinentes du système de communication.
Cela permettra, à la compilation, de vérifier si le contrat global est respecté
en considérant les propriétés du système de communication. Cette méthode
permet la modélisation d’un système localement synchrone et globalement
asynchrone (GALS). Les étapes de conception sont décrites ci-dessous :
1. Nous modélisons le contrôleur de chaque sous-système. Cela correspond
au modèle du sous-système auquel on associe un contrat contenant les
objectifs de contrôle.
2. Nous modélisons ensuite le système de communication asynchrone utilisé
pour la transmission de valeurs de contrôle.
1223. Ces différents modèles sont composés pour représenter le système global.
Nous déclarons le contrat global, avec les objectifs globaux mais sans
variable contrôlable. A la compilation du modèle global, le contrat est
vérifié par model-checking. Aucun contrôleur n’est construit pour le modèle
global.
4. Pour l’exécution, le code correspondant au modèle global, ainsi que le
code correspondant au modèle du système de communication ne sont
pas utilisés. Le code des contrôleurs contenus dans le modèle global est
utilisé, ainsi que le système réel pour la communication pour la mise en
oeuvre des échanges de valeurs de contrôle.
7.1.2.2 Implémentation
L’implémentation de l’exécution distribuée désynchronisée n’implique aucune
modification au niveau du code des contrôleurs. Ces derniers n’ont aucune
référence locale les uns des autres. Un contrôleur reçoit les valeurs de contrôle
d’un autre contrôleur comme entrées de sa méthode step. De plus, les valeurs de
contrôle qu’il transmet sont contenues dans le résultat retourné par sa méthode
step. De ce fait l’ajout du code pour la publication et/ou la réception des valeurs
de contrôle à échanger ne nécessite pas de modification de l’implémentation des
contrôleurs. Ce code peut même être placé ailleurs, par exemple dans le code
qui fait l’appel de la méthode step. Nous utilisons l’approche Message Queuing
pour montrer comment implémenter une exécution distribuée désynchronisée.
La figure 7.3 représente la transformation du schéma d’exécution centralisée
présenté dans la figure 7.1 pour une exécution distribuée désynchronisée. Ici,
le contrôle principal n’existe plus et il n’y a aucune synchronisation des step
des contrôleurs. Ces derniers sont indépendants et chacun évolue à son propre
rythme dicté par les événements survenus dans le sous-système qu’il gère.
Pour l’échange de message, nous utilisons un type de serveur de messages,
RabbitMQ. Ce type de serveur permet de définir des supports d’échange, Topic,
où des messages sont publiés. L’abonnement à un Topic permet de recevoir les
messages publiés dedans. Chaque contrôleur publie ses valeurs de contrôle et
s’abonne pour recevoir les valeurs de contrôle de son vis-à-vis, dans l’exemple
présenté à la figure 7.3.
1237.2. EXEMPLE: GESTION D’UNE APPLICATION MULTI-TIERS
-step
-reset
-constructor
step
-step
-reset
-constructor
step
Message
Queuing
Server
Pub(c) Pub(c
0
)
Rec(c Rec(c)
0
)
FIGURE 7.3 – Exécution distribuée désynchronisée avec Message Queuing
7.2 Exemple : Gestion d’une application multi-tiers
Cette section présente une application des approches pour l’exécution distribuée
synchronisée et l’exécution distribuée désynchronisée. Nous consid-
érons l’exemple de coordination modulaire des gestionnaires de l’application
multi-tiers présentée dans le chapitre précédent. La conception de la coordination
modulaire est présentée à la section 6.3.2.4. Ci-dessous nous présentons la
transformation à faire sur le code obtenu pour l’exécuter de manière distribuée.
7.2.1 Exécution distribuée totalement synchronisée
Pour l’exécution distribuée totalement synchronisée, la spécification modulaire
présentée à la section 6.3.2.4 ne nécessite aucune modification. Elle est
réutilisée telle quelle.
7.2.1.1 Modélisation
Nous réutilisons la spécification modulaire de la coordination des gestionnaires
self-sizing et self-repair décrite à la section 6.3.2.4 telle quelle. La figure 7.4
124Repair
Apache
Repair Sizing
Tomcat repl. tier
CtrlrM1
CtrlrM2
Repair
Proxy
Repair Sizing
MySQL repl. tier
CtrlrM1
CtrlrM2
CtrlrM3
FIGURE 7.4 – Spécification modulaire
montre la structure de la spécification modulaire.
7.2.1.2 Décomposition
La compilation du modèle décrit à la figure 7.4 produit une hiérarchie de
contrôleurs : CtrlrM1, CtrlrM2 et CtrlrM3. A l’exécution centralisée, le contrôleur
principal CtrlrM3 instancie les contrôleurs CtrlrM2. Chaque contrôleur CtrlrM2
instancie un contrôleur CtrlrM1.
Repair
Apache
Repair Sizing
Tomcat repl. tier
Repair
Proxy
Repair Sizing
MySQL repl. tier
CtrlrM1
CtrlrM2
CtrlrM1
CtrlrM2
CtrlrM3
(o1, na1, u1, ..., f L2, f2, o2, na2)
(repL1,rep1, add1,rem1) (repL2,rep2, add2,rem2)
s
(c, ...)
s
0
(c
0
, ...)
FIGURE 7.5 – Exécution distribuée totalement synchronisée
1257.2. EXEMPLE: GESTION D’UNE APPLICATION MULTI-TIERS
Ici, nous décomposons le code en trois parties à exécuter sur des machines
différentes comme le montre la figure 7.5. Les contrôleurs CtrlrM1 sont locaux
aux contrôleurs CtrlrM2. Sur cet exemple, l’exécution distribuée obtenue est
totalement synchronisée. En effet toutes les entrées sont reçues par le contrôleur
CtrlrM3. Ce dernier, distribue les entrées reçues aux autres contrôleurs avec
ses restrictions pour respecter son contrat. Une fois qu’il a calculé les valeurs
de contrôle, il appelle la méthode step des contrôleurs CtrlrM2 distants. Ces
derniers vont, eux aussi, appliquer des restrictions pour atteindre leurs objectifs.
L’appel des méthodes step est bloquant et totalement synchronisé.
7.2.2 Exécution distribuée partiellement synchronisée
Pour obtenir une exécution distribuée partiellement synchronisée, il faut distinguer
les entrées nécessaires au contrôleur principal CtrlrM3 pour réaliser son
contrôle. Cela permet de ne transmettre à ce dernier que les entrées dont il a besoin.
Les autres entrées seront directement transmises aux contrôleurs CtrlrM2.
De manière générale, il faut distinguer pour chaque entrée, le contrôleur de
haut niveau qui doit la traiter en premier.
7.2.2.1 Modélisation
Pour une exécution partiellement synchronisée, les entrées qui ne sont pas
nécessaires au contrôleur de haut niveau, par exemple CtrlrM3, sont directement
transmises aux contrôleurs qui les traitent, par exemple CtrlrM2. Toutefois
les contrats associés aux contrôleurs ne changent pas. Le code obtenu de la
spécification décrite à la figure 7.4 peut être adapté pour une exécution distribuée
partiellement synchronisée. Une approche est d’affecter une valeur
par défaut aux entrées que le contrôle principal ne traitent pas lors de l’appel
de sa méthode step. Les vraies valeurs de ces entrées seront transmises aux
contrôleurs CtrlrM2 qui les traitent.
Une autre approche est de modifier la spécification des contrôleurs pour
n’avoir que les entrées de contrôle comme arguments de leur méthode step.
Les autres entrées sont récupérées dans la méthode step via des appels de
fonctions externes. Le langage Heptagon/BZR, tout comme les autres langages
synchrones, permet d’appeler des fonctions externes dans la définition d’un
126automate. Pour utiliser les fonctions externes, nous définissons un module qui
fournit les signatures de ces dernières. Dans la suite, nous utilisons le terme
«System» comme nom du module.
Tier dupliqué.
(. . .) = coord_repl_tier (cr0
, ca0
, crm0
)
enforce (not (repairing and add))
and LongActions(cr0
, rep, repairing)
and LongActions(ca0
, add, adding)
and (crm0 or not rem)
with cr, ca, crm
fail = System.failure ();
nr = System.repaired ();
o = System.overload ();
na = System.added ();
u = System.underload ();
(rep, repairing) = self_repair (cr, fail, nr);
(add, rem, adding) = self_sizing (ca, crm, o, u, na);
FIGURE 7.6 – Tier dupliqué
La figure 7.6 correspond au modèle de coordination d’un gestionnaire selfsizing
et un gestionnaire self-repair pour un tier dupliqué. Ici les événements
en entrée sont récupérées via les fonctions externes « System.* ». Ces dernières
sont implémentées en dehors du modèle. Chaque fonction externe retourne
un booléen qui correspond à la valeur courante de l’événement qu’elle traite.
Par exemple System.overload retourne vrai lorsqu’une sur-charge est détectée,
sinon elle retourne faux. Cependant ce modèle expose les entrées de contrôle
qui permettent sa réutilisation et d’inhiber les actions des gestionnaires.
Tier dupliqué avec aiguilleur de charge en frontal.
La figure 7.7 correspond au modèle de coordination de deux gestionnaires
self-repair et un gestionnaire self-sizing pour un tier dupliqué avec un aiguilleur
en frontal. Le modèle dans la figure 7.6 est réutilisé pour la construction de la
hiérarchie. Toutefois, ici toutes les entrées ne sont pas transmises au modèle
dans la figure 7.7.
1277.2. EXEMPLE: GESTION D’UNE APPLICATION MULTI-TIERS
(. . .) = coord_lb_repl_tier (cL0
, c
0
, ca0
, crm0
)
enforce (not (repairingL and rem))
and LongActions(cL0
, repL, repairingL)
and LongActions(c
0
, rep, repairing)
and LongActions(ca0
, add, adding)
and (crm0 or not rem)
with cL, c, ca, crm
failL = System.failureLb ();
nrL = System.repairedLb ();
(repL, repairingL) = self_repair (cL, failL, nrL);
FIGURE 7.7 – Tier dupliqué avec aiguilleur en frontal
Multi-tiers.
(. . .) = coord_multitier (cL0
1
, c
0
1
, ca0
1
, crm0
1
, cL0
2
, c
0
2
, ca0
2
, crm0
2
)
enforce (not ((repairingL1 or repairing1
) and rem2))
and LongActions(cL0
i
, repLi
, repairingLi
)
and LongActions(c
0
i
, repi
, repairingi
)
and LongActions(ca0
i
, addi
, addingi
)
and (crm0
i
or not remi)
i = 1, 2
with cL1, c1, ca1, crm1, cL2, c2, ca2, crm2
(repL1
, repairingL1
, rep1
, repairing1
, add1, rem1, adding1
)
= coord_lb_repl_tier (cL1, c1, ca1, crm1);
(repL2
, repairingL2
, rep2
, repairing2
, add2, rem2, adding2
)
= coord_lb_repl_tier (cL2, c2, ca2, crm2);
FIGURE 7.8 – Multi-tiers
La figure 7.8 correspond au modèle de coordination de l’application multitiers.
Ce dernier modèle ne reçoit aucun événement. Ses objectifs de contrôle
sont définis sur les sorties des contrôleurs sous-jacents.
Dans cet exemple, seules les entrées de contrôle et les sorties sont utilisées
pour exprimer les objectifs. De ce fait, toutes les autres entrées peuvent être
récupérées via des appels de fonctions dans les méthodes step. Cependant,
lorsque ces dernières sont utiles dans la déclaration des objectifs, il est nécessaire
qu’elles soient reçues comme entrées de la méthode step pour pouvoir appliquer
128la synthèse de contrôleur.
Dans tous les cas, il faut distinguer les entrées qui nécessitent l’appel de
la méthode step, ici, du contrôleur CtrlrM3. Dans cet exemple, ces entrées
sont : failL1 (panne Apache), nrL1 (Apache réparé), failL1 (panne Tomcat),
nr1 (Tomcat réparé), u2 (sous-charge Mysql).
7.2.2.2 Décomposition
La compilation donne la même hiérarchie de contrôleurs que celle obtenue
avec la coordination totalement synchronisée. Chacun des contrôleurs assure le
respect des mêmes objectifs que son vis-à-vis dans la coordination totalement
synchronisée.
Repair
Apache
Repair Sizing
Tomcat repl. tier
Repair
Proxy
Repair Sizing
MySQL repl. tier
CtrlrM1
CtrlrM2
CtrlrM1
CtrlrM2
CtrlrM3
(f L1, nrL1, f1, nr1, u2)
(o1, na1, u1) (repL1,rep1, add1,rem1) (f L2, nrL2, f2, nr2, o2, na2) (repL2,rep2, add2,rem2)
s
(c, ...)
s
0
(c
0
, u2)
FIGURE 7.9 – Exécution distribuée partiellement synchronisée
Cependant, comme le montre la figure 7.9, le contrôleur principal CtrlrM3 et
les deux CtrlrM2 reçoivent, chacun, une partie des entrées. De ce fait, les step
sont partiellement synchronisés. Le contrôleur CtrlrM3 n’initie la synchronisation
que pour le respect de l’objectif global. Les entrées qui ne concernent pas
le contrat du contrôleur CtrlrM3 sont transmises directement aux contrôleurs
CtrlrM2 qui les traitent. Chaque contrôleur CtrlrM2 évolue à son propre rythme
en fonction de l’occurrence des entrées qu’il traite sans l’intervention du
1297.2. EXEMPLE: GESTION D’UNE APPLICATION MULTI-TIERS
contrôleur CtrlrM3. Ces entrées (failL1, nrL1, fail1, nr1, u2) sont transmises
au contrôleur CtrlrM3 qui calcule ses valeurs de contrôle. Ensuite, il appelle
les méthodes step des contrôleurs CtrlrM2, avec ses valeurs de contrôle. Ces
derniers conservent les valeurs de contrôle reçues du contrôleur principal
jusqu’à la prochaine synchronisation.
7.2.3 Exécution distribuée désynchronisée
Pour l’exécution distribuée désynchronisée, le contrat qui est défini dans
le modèle global est assuré par les contrôleurs CtrlrM2. Dans la coordination
modulaire synchronisée, ce contrat est assuré par le contrôleur CtrlrM3.
7.2.3.1 Modélisation
Repair
Apache
Repair Sizing
Tomcat repl. tier
CtrlrM1
CtrlrM2
Repair
Proxy
Repair Sizing
MySQL repl. tier
CtrlrM1
CtrlrM2
Communication
Veri f ication(model − checking)
FIGURE 7.10 – Coordination modulaire désynchronisée
La figure 7.10 présente la structure de la spécification de la coordination
modulaire désynchronisée. Dans cet exemple seul le modèle global change. Le
modèle de communication asynchrone entre les deux sous-ensembles est ajouté.
Les contrats définis pour les contrôleurs CtrlrM2 (et CtrlrM1) ne changent pas.
Le contrat défini dans le modèle global et qui était assuré par le contrôleur
CtrlrM3 dans la spécification modulaire initiale, ici est assuré par programmation
(échange de valeurs de contrôle).
1307.2.3.2 Décomposition
Le contrôleur CtrlrM3 disparaît. Chaque contrôleur CtrlrM2 reçoit toutes
les entrées concernant les gestionnaires qu’il contrôle. Dans cet exemple, le
contrôleur CtrlrM2 qui gère les gestionnaires des tiers Apache et Tomcat envoie
des valeurs de contrôle au contrôleur CtrlrM2 des gestionnaires des tiers
Mysql-Proxy et Mysql. Ces valeurs de contrôle permettent d’inhiber les actions
de retrait de serveurs Mysql en cas de panne au niveau Apache et/ou Tomcat.
Ici la valeur transmise est :
– c = not (ap_repairingLb or tom_repairing)
ap_repairingLb est à vrai lorsque le serveur Apache est en cours de
réparation et tom_repairing est à vrai lorsqu’un serveur Tomcat est en
cours de réparation.
– c est à vrai que lorsqu’une panne est en cours de réparation, auquel cas il
faut inhiber les actions de retrait de serveurs Mysql tant que la réparation
n’est pas terminée.
Repair
Apache
Repair Sizing
Tomcat repl. tier
Repair
Proxy
Repair Sizing
MySQL repl. tier
CtrlrM1
CtrlrM2
CtrlrM1
CtrlrM2
Message
Qeuing
Server
(f L1, nrL1, f1, nr1, o1, na1, u1) (repL1,rep1, add1,rem1) (f L2, nrL2, f2, nr2, o2, na2, u2) (repL2,rep2, add2,rem2)
Pub(c) Rec(c)
FIGURE 7.11 – Exécution distribuée désynchronisée
1317.2. EXEMPLE: GESTION D’UNE APPLICATION MULTI-TIERS
Nous utilisons un serveur de messages, RabbitMQ, pour mettre en oeuvre la
communication entre les contrôleurs.
7.2.4 Comparaison
Durant l’exécution distribuée totalement synchronisée, comme pour l’exécution
centralisée, tous les contrôleurs évoluent au même rythme que le contrôleur
principal. Ce dernier orchestre tout le contrôle. Il reçoit toutes les entrées puis
les transmet aux autres contrôleurs avec les valeurs de contrôle pour respecter
ses objectifs. Cependant l’exécution distribuée peut ajouter un délai de réactivité
supplémentaire à cause de la communication à distance. Durant l’exécution
distribuée partiellement synchronisée, le contrôleur principal orchestre uniquement
le contrôle pour assurer ses objectifs. Il ne reçoit que les entrées nécessaires
pour calculer ses valeurs de contrôle. De plus, la synchronisation est partielle.
Elle est effectuée pour transmettre des restrictions aux contrôleurs sous-jacents.
Le reste des entrées, chacune, est transmis au contrôleur concerné. Pour le
contrôle local, chaque contrôleur sous-jacent évolue à son propre rythme dicté
par l’occurrence de ses entrées. Toutefois pour le contrôle global, les contrôleurs
évoluent à la vitesse imposée par le contrôleur principal. Durant l’exécution
distribuée désynchronisée, les contrôleurs sont totalement désynchronisés. Chacun
évolue à son propre rythme et reçoit directement les entrées qu’il gère. Les
contrôleurs communiquent par échange de valeurs de manière asynchrone.
Cela pourrait conduire à des délais pour l’application du contrôle global.
Par ailleurs, comme dans l’exécution centralisée, dans l’exécution distribuée
totalement synchronisée, les restrictions du contrôleur principal sont prises
en compte immédiatement (dans la même réaction) par les contrôleurs sousjacents.
Dans l’exécution distribuée partiellement synchronisée, les restrictions
du contrôleur principal sont également prises en compte immédiatement. Toutefois,
puisque les contrôleurs sous-jacents ne sont pas totalement synchronisés
avec le contrôleur principal, ces derniers peuvent faire un pas local pendant
que le contrôleur principal initie un pas global. En raison des délais de communication
entre le contrôleur principal et un contrôleur sous-jacent, l’ordre
d’occurrence des entrées pourraient ne pas correspondre à l’ordre de leur ré-
ception par le contrôleur sous-jacent. Une partie de ses entrées est d’abord
132transmise au contrôleur principal qui calcule des restrictions avant de transmettre
les entrées aux autres contrôleurs. Pour éviter ce problème, un verrou
peut être implémenté pour empêcher les contrôleurs sous-jacents de faire un
pas local lorsque le contrôleur principal initie un pas global. Dans le cas de
l’exécution distribuée désynchronisée, les restrictions peuvent ne pas être prises
en compte immédiatement étant donné que les contrôleurs ne se synchronisent
pas et que la communication est asynchrone.
7.3 Expérimentation
Les expérimentations présentées au chapitre précédent montrent que le
code modulaire garantit les propriétés définies. L’objectif de cette section est
d’évaluer le temps de réaction des contrôleurs de coordination lorsqu’ils sont
exécutés sur des machines distinctes. Nous évaluons également le respect des
objectifs, notamment le respect de l’objectif global dans le cas de l’exécution
distribuée désynchronisée.
7.3.1 Configuration
Les expérimentations ont été réalisées dans notre centre de données expérimental,
présenté à la section 6.4.1.
7.3.2 Évaluation
Nous avons injecté des charges de différentes intensités mais ayant le même
profil (une montée de charge puis une charge constante). La montée de charge
permet de déclencher des ajouts de serveurs. Une fois que les charges sont
constantes et le degré de réplication stables, nous injectons des pannes pour
observer le comportement des gestionnaires en présence des contrôleurs de
coordination.
7.3.2.1 Durée de reconfiguration
Nous avons évalué la durée de reconfiguration dans l’exécution centralisée
et dans l’exécution distribuée totalement synchronisée. Cette approche d’exé-
1337.3. EXPÉRIMENTATION
cution distribuée est le pire cas en terme de délai de réactivité, car bien que
distribué, le contrôle reste centralisé au niveau du contrôleur principal. Nous
considérons que la durée d’une reconfiguration correspond au temps écoulé entre
l’émission de l’événement qui déclenche la reconfiguration (par une sonde)
et la fin de la reconfiguration. Le tableau 7.1, donne la durée moyenne de reconfiguration
dans l’exécution centralisée et l’exécution distribuée totalement
synchronisée.
Mode d’exécution Durée moyenne de reconfiguration
Centralisée 4.9 minutes
Distribuée totalement sync. 5.3 minutes
TABLE 7.1 – Durée moyenne de réaction
Nous avons observé que le traitement d’un événement (e.g., surcharge
Tomcat) dure, en moyenne, 4.9 minutes dans l’exécution centralisée. Dans l’exé-
cution distribuée totalement synchronisée, cependant, il dure 5.3 minutes en
moyenne. Toutefois, nous avons constaté qu’il n’y a pas une variation très
significative due à l’exécution distribuée totalement synchronisée. Par exemple,
dans l’exécution centralisée, présentée dans la figure 7.12, le traitement de la
surcharge du tier Tomcat a duré 5.149 minutes. Dans l’exécution distribuée totalement
synchronisée, présentée dans la figure 7.13, il a duré 5.156 minutes.
Nous constatons également que la détection d’une panne d’un serveur
Tomcat conduit à l’inhibition des actions d’ajout de serveurs aussi bien dans
l’exécution centralisée que dans l’exécution distribuée totalement synchronisée.
Dans la figure 7.12, une surcharge est ignorée durant la réparation d’une panne
(34 min). Dans la figure 7.13, une surcharge est également ignorée durant la
réparation d’un serveur (22 min).
7.3.2.2 Atteinte des objectifs de contrôle
Dans les exécutions présentées ci-dessous, nous rendons le serveur Apache
inaccessible. Cela va conduire à la restauration de ce dernier. L’objectif de
134 0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Tomcat
FIGURE 7.12 – Exécution centralisée
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Tomcat
FIGURE 7.13 – Exécution distribuée totalement synchronisée
1357.3. EXPÉRIMENTATION
voir si les sous-charges qui se produisent dans les tiers Tomcat et Mysql, en
cas de panne du serveur Apache, sont également ignorées dans les exécutions
distribuées.
Exécution centralisée. Dans l’exécution centralisée, présentée dans la figure
7.14, la sous-charge détectée au niveau du tier Mysql (33 min) est ignorée à
cause de la panne du serveur Apache en cours de restauration.
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Apache
FIGURE 7.14 – Exécution centralisée : panne Apache et sous-charge Mysql
Exécution distribuée totalement synchronisée. Dans l’exécution distribuée
totalement synchronisée, présentée dans la figure 7.15, la sous-charge au niveau
du tier Mysql (27.35 min) est également ignorée à cause de la panne du serveur
Apache.
Exécution distribuée partiellement synchronisée. Les figures 7.16, 7.17 et
7.18 présentent des exécutions durant lesquelles les contrôleurs sont exécutés
de manière distribuée et partiellement synchronisée.
136 0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Apache
FIGURE 7.15 – Exécution distribuée totalement synchronisée : panne
Apache et sous-charge Mysql
Dans les trois figures, nous observons qu’en cas de panne du serveur Apache,
les sous-charges au niveau des tiers Tomcat et Mysql sont ignorées. Dans la
figure 7.16, la sous-charge détectée au niveau du tier Mysql (27.35 min) est
ignorée. Dans La figure 7.17, la sous-charge détectée au niveau du tier Tomcat
est également ignorée. La figure 7.18 présente une exécution dans laquelle deux
serveurs Tomcat ainsi que deux serveurs Mysql sont actifs. Nous constatons
qu’une sous-charge est détectée dans les tiers Tomcat et Mysql. Toutefois, aucun
retrait de serveur n’est effectué à cause de la panne du serveur Apache.
Le contrôleur principal a pu se synchroniser avec les contrôleurs distants,
plus précisément, avec le contrôleur qui gère les gestionnaires des tiers Apache
et Tomcat, pour permettre à ce dernier d’inhiber les actions de retrait de serveurs
Tomcat.
1377.3. EXPÉRIMENTATION
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Apache
FIGURE 7.16 – Exécution distribuée partiellement synchronisée : panne
Apache et sous-charge Mysql
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Apache
FIGURE 7.17 – Exécution distribuée partiellement synchronisée : panne
Apache et sous-charge Tomcat
138 10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Apache
FIGURE 7.18 – Exécution distribuée partiellement synchronisée : panne
Apache et sous-charge Tomcat, Mysql
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Apache
FIGURE 7.19 – Exécution distribuée désynchronisée : panne Apache et
sous-charge Mysql
1397.4. CONCLUSION
Exécution distribuée désynchronisée. Les figures 7.19 et 7.20 présentent le
cas où les contrôleurs sont exécutés de manière distribuée et désynchronisée.
0
10
20
30
40
50
60
70
80
90
100
0 10 20 30 40 50
0
1
2
3
4
5
Charge CPU (%)
Nbre Tomcat - Nbre Mysql
Duree (minute)
Avg cpu Tomcats
Avg cpu Mysqls
Tomcats actifs
Mysqls actifs
Panne Apache
FIGURE 7.20 – Exécution distribuée désynchronisée : panne Apache et
sous-charge Tomcat, Mysql
Nous constatons, dans ces exécutions, que les sous-charges au niveau du
tier Mysql sont également ignorées suite à une panne du serveur Apache. Dans
la figure 7.20, la sous-charge détectée dans le tier Tomcat est aussi ignorée.
Les valeurs de contrôleur émises par le contrôleur de coordination des
tiers Apache et Tomcat sont reçues par le contrôleur de coordination des tiers
Mysql-proxy et Mysql avant la détection de sous-charge. Cela a permis d’inhiber
les actions de retrait de serveurs Mysql.
7.4 Conclusion
Nous constatons, sur notre plate-forme expérimentale, que le délai dû à la
communication distante n’est pas très significatif. Nous constatons également
140que les objectifs de coordination sont assurées dans les exécutions distribuées.
Les sous-charges en cas de panne du serveur Apache sont ignorées aussi bien
dans le tier Tomcat que dans le tier Mysql. Toutefois, les sous-charges, lorsqu’il
n’y a pas de panne, sont traitées et conduisent au retrait de serveur, comme
le montre la baisse du nombre de serveurs Tomcat et Mysql en fin d’exécution
dans les figures 7.18 et 7.20.
De plus, dans les exécutions distribuées partiellement synchronisées et
désynchronisées, la panne d’un contrôleur n’empêche pas les autres contrôleurs
d’assurer leurs objectifs locaux.
1417.4. CONCLUSION
1428
Conclusion
L’automatisation des fonctions d’administration de systèmes informatiques
a été étudiée dans plusieurs travaux de recherche. Ces travaux ont démontré
la faisabilité de cette approche avec la conception de différents gestionnaires
autonomes. Ces derniers assurent de manière cohérente les fonctions d’administration
qu’ils implémentent. Aujourd’hui de nombreux gestionnaires autonomes
sont disponibles, mais aucun n’implémente l’ensemble des fonctions
d’administration nécessaires pour une gestion globale d’un système. La complexité
de concevoir un gestionnaire complet rend nécessaire la coexistence de
plusieurs gestionnaires pour une administration complète. Toutefois leur coordination
est nécessaire pour assurer une cohérence des actions d’administration
exécutées par les gestionnaires autonomes qui peuvent avoir des politiques
contradictoires.
La coordination de gestionnaires autonomes requiert la synchronisation,
partielle, de leurs activités et le contrôle de leurs actions d’administration pour
éviter les incohérences. La théorie du contrôle fournit des techniques et des
outils qui permettent de traiter ces aspects. De ce fait, nous proposons une
approche basée sur le contrôle discret pour la conception et la validation de
contrôleurs de coordination. Nous utilisons la programmation synchrone et la
synthèse de contrôleur discret. Les langages synchrones sont des langages de
haut niveau permettant une spécification formelle de système ; ils sont associés
à des outils de vérification et de génération de code exécutable. La synthèse de
143contrôleur, quant à elle, permet de raffiner une spécification incomplète en construisant
une fonction de contrôle qui permet d’assurer le respect de propriétés
non vérifiées par la spécification initiale, conçue par programmation synchrone
par exemple. Nous proposons la synthèse modulaire pour la coordination de
plusieurs gestionnaires autonomes. Cette technique permet une coordination
modulaire et hiérarchique des gestionnaires. Cela permet également de réduire
la complexité inhérente aux techniques de synthèse de contrôleur discret.
Pour la mise en oeuvre du contrôle, nous adoptons le modèle à composants.
Chaque gestionnaire est encapsulé dans un composant qui fournit des fonctions
d’introspection et de reconfiguration dynamique de l’état du gestionnaire. Les
composants de gestionnaires à coordonner sont ensuite assemblés dans un
composite dans lequel est intégré le contrôleur de coordination, obtenu par
programmation synchrone et synthèse de contrôleur discret. Le contrôleur
de coordination est connecté aux interfaces de contrôle des composants de
gestionnaires pour restreindre ces derniers, à l’exécution, afin de garantir le
respect de la politique de coordination.
Nous avons réalisé des expérimentations pour évaluer notre approche. Nous
avons coordonné des gestionnaires autonomes qui assurent la performance,
de la disponibilité et de l’optimisation des ressources d’un système multi-tiers.
Les expérimentations réalisées dans ce travail de thèse montrent la faisabilité
de notre approche pour la conception et la validation de contrôleurs de coordination
pour assurer de manière cohérente les politiques de coordination
définies.
Perspectives
Des améliorations sont en cours pour intégrer, en plus des aspects logiques,
des aspects quantitatifs dans les algorithmes de synthèse de contrôleur [9].
Cela permettra de considérer des valeurs numériques dans la déclaration des
objectifs de contrôle. Des poids représentant des fonctions de coûts pourront
être associés aux états et transitions. Par ailleurs, l’expression de propriétés
quantitatives permettra de comparer notre approche avec les approches basées
sur des aspects quantitatifs qui utilisent, par exemple, des fonctions d’utilité.
Dans ce travail de thèse, les objectifs de contrôle sont relativement sim-
144ples. Nous envisageons d’étudier des scénarios de contrôle plus élaborés, par
exemple, un contrôle sur des séquences d’événements et/ou d’états.
Des améliorations sont également envisagées pour l’exécution distribuée.
Les suppositions considérées dans ce travail de thèse, permettent de démontrer
la faisabilité de l’exécution distribuée. Toutefois, en pratique, les pannes
(machines, logiciels ou communication) ne peuvent pas être considérées inexistantes.
De ce fait, nous prévoyons d’étudier la restauration du contrôle distribué
de manière cohérente suite à des pannes de contrôleurs durant l’exécution.
La mise à jour des contrôleurs, durant l’exécution, est également une perspective
intéressante à étudier. L’évolution de la structure du système à contrôler,
les changements des objectifs de contrôle conduisent souvent à la recompilation
du contrôleur. L’idée est de pouvoir faire cette recompilation à chaud, et
intégrer les modifications dans le contrôleur pendant qu’il s’exécute ; tout cela
sans devoir arrêter puis redémarrer le contrôleur ce qui conduit généralement à
réinitialiser l’état de ce dernier. En effet, cette propriété pourrait être pertinente
dans la gestion de centres de données où les applications hébergées et leurs
gestionnaires autonomes sont instanciés et/ou arrêtés de manière dynamique.
145146Bibliographie
[1] Ahmad Al-Shishtawy and Vladimir Vlassov, Elastman : Elasticity manager
for elastic key-value stores in the cloud, Proceedings of the 2013 ACM
Cloud and Autonomic Computing Conference (New York, NY, USA),
CAC ’13, ACM, 2013, pp. 7 :1–7 :10.
[2] Marco Aldinucci, Marco Danelutto, Peter Kilpatrick, and Vamis Xhagjika,
Libero : A framework for autonomic management of multiple non-functional
concerns, Euro-Par 2010 Parallel Processing Workshops (MarioR. Guarracino,
Frédéric Vivien, JesperLarsson Träff, Mario Cannatoro, Marco
Danelutto, Anders Hast, Francesca Perla, Andreas Knüpfer, Beniamino
Di Martino, and Michael Alexander, eds.), Lecture Notes in Computer
Science, vol. 6586, Springer Berlin Heidelberg, 2011, pp. 237–245 (English).
[3] Hua L. And, Hua Liu, Manish Parashar, and Salim Hariri, A Component
Based Programming Framework for Autonomic Applications, Proc. of 1st
International Conference on Autonomic Computing, 2004, pp. 10–17.
[4] C. André, F. Boulanger, and A. Girault, Software implementation of synchronous
programs, IEEE International Conference on Application of
Concurrency to System Design (Newcastle upon Tyne, UK), IEEE Computer
Society, June 2001, pp. 133–142.
[5] Albert Benveniste, Paul Caspi, Stephen A. Edwards, Nicolas Halbwachs,
Paul Le Guernic, and Robert de Simone, The Synchronous Languages
Twelve Years Later, Proc. of the IEEE 91 (2003), no. 1.
[6] Albert Benveniste, Paul Le Guernic, and Christian Jacquemot, Synchronous
programming with events and relations : the {SIGNAL} language and its
147BIBLIOGRAPHIE
semantics, Science of Computer Programming 16 (1991), no. 2, 103 –
149.
[7] Gérard Berry and Georges Gonthier, The esterel synchronous programming
language : Design, semantics, implementation, Sci. Comput. Program. 19
(1992), no. 2, 87–152.
[8] Nicolas Berthier, Florence Maraninchi, and Laurent Mounier, Synchronous
programming of device drivers for global resource control in embedded operating
systems, Proceedings of the 2011 SIGPLAN/SIGBED conference on
Languages, compilers and tools for embedded systems (New York, NY,
USA), LCTES ’11, ACM, 2011, pp. 81–90.
[9] Nicolas Berthier and Hervé Marchand, Discrete Controller Synthesis for Infi-
nite State Systems with ReaX, IEEE International Workshop on Discrete
Event Systems (Cachan, France), May 2014, pp. 420–427.
[10] S. Bouchenak, Noël Depalma, Daniel Hagimont, Sacha Krakowiak, and
C. Taton, Autonomic Management of Internet Services : Experience with
Self-Optimization, International Conference on Autonomic Computing
(ICAC), Dublin, 12/06/2006-16/06/2006 (http ://www.ieee.org/),
IEEE, juin 2006, p. (electronic medium) (anglais).
[11] Sara Bouchenak, Fabienne Boyer, Daniel Hagimont, Sacha Krakowiak,
Noël De Palma, Vivien Quéma, and Jean-Bernard Stefani, Architecturebased
autonomous repair management : Application to j2ee clusters., ICAC,
IEEE Computer Society, 2005, pp. 369–370.
[12] Sara Bouchenak, Noël De Palma, Daniel Hagimont, and Christophe Taton,
Autonomic Management of Clustered Applications, IEEE International Conference
on Cluster Computing, CLUSTER ’06, September 2006, pp. 1–
11.
[13] Laurent Broto, Daniel Hagimont, Patricia Stolf, Noël Depalma, and Suzy
Temate, Autonomic management policy specification in Tune, Annual ACM
Symposium on Applied Computing (SAC), Fortaleza, Ceará, Brazil,
16/03/2008-20/03/2008 (http ://www.acm.org/), ACM, mars 2008,
pp. 1658–1663 (anglais).
[14] E. Bruneton, T. Coupaye, M. Leclercq, V. Quema, and J.-B. Stefani, The
Fractal component model and its support in java, Software – Practice and
Experience (SP&E) 36 (2006), no. 11-12.
148[15] Eric Bruneton, Thierry Coupaye, Matthieu Leclercq, Vivien Quéma, and
Jean-Bernard Stefani, The fractal component model and its support in java :
Experiences with auto-adaptive and reconfigurable systems, Softw. Pract.
Exper. 36 (2006), no. 11-12, 1257–1284.
[16] Christos G. Cassandras and Stephane Lafortune, Introduction to discrete
event systems, Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2006.
[17] Emmanuel Cecchet, Anupam Chanda, Sameh Elnikety, Julie Marguerite,
and Willy Zwaenepoel, Performance comparison of middleware architectures
for generating dynamic web content, Proceedings of the ACM/IFIP/USENIX
2003 International Conference on Middleware (New
York, NY, USA), Middleware ’03, Springer-Verlag New York, Inc., 2003,
pp. 242–261.
[18] Shang-Wen Cheng, David Garlan, Bradley R. Schmerl, João Pedro Sousa,
Bridget Spitnagel, and Peter Steenkiste, Using architectural style as a
basis for system self-repair, Proceedings of the IFIP 17th World Computer
Congress - TC2 Stream / 3rd IEEE/IFIP Conference on Software
Architecture : System Design, Development and Maintenance (Deventer,
The Netherlands, The Netherlands), WICSA 3, Kluwer, B.V., 2002,
pp. 45–59.
[19] Jean-Louis Colaço, Bruno Pagano, and Marc Pouzet, A conservative extension
of synchronous data-flow with state machines, Proceedings of the 5th
ACM International Conference on Conference on Embedded Software
(New York, NY, USA), EMSOFT ’05, ACM, 2005, pp. 173–182.
[20] Rajarshi Das, Jeffrey O. Kephart, Charles Lefurgy, Gerald Tesauro, David W.
Levine, and Hoi Chan, Autonomic multi-agent management of power and
performance in data centers, Proceedings of the 7th International Joint
Conference on Autonomous Agents and Multiagent systems: industrial
track (Richland, SC), AAMAS ’08, International Foundation for
Autonomous Agents and Multiagent Systems, 2008, pp. 107–114.
[21] G. Delaval, N. De Palma, S.M.-K. Gueye, H. Marchand, and E. Rutten,
Discrete control of computing systems administration : A programming language
supported approach, Control Conference (ECC), 2013 European,
July 2013, pp. 117–124.
149BIBLIOGRAPHIE
[22] G. Delaval, É. Rutten, and H. Marchand, Integrating discrete controller synthesis
into a reactive programming language compiler, Discrete Event Dynamic
Systems 23 (2013), no. 4, 385–418.
[23] Gwenaël Delaval, Soguy Mak Karé Gueye, Éric Rutten, and Noël De
Palma, Modular coordination of multiple autonomic managers., CBSE’14,
Proceedings of the 17th International ACM SIGSOFT Symposium on
Component-Based Software Engineering (part of CompArch 2014),
Marcq-en-Baroeul, Lille, France, June 30 - July 4, 2014 (Lionel Seinturier,
Eduardo Santana de Almeida, and Jan Carlson, eds.), ACM, 2014, pp. 3–
12.
[24] Gwenaël Delaval, Hervé Marchand, and Éric Rutten, Contracts for modular
discrete controller synthesis, Proceedings of the ACM SIGPLAN/SIGBED
2010 Conference on Languages, Compilers, and Tools for Embedded
Systems (New York, NY, USA), LCTES ’10, ACM, 2010, pp. 57–66.
[25] Gwenaël Delaval, Éric Rutten, and Hervé Marchand, Integrating discrete
controller synthesis into a reactive programming language compiler, Discrete
Event Dynamic Systems 23 (2013), no. 4, 385–418.
[26] Noël Depalma, B. Claudel, R. Lachaize, S. Bouchenak, and Daniel Hagimont,
Self-Protected System : an experiment, Conference on Security
and Network Architectures (SAR), Seignosse, France, 06/06/2006-
09/06/2006 (http ://www.aw-bc.com/), Addison Wesley Longman,
juin 2006, p. (electronic medium) (anglais).
[27] Léonard Gérard, Adrien Guatto, Cédric Pasteur, and Marc Pouzet, A modular
memory optimization for synchronous data-flow languages, Proc. of the
ACM International Conference on Languages, Compilers, Tools and
Theory for Embedded Systems (LCTES’12) (Beijing, China), June 2012.
[28] Soguy Mak-karé Gueye, Noël Palma, Eric Rutten, Alain Tchana, and Daniel
Hagimont, Discrete control for ensuring consistency between multiple autonomic
managers, Journal of Cloud Computing : Advances, Systems and
Applications 2 (2013), no. 1, 16.
[29] Soguy Mak Karé Gueye, Noël De Palma, and Éric Rutten, Component-based
autonomic managers for coordination control., Coordination Models and
Languages, 15th International Conference, COORDINATION 2013,
Held as Part of the 8th International Federated Conference on Dis-
150tributed Computing Techniques, DisCoTec 2013, Florence, Italy, June
3-5, 2013. Proceedings (Rocco De Nicola and Christine Julien, eds.), Lecture
Notes in Computer Science, vol. 7890, Springer, 2013, pp. 75–89.
[30] Soguy Mak Karé Gueye, Noël De Palma, Éric Rutten, Alain Tchana, and
Nicolas Berthier, Coordinating self-sizing and self-repair managers for multitier
systems., Future Generation Comp. Syst. 35 (2014), 14–26.
[31] Ajay Gulati, Anne Holler, Minwen Ji, Ganesha Shanmuganathan, Carl
Waldspurger, and Xiaoyun Zhu, Vmware distributed resource management
: Design, implementation, and lessons learned.
[32] Ajay Gulati, Ganesha Shanmuganathan, Anne Holler, and Irfan Ahmad,
Cloud-scale resource management : Challenges and techniques, Proceedings
of the 3rd USENIX Conference on Hot Topics in Cloud Computing
(Berkeley, CA, USA), HotCloud’11, USENIX Association, 2011, pp. 3–3.
[33] N. Halbwachs, Synchronous programming of reactive systems, a tutorial and
commented bibliography, Tenth International Conference on ComputerAided
Verification, CAV’98 (Vancouver (B.C.)), LNCS 1427, Springer
Verlag, June 1998.
[34] N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud, The synchronous
dataflow programming language lustre, Proceedings of the IEEE, 1991,
pp. 1305–1320.
[35] David Harel and Amnon Naamad, The statemate semantics of statecharts,
ACM Trans. Softw. Eng. Methodol. 5 (1996), no. 4, 293–333.
[36] Joseph L. Hellerstein, Yixin Diao, Sujay Parekh, and Dawn M. Tilbury,
Feedback Control of Computing Systems, John Wiley & Sons, 2004.
[37] Jin Heo, Praveen Jayachandran, Insik Shin, Dong Wang, Tarek Abdelzaher,
and Xue Liu, OptiTuner: On Performance Composition and Server Farm
Energy Minimization Application, IEEE Trans. Parallel Distrib. Syst. 22
(2011), no. 11, 1871–1878.
[38] Timotheos Kastrinogiannis, Nikolay Tcholtchev, Arun Prakash, Ranganai
Chaparadza, Vassilios Kaldanis, Hakan Coskun, and Symeon Papavassiliou,
Addressing stability in future autonomic networking., MONAMI
(Kostas Pentikousis, Ramón Agüero Calvo, Marta García-Arranz, and
Symeon Papavassiliou, eds.), Lecture Notes of the Institute for Com-
151BIBLIOGRAPHIE
puter Sciences, Social Informatics and Telecommunications Engineering,
vol. 68, Springer, 2010, pp. 50–61.
[39] Jeffrey O. Kephart and David M. Chess, The vision of autonomic computing,
Computer 36 (2003), 41–50.
[40] Sanjay Kumar, Vanish Talwar, Vibhore Kumar, Parthasarathy Ranganathan,
and Karsten Schwan, vManage: loosely coupled platform and virtualization
management in data centers, Proceedings of the 6th International Conference
on Autonomic Computing (New York, NY, USA), ICAC ’09, ACM,
2009, pp. 127–136.
[41] Florence Maraninchi and Yann Rémond, Mode-automata : a new domainspecific
construct for the development of safe critical systems, Sci. Comput.
Program. 46 (2003), 219–254.
[42] H. Marchand, P. Bournai, M. Le Borgne, and P. Le Guernic, Synthesis of
discrete-event controllers based on the signal environment, j. Discrete Event
Dynamic System 10 (2000), no. 4.
[43] H. Marchand and M. Samaan, Incremental design of a power transformer
station controller using a controller synthesis methodology, IEEE Trans. on
Soft. Eng. 26 (2000), no. 8, 729 –741.
[44] Hervé Marchand, Patricia Bournai, Michel Le Borgne, and Paul Le Guernic,
Synthesis of Discrete-Event Controllers Based on the Signal Environment,
Discrete Event Dynamic Systems 10 (2000), 325–346.
[45] Ripal Nathuji and Karsten Schwan, VirtualPower: coordinated power management
in virtualized enterprise systems, Proceedings of twenty-first ACM
SIGOPS Symposium on Operating Systems Principles (New York, NY,
USA), SOSP ’07, ACM, 2007, pp. 265–278.
[46] E. Pinheiro, R. Bianchini, E. V. Carrera, and T. Heath, Load balancing and unbalancing
for power and performance in cluster-based systems, Proceedings
of the Workshop on Compilers and Operating Systems for Low Power
(COLP’01), September 2001.
[47] Ramya Raghavendra, Parthasarathy Ranganathan, Vanish Talwar, Zhikui
Wang, and Xiaoyun Zhu, No "power" struggles: coordinated multi-level
power management for the data center, Proceedings of the 13th International
Conference on Architectural Support for Programming Lan-
152guages and Operating Systems (New York, NY, USA), ASPLOS XIII,
ACM, 2008, pp. 48–59.
[48] P.J. Ramadge and W.M. Wonham, Supervisory control of a class of discrete
event processes, SIAM J. on Control and Optimization 25 (1987), no. 1,
206–230.
[49] Ivan Rodero, Juan Jaramillo, Andres Quiroz, Manish Parashar, Francesc
Guim, and Stephen Poole, Energy-efficient application-aware online provisioning
for virtualized clouds and data centers, Green Computing Conference,
August 2010, pp. 31–45.
[50] Ebada Sarhan, Atif Ghalwash, and Mohamed Khafagy, Specification and
implementation of dynamic web site benchmark in telecommunication area,
Proceedings of the 12th WSEAS International Conference on Computers
(Stevens Point, Wisconsin, USA), ICCOMP’08, World Scientific and
Engineering Academy and Society (WSEAS), 2008, pp. 863–867.
[51] Nikolay Tcholtchev, Ranganai Chaparadza, and Arun Prakash, Addressing
stability of control-loops in the context of the gana architecture : Synchronization
of actions and policies, IWSOS, 2009, pp. 262–268.
[52] Yin Wang, Terence Kelly, and Stéphane Lafortune, Discrete control for safe execution
of IT automation workflows, Proceedings of the 2nd ACM SIGOPS/EuroSys
European Conference on Computer Systems 2007 (New
York, NY, USA), EuroSys ’07, ACM, 2007, pp. 305–314.
[53] Yiqiao Wang and John Mylopoulos, Self-repair through reconfiguration : A
requirements engineering approach, Proceedings of the 2009 IEEE/ACM
International Conference on Automated Software Engineering (Washington,
DC, USA), ASE ’09, IEEE Computer Society, 2009, pp. 257–268.
153BIBLIOGRAPHIE
154Table des figures
2.1 Architecture d’un système autonome . . . . . . . . . . . . . . . . 11
2.2 Système de transitions . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Modélisation avec Heptagon/BZR: Tâche différable . . . . . . . 22
2.4 Modélisation avec Heptagon/BZR: programme BZR. . . . . . . . 23
2.5 Exemple de composition parallèle . . . . . . . . . . . . . . . . . 24
2.6 Exemple d’encapsulation . . . . . . . . . . . . . . . . . . . . . . . 24
2.7 Système de transitions contrôlé . . . . . . . . . . . . . . . . . . . 27
2.8 Heptagon/BZR contrat: exclusion mutuelle . . . . . . . . . . . . 28
2.9 Synthèse modulaire avec Heptagon/BZR. . . . . . . . . . . . . . 29
3.1 Comportement d’un gestionnaire . . . . . . . . . . . . . . . . . . 37
3.2 Gestionnaire contrôlable . . . . . . . . . . . . . . . . . . . . . . . 38
3.3 Modèle de la coexistence de gestionnaires . . . . . . . . . . . . . 39
3.4 Spécification de stratégie de coordination . . . . . . . . . . . . . 40
3.5 Spécification monolithique du contrôle . . . . . . . . . . . . . . . 41
3.6 Spécification modulaire du contrôle . . . . . . . . . . . . . . . . 42
3.7 Composant Fractal . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.8 Composant composite . . . . . . . . . . . . . . . . . . . . . . . . 45
3.9 Composant de gestionnaire contrôlable . . . . . . . . . . . . . . 47
3.10 Composants de gestionnaires coordonnés . . . . . . . . . . . . . 48
3.11 Composant composite . . . . . . . . . . . . . . . . . . . . . . . . 48
3.12 Extension de la contrôlabilité . . . . . . . . . . . . . . . . . . . . 51
3.13 Coordination hiérarchique . . . . . . . . . . . . . . . . . . . . . . 51
4.1 Gestionnaire d’auto-dimensionnement: self-sizing . . . . . . . . 57
4.2 Gestionnaire d’auto-régulation: Dvfs . . . . . . . . . . . . . . . . 58
155TABLE DES FIGURES
4.3 Modèle de contrôle de self-sizing . . . . . . . . . . . . . . . . . . 61
4.4 Modèle global du mode d’exécution des Dvfs . . . . . . . . . . . 63
4.5 Composition des modèles des gestionnaires self-sizing et Dvfs . 64
4.6 Coordination de gestionnaires self-sizing et Dvfs . . . . . . . . . 65
4.7 Seuil minimal pour self-sizing: ajout de serveur . . . . . . . . . . 68
4.8 Seuil minimal pour self-sizing: retrait de serveur . . . . . . . . . 68
4.9 Seuil minimal pour Dvfs . . . . . . . . . . . . . . . . . . . . . . . 70
4.10 Exécution non coordonnée avec: 4750 requêtes/sec . . . . . . . . . 71
4.11 Exécution non coordonnée avec: 5000 requêtes/sec . . . . . . . . . 71
4.12 Exécution coordonnée avec: 4750 requêtes/sec . . . . . . . . . . . 72
4.13 Exécution coordonnée avec: 5000 requêtes/sec . . . . . . . . . . . 73
4.14 Exécution non coordonnée avec: 5542 requêtes/sec . . . . . . . . . 74
4.15 Exécution coordonnée avec: 5542 requêtes/sec . . . . . . . . . . . 74
5.1 Application JEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.2 Gestionnaire d’auto-réparation . . . . . . . . . . . . . . . . . . . 80
5.3 Panne du serveur Apache . . . . . . . . . . . . . . . . . . . . . . 82
5.4 Panne du serveur Mysql-Proxy . . . . . . . . . . . . . . . . . . . 82
5.5 Panne d’un serveur Tomcat . . . . . . . . . . . . . . . . . . . . . 83
5.6 Panne d’un serveur MySQL . . . . . . . . . . . . . . . . . . . . . . 83
5.7 Modéle de contrôle de self-repair . . . . . . . . . . . . . . . . . . 85
5.8 Composition des modèles de self-sizing et self-repair . . . . . . 86
5.9 Coordination des instances de self-sizing et self-repair . . . . . . 89
5.10 Exécution non coordonnée: Panne du serveur Apache . . . . . . 92
5.11 Exécution non coordonnée: Panne d’un serveur Tomcat . . . . . 93
5.12 Exécution non coordonnée: Panne du serveur Mysql-proxy . . . 94
5.13 Exécution non coordonnée: Panne d’un serveur Mysql . . . . . 95
5.14 Exécution coordonnée: Panne du serveur Apache . . . . . . . . 96
5.15 Exécution coordonnée: Panne d’un serveur Tomcat . . . . . . . 96
5.16 Exécution coordonnée: Panne du serveur Mysql-proxy . . . . . 97
5.17 Exécution coordonnée: Panne d’un serveur Mysql . . . . . . . . 98
6.1 Modèle du gestionnaire self-sizing . . . . . . . . . . . . . . . . . 103
6.2 Modèle du gestionnaire self-repair . . . . . . . . . . . . . . . . . 104
6.3 Modèle du gestionnaire de consolidation . . . . . . . . . . . . . 105
1566.4 Synthèse monolithique . . . . . . . . . . . . . . . . . . . . . . . . 107
6.5 Réutilisation de modèles de contrôle . . . . . . . . . . . . . . . . 107
6.6 Tier dupliqué . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.7 Tier dupliqué avec aiguilleur en frontal . . . . . . . . . . . . . . 109
6.8 Multi-tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.9 Centre de données avec deux applications multi-tiers. . . . . . . 110
6.10 Conception monolithique de la coordination . . . . . . . . . . . 110
6.11 Conception modulaire de la coordination . . . . . . . . . . . . . 111
6.12 Exécution non coordonnée: app 1: Panne Apache . . . . . . . . . 113
6.13 Exécution non coordonnée: app 2: Panne Tomcat . . . . . . . . . 114
6.14 Exécution coordonnée: app 1: Panne Apache . . . . . . . . . . . . 114
6.15 Exécution coordonnée: app 2: Panne Tomcat . . . . . . . . . . . . 115
7.1 Structure à l’exécution: Objet Java . . . . . . . . . . . . . . . . . . 118
7.2 Exécution distribuée synchronisée avec Java rmi . . . . . . . . 121
7.3 Exécution distribuée désynchronisée avec Message Queuing . . . 124
7.4 Spécification modulaire . . . . . . . . . . . . . . . . . . . . . . . 125
7.5 Exécution distribuée totalement synchronisée . . . . . . . . . . . 125
7.6 Tier dupliqué . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.7 Tier dupliqué avec aiguilleur en frontal . . . . . . . . . . . . . . 128
7.8 Multi-tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.9 Exécution distribuée partiellement synchronisée . . . . . . . . . 129
7.10 Coordination modulaire désynchronisée . . . . . . . . . . . . . . 130
7.11 Exécution distribuée désynchronisée . . . . . . . . . . . . . . . . 131
7.12 Exécution centralisée . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.13 Exécution distribuée totalement synchronisée . . . . . . . . . . . 135
7.14 Exécution centralisée: panne Apache et sous-charge Mysql . . . . 136
7.15 Exécution distribuée totalement synchronisée: panne Apache et
sous-charge Mysql . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.16 Exécution distribuée partiellement synchronisée: panne Apache
et sous-charge Mysql . . . . . . . . . . . . . . . . . . . . . . . . . 138
7.17 Exécution distribuée partiellement synchronisée: panne Apache
et sous-charge Tomcat . . . . . . . . . . . . . . . . . . . . . . . . 138
7.18 Exécution distribuée partiellement synchronisée: panne Apache
et sous-charge Tomcat, Mysql . . . . . . . . . . . . . . . . . . . . 139
157TABLE DES FIGURES
7.19 Exécution distribuée désynchronisée: panne Apache et sous-charge
Mysql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
7.20 Exécution distribuée désynchronisée: panne Apache et sous-charge
Tomcat, Mysql . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
158Liste des tableaux
6.1 SCD: durée de la synthèse et la mémoire utilisée . . . . . . . . . 111
7.1 Durée moyenne de réaction . . . . . . . . . . . . . . . . . . . . . 134
159LISTE DES TABLEAUX
160161
Mod´elisation de la polydispersion des brouillards de
gouttes sous l’effet des interactions two-way turbulentes
pour l’injection directe `a haute pression dans les moteurs
Oguz Emre
To cite this version:
Oguz Emre. Mod´elisation de la polydispersion des brouillards de gouttes sous l’effet des interactions
two-way turbulentes pour l’injection directe `a haute pression dans les moteurs. Engineering
Sciences. Ecole Centrale Paris, 2014. French. .
HAL Id: tel-01089937
https://tel.archives-ouvertes.fr/tel-01089937
Submitted on 2 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.THESE `
pr´esent´ee par
O˘guz EMRE
pour l’obtention du
GRADE de DOCTEUR
Formation doctorale : Energ´etique, Math´ematiques Appliqu´ees
Laboratoire d’accueil : Laboratoire d’Energ´etique Mol´eculaire
et Macroscopique, Combustion (EM2C)
du CNRS et de l’ECP
Modeling of spray polydispersion with two-way
turbulent interactions for high pressure direct
injection in engines
Soutenue le 21 Mars 2014
Jury : MM. Daniel E. Rapporteur
Demoulin F.-X. Rapporteur
Desjardins O. Rapporteur
Lance M. Examinateur
Som S. Examinateur
Murrone A. Examinateur
Fox R. O. Examinateur
Massot M. Directeur de th`ese
Mme. Laurent F. Co-Directrice de th`ese
MM. Jay S. Encadrant IFPEN
de Chaisemartin S. Encadrant IFPEN
Ecole Centrale des Arts et Manufactures
Grand Etablissement sous tutelle ´
du Minist`ere de l’Education Nationale ´
Grande Voie des Vignes
92295 Chˆatenay-Malabry Cedex
T´el : 33 (1) 41 13 10 00
T´elex : 634 991 F EC PARIS
Laboratoire d’Energ´etique ´
Mol´eculaire et Macroscopique,
Combustion (E.M2.C.)
UPR 288, CNRS et Ecole Centrale Paris
T´el : 33 (1) 41 13 10 31
Fax : 33 (1) 47 02 80 35
2014-2014ECAP0029ABSTRACT
The ability to simulate two-phase flows is of crucial importance for the prediction
of internal combustion engine (ICE) performance and pollutant emissions. The direct
injection of the liquid fuel inside the combustion chamber generates a cloud of polydisperse
droplets, called spray, far downstream of the injector. From the modeling point of
view, the emergence of Eulerian techniques for the spray description is considered promising
by the scientific community. Moreover, the bottleneck issue for Eulerian methods of
capturing the droplet size distribution with a reasonable computational cost, has been
successfully tackled through the development of Eulerian Multi Size Moment (EMSM)
method. Towards realistic ICE applications, the present PhD work addresses the modeling
of two-way turbulent interactions between the polydisperse spray and its surrounding
gas-phase through EMSM method. Following to the moving mesh formalism Arbitrary
Lagrangian Eulerian (ALE), the source terms arising in the two-phase model have been
treated separately from other contributions. The equation system is closed through the
maximum entropy (ME) reconstruction technique originally introduced for EMSM. A new
resolution strategy is developed in order to guarantee the numerical stability under very
fast time scales related to mass, momentum and energy transfers, while preserving the
realizability condition associated to the set of high order moments. From the academic
point of view, both the accuracy and the stability have been deeply investigated under
both constant and time dependent evaporation laws. All these developments have been
integrated in the industrial software IFP-C3D dedicated to compressible reactive flows. In
the context of 2-D injection simulations, very encouraging quantitative and qualitative results
have been obtained as compared to the reference Lagrangian simulation of droplets.
Moreover, simulations conducted under a typical 3-D configuration of a combustion chamber
and realistic injection conditions have given rise to fruitful achievements. Within the
framework of industrial turbulence modeling, a Reynolds averaged (RA) extension of the
two-way coupling equations is derived, providing appropriate closures for turbulent correlations.
The correct energy partitions inside the spray and turbulent interactions between
phases have been demonstrated through homogeneous test-cases. The latter cases gave
also some significant insights on underlying physics in ICE. This new RA approach is now
ready for ICE application simulations.
Keywords Evaporating spray, turbulent two-way coupling, polydispersity, Eulerian
models, high order moment method, Reynolds averaging, ALE formalismRESUM ´ E´
La simulation des ´ecoulements diphasiques rencontr´es dans les moteurs `a combustion
interne (MCI) est de grande importance pour la pr´ediction de la performance des moteurs
et des ´emissions polluantes. L’injection directe du carburant liquide `a l’int´erieur
de la chambre de combustion g´en`ere loin de l’injecteur un brouillard de gouttes polydisperses,
commun´ement appel´e spray. Du point de vue de la mod´elisation, l’´emergence
des m´ethodes Eul´eriennes pour la description du spray est consider´ee prometteuse par
la communaut´e scientifique. De plus, la prise en compte de la distribution en taille des
gouttes par les approches Eul´eriennes, de mani`ere peu coˆuteuse en temps de calcul, n’est
plus consid´er´ee comme un verrou depuis le d´eveloppement de la m´ethode Eulerian Multi
Size Moment (EMSM). Afin d’envisager la simulation de configurations r´ealistes de MCI,
ce travail de th`ese propose de mod´eliser les interactions turbulentes two-way entre le
spray polydisperse ´evaporant et la phase gazeuse environnante par la m´ethode EMSM.
Dans le contexte du formalisme Arbitrary Lagrangian Eulerian (ALE) d´edi´ee au traitement
du maillage mobile, les termes sources pr´esents dans le mod`ele diphasique sont
trait´es s´epar´ement des autres contributions. Le syst`eme d’´equations est ferm´e `a l’aide
d’une technique de reconstruction par maximisation d’entropie (ME), originellement introduite
pour EMSM. Une nouvelle strat´egie de r´esolution a ´et´e d´evelopp´ee pour garantir
la stabilit´e num´erique aux ´echelles de temps tr`es rapides introduites par les transferts de
masse, quantit´e de mouvement et ´energie, tout en r´espectant la condition de r´ealisabilit´e
associ´ee `a la pr´eservation de l’´espace des moments d’ordre ´elev´e. A l’aide des simulations
acad´emiques, la stabilit´e et la pr´ecision de la m´ethode ont ´et´e ´etudi´ees aussi bien pour des
lois d’´evaporation constantes que d´ependantes du temps. Tous ces d´eveloppements ont ´et´e
int´egr´es dans le code industriel IFP-C3D d´edi´e aux ´ecoulements compressibles et r´eactifs.
Dans le contexte de la simulation en 2-D de l’injection directe, les r´esultats se sont av´er´es
tr`es encourageants comme en t´emoignent les comparaisons qualitatives et quantitatives
de la m´ethode Eulerienne `a la simulation Lagrangienne de r´ef´erence des gouttes. De plus,
les simulations en 3-D effectu´ees dans une configuration typique de chambre de combustion
et des conditions d’injection r´ealistes ont donn´e lieu `a des r´esultats qualitativement
tr`es satisfaisants. Afin de prendre en compte la mod´elisation de la turbulence, une extension
moyenn´ee, au sens de Reynolds, des ´equations du mod`ele diphasique two-way est
d´eriv´ee, un soin particulier ´etant apport´e aux fermetures des corr´elations turbulentes. La
r´epartition de l’´energie dans le spray ainsi que les int´eractions turbulentes entre les phases
ont ´et´e ´etudi´ees dans des cas tests homog`enes. Ces derniers donnent un aper¸cu int´eressant
sur la physique sous-jacente dans les MCI. Cette nouvelle approche RANS diphasique est
maintenant prˆete `a ˆetre employ´ee pour les simulations d’application de MCI.
Mots Cl´es Spray ´evaporant, polydispersion, couplage two-way turbulent, mod`eles
Eul´eriens, m´ethode de moments d’ordre ´elev´e, moyenne de Reynolds, formalisme ALEREMERCIEMENTS
Cette th`ese est le produit d’une collaboration ´etroite entre IFP Energies nouvelles et le
laboratoire EM2C de l’Ecole Centrale Paris. Je salue vivement tous ceux qui ont particip´e
de pr`es ou de loin `a la r´ealisation de ce travail de longue haleine.
Mes premiers remerciements s’adressent ´evidemment `a l’´equipe de mes encadrants,
Marc Massot, Fr´ed´erique Laurent, St´ephane Jay et St´ephane de Chaisemartin, qui m’ont
permis de faire cette th`ese dans une ambiance amicale et agr´eable, tout en m’assurant les
meilleurs conditions pour r´eussir. Je salue mes directeurs de th`ese, Marc et Fr´ederique, qui
m’ont donn´e gˆout au sujet. Leur implication dans l’ensemble de mes travaux de th`ese, leur
excellence scientifique ainsi que leur disponibilit´e m’ont permis d’apprendre beaucoup. Je
retiens ´egalement nos discussions chaleureuses lors de mes passages `a EM2C. Passons
maintenant `a mes encadrants du cˆot´e de IFP Energies nouvelles. Je salue St´ephane Jay
pour les ´echanges amicaux que j’ai eu avec lui au cours de ces trois ann´ees et ses efforts
pr´ecieux sur la valorisation de mes travaux dans un contexte industriel. Je salue St´ephane
de Chaisemartin pour ses aides lors de mes timides d´ebuts dans le sujet mais aussi pour
son implication forte dans l’ensemble de mes travaux. Je le remercie ´egalement pour sa
gentillesse et sa disponibilit´e.
Je remercie vivement Eric Daniel, Fran¸cois-Xavier Demoulin et Olivier Desjardins
d’avoir accept´e la lourde tˆache d’ˆetre les rapporteurs de mon travail de recherche, leurs avis
sur ce travail permettra d’apporter des id´ees nouvelles pour les ´etudes futures. Je remercie
Michel Lance de m’avoir fait l’honneur de pr´esider mon jury de th`ese et pour l’int´erˆet
qu’il a manifest´e pour mon travail. Je remercie Rodney O. Fox, Sibendu Som et Angelo
Murrone autant pour leurs remarques sur le manuscrit que les questions pertinentes pos´ees
lors de la soutenance.
Au del`a de mon encadrement officiel, Il est important que j’´evoque les personnes avec
qui j’ai ´echang´e de pr`es. J’ai eu la chance de travailler avec Rodney O. Fox. Son expertise
exceptionnelle sur l’aspect mod´elisation de la turbulence a ´enormement contribu´e `a la
valorisation de ma th`ese. Il faudrait aussi que je remercie encore une fois Marc d’avoir
organis´e cette collaboration fructueuse avec Rodney. Je salue Huy Tran qui a consacr´e
une partie non n´egligeable de son temps pour m’initier aux aspects num´eriques de ma
th`ese. Il est ´egalement intervenu de nombreuses fois lors des diff´erentes ´etapes de mes
travaux. Je retiens nos sessions agr´eables avec Huy. Et enfin, je salue Anthony Velghe qui
m’a donn´e de l’appui plusieurs fois pour surmonter les difficult´es li´ees au d´eveloppement
du code IFP-C3D.
J’adresse toute ma gratitude `a IFP Energies nouvelles et au laboratoire EM2C qui, par
les moyens humains, mat´eriels et financiers m’ont apport´e un environnement de travail de
qualit´e. Je remercie Antonio Pires da Cruz, chef du d´epartement R102 (Mod´elisation et
Simulation Syst`eme) pour m’avoir accueilli dans son ´equipe. Je remercie Estelle Iacona,
directrice du laboratoire EM2C, ainsi qu’Olivier Gicquel qui lui a succ´ed´e et m’a permis
de finir mon travail de th`ese dans de bonnes conditions. Je remercie ´egalement l’ensemble
des ing´enieurs et des chercheurs `a IFP Energies nouvelles et `a EM2C pour leurs accueils2
chaleureux. Je retiens les ´echanges avec Nicolas Gillet, Julien Bohbot et Rajesh Kumar
que j’ai eu sur IFP-C3D. Je remercie ´egalement Damien Kah, Aymeric Vi´e et Adam Larat
pour nos ´echanges sur les m´ethodes des moments et les m´ethodes num´eriques.
Je salue les th´esardes et th´esards avec qui j’ai partag´e cette aventure. La liste est
longue, j’en oublie certainement. Du cˆot´e de IFP Energies nouvelles, je remercie Damien
et Sophie avec qui j’ai pass´e des moments agr´eables et amusants dans le mˆeme bureau.
Il m’est ´egalement impossible d’oublier les moments de partage, notemment au tour de
la machine `a caf´e, avec Stavros, Haifa, Betty, Benjamin, Nikola, Emre, Federico, Nicolas,
Carlo, Anthony, St´ephane, Adam, Ayoub, Jan, Lama, Elias, Pablo, Karl. Je salue
´egalement les th´esards et les postdoc avec qui j’ai eu de tr`es bons souvenirs lors de mes
passages au labortoire EM2C. Je pense en particulier Fran¸cois, Alaric, Macole, Gizem,
Pedro, Wassim, Haoxue, Marien, Jose.
Pour finir, je remercie de tout mon coeur mes parents de m’avoir soutenus durant ces
longues ann´ees d’´etudes et en particulier ma compagne Marguerite pour son soutien sans
faille et sa patience pour mes nombreux jours de travail. Elle a su me redonner de la force
quand il m’en manquait.Contents
1 Introduction 12
1.1 General context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 Numerical tools for ICE simulation . . . . . . . . . . . . . . . . . . . . . . 13
1.2.1 System simulation methods . . . . . . . . . . . . . . . . . . . . . . 13
1.2.2 CFD methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Injection physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4 Injection flow description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.5 Disperse phase simulation at a glance . . . . . . . . . . . . . . . . . . . . . 17
1.6 Eulerian polydisperse modeling at a glance . . . . . . . . . . . . . . . . . . 19
1.7 Objectives of this PhD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.8 Organization of the manuscript . . . . . . . . . . . . . . . . . . . . . . . . 22
2 Two-phase flow modeling of high pressure direct injection 26
2.1 Two-phase flow regimes in ICE . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1.1 Physical mechanisms behind two-phase flow dynamics . . . . . . . . 26
2.1.2 Separate-phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1.3 Disperse-phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1.3.1 Basic disperse-flow regimes . . . . . . . . . . . . . . . . . 28
2.1.3.2 Polydispersity . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1.3.3 Particle Trajectory Crossings (PTC) . . . . . . . . . . . . 30
2.2 Modeling approaches for disperse-phases . . . . . . . . . . . . . . . . . . . 31
2.2.1 Direct numerical simulation at the particle level . . . . . . . . . . . 31
2.2.1.1 Sharp interface tracking method . . . . . . . . . . . . . . 31
2.2.1.2 Fluid DNS around solid bodies . . . . . . . . . . . . . . . 31
2.2.1.3 Concluding remarks on DNS methods for the disperse-phase 32
2.2.2 Discrete Particle Simulation (DPS) . . . . . . . . . . . . . . . . . . 32
2.2.3 Two-fluid reduced models . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.4 Kinetic spray modeling . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.4.1 Fundamental assumption . . . . . . . . . . . . . . . . . . 34
2.2.4.2 Williams-Boltzmann Equation (WBE) . . . . . . . . . . . 35
2.2.4.3 Source term closure models . . . . . . . . . . . . . . . . . 36
2.3 Resolution strategies for the kinetic disperse phase modeling . . . . . . . . 37
2.3.1 Stochastic-Lagrangian resolution . . . . . . . . . . . . . . . . . . . 37
2.3.2 Shortcomings of Lagrangian methods . . . . . . . . . . . . . . . . . 38
2.3.3 Eulerian resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1CONTENTS 2
2.3.3.1 Derivation of the Eulerian model . . . . . . . . . . . . . . 39
2.3.3.2 Bottleneck issue for Kinetic based Eulerian methods . . . 40
2.3.4 Conclusion about the resolution technique adopted for ICE applications
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4 Eulerian polykinetic modeling through kinetic
based models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.1 Modeling categories and hierarchies . . . . . . . . . . . . . . . . . . 42
2.4.2 Isotropic and Anisotropic Gaussian velocity closure for homo-PTC . 43
2.5 Turbulent disperse flow modeling through Eulerian kinetic based models . 44
2.5.1 Turbulence modeling at the kinetic level . . . . . . . . . . . . . . . 46
2.5.2 Turbulence modeling at macroscopic level . . . . . . . . . . . . . . 46
2.5.3 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.6 Kinetic based Eulerian simulation of polydisperse droplets . . . . . . . . . 48
2.6.1 Semi-kinetic modeling under a monokinetic assumption . . . . . . . 48
2.6.2 Eulerian polydisperse approach with size sampling . . . . . . . . . . 49
2.6.3 Eulerian Multi-fluid model . . . . . . . . . . . . . . . . . . . . . . . 50
2.6.3.1 Original MF assumptions and the model derivation . . . . 50
2.6.3.2 MF with two size moments per section . . . . . . . . . . . 52
2.6.3.3 PTC with MF method . . . . . . . . . . . . . . . . . . . . 53
2.6.3.4 Conclusion on MF method . . . . . . . . . . . . . . . . . . 54
2.6.4 High order moment methods through quadrature
approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.6.4.1 Quadrature Method Of Moments (QMOM) . . . . . . . . 54
2.6.4.2 Direct Quadrature Moment of Methods (DQMOM) . . . . 55
2.6.5 High order moment methods based on the Maximum entropy NDF
reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.7 Eulerian Multi-Size Moment (EMSM) method . . . . . . . . . . . . . . . . 57
2.7.1 Derivation of EMSM . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.7.2 Moment space issue . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.7.3 NDF Reconstruction through an arbitrary number of moments . . . 59
2.7.3.1 Lower principal representation . . . . . . . . . . . . . . . . 60
2.7.3.2 NDF reconstruction through the Maximum Entropy formalism
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.7.3.3 Discussion on the EMSM closure . . . . . . . . . . . . . . 62
2.7.4 Numerical resolution issue . . . . . . . . . . . . . . . . . . . . . . . 62
2.7.4.1 Evaporation scheme . . . . . . . . . . . . . . . . . . . . . 62
2.7.4.2 Convection scheme . . . . . . . . . . . . . . . . . . . . . . 64
2.7.5 Academic realizations through EMSM method . . . . . . . . . . . . 64
2.7.6 Recent extension of EMSM method to capture hetero-PTC: CSVM
method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.7.7 EMSM towards ICE applications . . . . . . . . . . . . . . . . . . . 66
3 Two-way coupling modeling between the polydisperse evaporation spray
and the compressible gas 69
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69CONTENTS 3
3.2 Derivation of the EMSM model . . . . . . . . . . . . . . . . . . . . . . . . 73
3.2.1 From the kinetic equation to a semi-kinetic system . . . . . . . . . 73
3.2.2 From the semi-kinetic system to the multi-size moment system . . . 76
3.2.3 Nondimensional formulation . . . . . . . . . . . . . . . . . . . . . . 79
3.2.4 Realizability of moments . . . . . . . . . . . . . . . . . . . . . . . . 80
3.3 Overview of the numerical method . . . . . . . . . . . . . . . . . . . . . . 83
3.3.1 Two-way coupling source terms . . . . . . . . . . . . . . . . . . . . 83
3.3.2 Arbitrary Lagrange Euler formalism . . . . . . . . . . . . . . . . . . 86
3.3.3 Elements of time-space discretization . . . . . . . . . . . . . . . . . 87
3.4 Verification of two claimed features for the new EMSM . . . . . . . . . . . 89
3.4.1 Source terms for two-way coupling . . . . . . . . . . . . . . . . . . 90
3.4.1.1 Drag force alone . . . . . . . . . . . . . . . . . . . . . . . 91
3.4.1.2 Drag force and evaporation . . . . . . . . . . . . . . . . . 91
3.4.2 Transport of moments in one-way coupling . . . . . . . . . . . . . . 93
3.4.2.1 Evaporating aerosol . . . . . . . . . . . . . . . . . . . . . 93
3.4.2.2 Non-evaporating spray . . . . . . . . . . . . . . . . . . . . 96
3.5 Implementation of EMSM in IFP-C3D . . . . . . . . . . . . . . . . . . . . 97
3.5.1 A glimpse of IFP-C3D . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.5.2 Validation in one-way coupling configurations . . . . . . . . . . . . 98
3.5.2.1 Scheme robustness through mesh movement . . . . . . . . 98
3.5.2.2 Spray dynamics through evaporation and drag, comparison
with
MUSES3D . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.6 Feasibility of injection computations with IFP-C3D . . . . . . . . . . . . . 101
3.6.1 Description of the test case . . . . . . . . . . . . . . . . . . . . . . . 103
3.6.2 Initialization strategy of both Eulerian and Lagrangian computations105
3.6.3 Discussion on injection simulations . . . . . . . . . . . . . . . . . . 105
3.6.4 Injection of low inertia droplets . . . . . . . . . . . . . . . . . . . . 106
3.6.5 Injection of high inertia droplets . . . . . . . . . . . . . . . . . . . . 107
3.6.6 Concluding remarks on injection simulations . . . . . . . . . . . . . 109
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4 Numerical analysis of a two-way coupled Eulerian high order moment
method for the simulation of polydisperse evaporating sprays 113
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.2 Eulerian polydisperse spray modeling in the gas . . . . . . . . . . . . . . . 115
4.2.1 Eulerian Multi-Size Moment (EMSM) method . . . . . . . . . . . . 115
4.2.1.1 Kinetic description of the spray inside the gas . . . . . . . 115
4.2.1.2 Non-isothermal EMSM model . . . . . . . . . . . . . . . . 117
4.2.2 Two-way coupling through EMSM method . . . . . . . . . . . . . . 119
4.2.2.1 Arbitrary Lagrangian and Eulerian (ALE) formalism . . . 119
4.2.2.2 Source terms reconstruction and global conservation of the
two-phase system in phase A . . . . . . . . . . . . . . . . 120
4.2.2.3 Stiffness issue of the two-phase flow . . . . . . . . . . . . . 122
4.3 Numerical strategy in phase A of ALE . . . . . . . . . . . . . . . . . . . . 122CONTENTS 4
4.3.1 Time integration strategy in case of a constant evaporation law . . 123
4.3.1.1 Resolution of system on size moments . . . . . . . . . . . 123
4.3.1.2 Global strategy . . . . . . . . . . . . . . . . . . . . . . . . 125
4.3.2 Time integration strategy in case of a time-dependent evaporation
law . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.4 Homogeneous test cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.4.1 0-D test case of evaporating polydisperse spray under the d-square
constant evaporation law . . . . . . . . . . . . . . . . . . . . . . . . 129
4.4.2 Variable (realistic) d-square law of evaporation . . . . . . . . . . . . 132
4.4.3 Order of convergence study of the numerical scheme . . . . . . . . . 134
4.5 2D Injection simulations in IFP-C3D code . . . . . . . . . . . . . . . . . . 136
4.5.1 A short description of IFP-C3D software . . . . . . . . . . . . . . . 137
4.5.2 Discussion on injection simulations . . . . . . . . . . . . . . . . . . 138
4.5.2.1 Injection of low inertia droplets . . . . . . . . . . . . . . . 138
4.5.2.2 Injection of high inertia droplets . . . . . . . . . . . . . . 138
4.6 Conclusion and perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5 Implementation of the two-way coupled EMSM algorithm in IFP-C3D
code for 3-D simulations 143
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.2 Implementation of the two-way coupled EMSM method . . . . . . . . . . . 144
5.2.1 Data structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.2.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.2.3 Numerical Scheme in phase A . . . . . . . . . . . . . . . . . . . . . 146
5.3 High pressure injection conditions: 3D configuration . . . . . . . . . . . . . 150
6 Turbulence modeling of polydisperse interactions between the spray and
the gas through the Eulerian high order moment method 154
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
6.2 Modeling approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
6.3 Turbulence models for spray and gas phases . . . . . . . . . . . . . . . . . 160
6.3.1 Reynolds-average equations for the spray . . . . . . . . . . . . . . . 160
6.3.1.1 RA moment equations . . . . . . . . . . . . . . . . . . . . 160
6.3.1.2 Spray-phase mean momentum equation . . . . . . . . . . 161
6.3.1.3 Spray-phase granular temperature equation . . . . . . . . 163
6.3.1.4 Spray-phase total granular energy equation . . . . . . . . 164
6.3.1.5 Spray-phase mean kinetic energy . . . . . . . . . . . . . . 165
6.3.1.6 Spray-phase fluctuating energy . . . . . . . . . . . . . . . 165
6.3.1.7 Spray-phase turbulent kinetic energy . . . . . . . . . . . . 165
6.3.1.8 Spray-phase turbulent kinetic energy dissipation . . . . . . 166
6.3.2 Reynolds-average equations for gas phase . . . . . . . . . . . . . . . 166
6.3.2.1 Gas-phase continuity equation . . . . . . . . . . . . . . . . 167
6.3.2.2 Gas-phase momentum equation . . . . . . . . . . . . . . . 167
6.3.2.3 Gas-phase total energy equation . . . . . . . . . . . . . . . 168
6.3.2.4 Gas-phase internal energy equation . . . . . . . . . . . . . 168CONTENTS 5
6.3.2.5 Gas-phase mean kinetic energy equation . . . . . . . . . . 170
6.3.2.6 Gas-phase turbulent kinetic energy equation . . . . . . . . 170
6.3.2.7 Gas-phase turbulent kinetic energy dissipation equation . 171
6.3.3 Final remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.4 Homogeneous turbulence of two-phase polydisperse flows . . . . . . . . . . 171
6.4.1 Dimensionless equations for homogeneous turbulent flow . . . . . . 172
6.4.2 Example results for fluctuating energy partition with decaying turbulence
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.4.3 Example results for typical ICE flow conditions . . . . . . . . . . . 177
6.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
7 General conclusions and perspectives 184
Appendices 202
A 203
A.1 Specific aspects of time-space discretization . . . . . . . . . . . . . . . . . . 204
A.1.1 Phase A in the one-way coupling framework . . . . . . . . . . . . . 204
A.1.2 Phase B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
A.1.3 Phase C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
B 209
B.1 Reynolds and Phase averaging . . . . . . . . . . . . . . . . . . . . . . . . . 210
B.1.1 Reynolds average . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
B.1.2 Phase average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
B.2 Full RA equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
B.2.1 RA moment equations . . . . . . . . . . . . . . . . . . . . . . . . . 211
B.2.2 RA spray momentum equation . . . . . . . . . . . . . . . . . . . . . 211
B.2.3 RA granular temperature equation . . . . . . . . . . . . . . . . . . 212
B.2.4 RA total granular energy equation . . . . . . . . . . . . . . . . . . 212
B.2.5 RA spray phase mean kinetic energy . . . . . . . . . . . . . . . . . 213
B.2.6 RA gas mass equation . . . . . . . . . . . . . . . . . . . . . . . . . 213
B.2.7 PA gas phase momentum equation . . . . . . . . . . . . . . . . . . 213
B.2.8 RA gas phase internal energy equation . . . . . . . . . . . . . . . . 214
B.2.9 RA gas phase mean kinetic energy equation . . . . . . . . . . . . . 215List of Figures
1.1 LES simulations of a multi-cycle engine XU10-PSA (left, [185]) and of a
multicylinder spark ignition engine (right, [91] . . . . . . . . . . . . . . . . 14
1.2 Experimental view of a direct liquid injection with various two-phase flow
topologies [49]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3 DNS simulation of a liquid jet atomization through the hybrid VOF/Level
Set sharp interface approach [126]. . . . . . . . . . . . . . . . . . . . . . . 17
1.4 Mass density field comparison between the Eulerian Multi-Fluid approach
(left) and Lagrangian (right) description of a polydisperse particle population
in a 3-D simulation context [66]. . . . . . . . . . . . . . . . . . . . . . 19
2.1 Illustration of separate and disperse phases in the injection flow [51] . . . . 27
2.2 Disperse-phase modeling hierarchy characterized through the volume fraction
(horizontal axis) and the ratio of the droplet characteristic length or
time scale over the gaseous characteristic turbulent length or time scale
(vertical axis) [7]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3 Eulerian turbulence modeling through Reynolds-averaging or LES methods
starting from the kinetic level of description. (i) denotes the turbulence
modeling at the kinetic level, whereas (ii) represents turbulence modeling at
macroscopic level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.4 Size distribution with size sampling approach . . . . . . . . . . . . . . . . . 49
2.5 Size distribution with MF method . . . . . . . . . . . . . . . . . . . . . . . 50
2.6 Reconstruction of the size distribution through entropy maximisation (red
dashed line), the real size distribution (black solid line). . . . . . . . . . . . 56
2.7 Total mass density of the polydsiperse evaporating spray. (Top) Results
at time t = 15. (Bottom) Results at time t = 20. (Left) EMSM model.
(Right) Multi-fluid model with ten sections.) . . . . . . . . . . . . . . . . . 65
2.8 Comparison of Lagrangian and Eulerian results for a polydisperse flow
made of droplets of sauter mean radius 20µm within the context of oneway
coupling through EMSM. In each figure, the Lagrangian particles are
displayed on the left side on the domain, and the Eulerian field on the right
side. Left: droplet number m0; Right: particle velocity. (PhD of Damien
Kah [83]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6LIST OF FIGURES 7
3.1 Evolution of spray and gas velocities according to the SDIRK method
(black dashed line) and the exact solution (solid red line). The time-step
∆t is taken to be 10−1
s (left) and 10−3
s (right). . . . . . . . . . . . . . . . 92
3.2 Evolution of various spray and gas properties. Results from analytical (solid
red lines) and numerical (dashed black lines) solutions. Cases for ∆t =
0.06 s (left column), for ∆t = 10−3
s (right column). Top row: moment of
order m3/2; second row: moment of order m1/2; third row: gas mass density
ρg; bottom row: velocities ud and ug. . . . . . . . . . . . . . . . . . . . . . 94
3.3 Left: Initial data for the moments m0 (blue line with stars), m1 (red line
with triangles), m2 (green line with squares), m3 (purple line with circles).
Right: Solution of the Riemann problem at t = 0.1 for non-evaporating
particles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3.4 Left: Solution of the Riemann problem at t = 0.1 for evaporating particles,
containing the exact ρg (solid black line), the computed ρg (dashed brown
line), the computed m0 (blue curve with circles) and m1 (red curve with
triangles). Right: Close-up on the interfacial area and comparison between
various solutions for m0, namely, second-order solution without mesh movement
(solid blue line), second-order solution with mesh movement (dashed
red line), first-order solution without mesh movement (dotted-dashed purple
line), first-order solution with mesh movement (green line with squares). 96
3.5 Evolution of a spray in a discontinuous velocity field. Left: Initial data for
the moments and the velocity. Right: Analytical solutions (markers) and
computed solutions (lines) at time t = 0.225 in the first four moments, i.e.,
m0 (blue), m1 (red), m2 (green), m3 (purple). . . . . . . . . . . . . . . . . 97
3.6 Piston movement during the computation. The computation starts at
cad = −180◦ and ends at cad = 180◦
. . . . . . . . . . . . . . . . . . . . . . 99
3.7 Left: Results in the case of an aerosol, for m0 (solid black line) and m1
(dashed red line). Results for cad = −100◦
, −30◦
, 50◦
, 180◦
. Right: Results
in the case of a spray, for m0 (solid black line) and m1 (dashed red line).
Results for cad = −100◦
, −30◦
, 50◦
, 180◦
. . . . . . . . . . . . . . . . . . . . 100
3.8 Left: Taylor-Green configuration for the gaseous flow. Right: initial condition
for the moment m0 of the spray. . . . . . . . . . . . . . . . . . . . . 102
3.9 Results for m0 at time t = 1. Left: with IFP-C3D. Right: with MUSES3D. 102
3.10 Results for m0 at time t = 1.4. Left: with IFP-C3D. Right: with MUSES3D.103
3.11 Results for m0 at time t = 2. Left: with IFP-C3D. Right: with MUSES3D. 103
3.12 Illustration of Rosin-Rammler distributions actually used in the computations.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.13 Illustration of the 2-D plane geometry and boundary conditions . . . . . . 106
3.14 Results for a droplet population of rSMR = 5µm at time 1.4 · 10−2
s. Left:
Spray without evaporation. Right: Spray with constant evaporation velocity.
Spray volume fraction (top row), gas velocity along the y-axis (middle
row), spray velocity along the y-axis (bottom row). In each panel, Lagrangian
spray is displayed on the left side whereas Eulerian on the right
side. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107LIST OF FIGURES 8
3.15 Evaporated fuel mass fraction inside the gas-phase for a droplet population
of rSMR = 5µm under a constant evaporation velocity at time 1.4·10−2
s. In
the panel, Lagrangian spray is displayed on the left side whereas Eulerian
is displayed on the right side. . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.16 Results from 1-D plots, taken along the x-direction which center point on
y-axis is 12 diameter far from the injector, in case of a droplet population
of rSMR = 5µm. Results from Eulerian (solid black lines) and Lagrangian
(dashed red lines) solutions. Left: Spray volume fraction for droplets without
evaporation. Right: Evaporated fuel mass fraction for evaporating
droplets with a constant evaporation velocity. . . . . . . . . . . . . . . . . 108
3.17 Results from 1-D plots, taken along the y-axis see Figure 3.13, in case of
a droplet population of rSMR = 5µm. Results from Eulerian (solid black
lines) and Lagrangian (dashed red lines) solutions. Left: Spray volume
fraction for droplets without evaporation. Right: Evaporated fuel mass
fraction for evaporating droplets with a constant evaporation velocity. . . . 109
3.18 Results for a droplet population of rSMR = 20µm at time 1.4 · 10−2
s. Left:
Spray without evaporation. Right: Spray with with constant evaporation
velocity. Spray volume fraction (top row), gas velocity field along the yaxis
(middle row), spray velocity along the y-axis (bottom row). In each
panel, Lagrangian spray is displayed on the left side whereas Eulerian is
displayed on the right side. . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.19 Evaporated fuel mass fraction inside the gas-phase for a droplet population
of rSMR = 20µm under a constant evaporation velocity at time 1.4 · 10−2
s.
In the panel, Lagrangian spray is displayed on the left side whereas Eulerian
is displayed on the right side. . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.20 The results from 1-D plots, taken along the x-direction which center point
on Y axis is 12 diameter far from the injector, in case of a droplet population
of rSMR = 20µm. Results from Eulerian (solid black lines) and
Lagrangian (dashed red lines) solutions. Left: Spray volume fraction for
droplets without evaporation. Right: Evaporated fuel mass fraction for
evaporating droplets with a constant evaporation velocity. . . . . . . . . . 111
3.21 Results from 1-D plots, taken along the y-axis see Figure 3.13, in the case of
a droplet population of rSMR = 20µm. Results from Eulerian (solid black
lines) and Lagrangian (dashed red lines) solutions. Left: Spray volume
fraction for droplets without evaporation. Right: Evaporated fuel mass
fraction for evaporating droplets with a constant evaporation velocity. . . . 112
4.1 The spray mean radius evolution through time, given for cases of constant
evaporation (solid line) and time-dependent evaporation (dashed line) . . . 129
4.2 Evolution of the characteristic evaporation time τv (upper graph) and the
characteristic dynamic time scale τd (lower graph) based on the spray mean
size. Evolution under a time-dependent evaporation law (dashed line) and
under a the dynamic time τd (solid line). . . . . . . . . . . . . . . . . . . . 130LIST OF FIGURES 9
4.3 Spray density concentration (moment of order 3/2) evolution under the
constant evaporation. Solutions are given under the time steps ∆t = 10−6
s
(Solid line) and ∆t = 2.4910−3
s (empty squares). . . . . . . . . . . . . . . 131
4.4 Gas phase thermodynamics and vapor mass fraction against time,under the
constant evaporation. Gas temperature Tg (top left), gas pressure Pg (top
right), vapor mass fraction YC7H16 (down left) and gas mass density (down
right). Results under ∆t = 2.49 10−3
s are plotted by empty squares whereas
solid lines correspond to the solution with ∆t = 10−6
s. . . . . . . . . . . . 131
4.5 Velocity evolution under the constant evaporation. Gas velocity when ∆t =
10−6
s (solid line), ∆t = 10−5
s (empty circles) and spray velocity when
∆t = 10−6
(dashed line), ∆t = 10−5
s (empty squares). . . . . . . . . . . . 132
4.6 Spray density concentration (moment of order 3/2) evolution under the
time dependent evaporation. Solutions are given under the time steps ∆t =
10−6
s (Solid line) and ∆t = 2.4910−3
s (empty squares). . . . . . . . . . . . 133
4.7 Gas phase thermodynamics and vapor mass fraction against time,under the
time dependent evaporation. Gas temperature Tg (top left), gas pressure Pg
(top right), vapor mass fraction YC7H16 (down left) and gas mass density
(down right). Results under ∆t = 2.49 10−3
s are plotted by empty squares
whereas solid lines correspond to the solution with ∆t = 10−6
s. . . . . . . 133
4.8 Velocity evolution under the time dependent evaporation. Gas velocity when
∆t = 10−6
s (solid line), ∆t = 10−5
s (empty circles) and spray velocity
when ∆t = 10−6
s (dashed line), ∆t = 10−5
s (empty squares). . . . . . . . 134
4.9 (left) Rosin Rammler distribution (dashed line) and its reconstruction by
entropy maximization (solid line); (right) initial distribution given by (4.39)
“close” to the Rosin Rammler distribution . . . . . . . . . . . . . . . . . . 134
4.10 Logarithm of the error on the moments m0, m1, m2, m3 and m3/2 normalized
by the initial value of m0 as a function of the time step ∆t. . . . . . . 135
4.11 Error studies for the two-way coupling model: logarithm of the error on the
moment m3/2, the spray velocity ud, the gas velocity ug as a function of the
time step ∆t. Results from a constant d-square evaporation law given on
the left graph, whereas from a time dependent d-square evaporation law by
the right graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
4.12 Results for a droplet population of SMR = 5µm at time 1.4 · 10−2
s. Left:
spray-phase velocities. Right: gas-phase velocities. velocity component
along x-axis (top row), velocity component along the y-axis (bottom row).
In each panel, Lagrangian spray is displayed on the left side whereas Eulerian
on the right side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.13 Results for a droplet population of SMR = 5µm at time 1.4 · 10−2
s. Left:
spray-phase volume fraction. Right:fuel vapor mass fraction.In each panel,
Lagrangian spray is displayed on the left side whereas Eulerian on the right
side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.14 The gas-phase temperature field for a droplet population of SMR = 5µm
at time 1.4 · 10−2
s. In each panel, Lagrangian spray is displayed on the left
side whereas Eulerian on the right side . . . . . . . . . . . . . . . . . . . . 140LIST OF FIGURES 10
4.15 Results for a droplet population of SMR = 20µm at time 1.4 · 10−2
s. Left:
spray-phase velocities. Right: gas-phase velocities. Velocity component
along x-axis (top row), velocity component along the y-axis (bottom row).
In each panel, Lagrangian spray is displayed on the left side whereas Eulerian
on the right side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.16 Results for a droplet population of SMR = 20µm at time 1.4 · 10−2
s. Left:
spray-phase volume fraction. Right:fuel vapor mass fraction.In each panel,
Lagrangian spray is displayed on the left side whereas Eulerian on the right
side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.17 The gas-phase temperature field for a droplet population of SMR = 20µm
at time 1.4 · 10−2
s. In each panel, Lagrangian spray is displayed on the left
side whereas Eulerian on the right side . . . . . . . . . . . . . . . . . . . . 142
5.1 Injector hole geometry and chamber. One can notice the refined boundary
condition of the injection device revealing the multiscale nature of the
addressed case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
5.2 Eulerian volume fraction of liquid computed with the EMSM approach. . . 151
5.3 Gaseous fuel mass fraction evaporated with the EMSM approach. . . . . . 151
5.4 Gaseous turbulent kinetic energy related to high jet velocities . . . . . . . 152
5.5 Radial profile of liquid volume fraction (left) and evaporated fuel mass
fraction (right) at different axial positions : z=4Dinj , z=16Dinj , z=32Dinj . 152
5.6 Axial profile of liquid volume fraction (left) and evaporated fuel mass fraction
(right) at different consecutive instants between t=0 (start of injection)
and t=2.4 ms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5.7 Liquid jet penetration with time for different initial conditions on charge
: low charge (Φv = 10−4
) - moderate charge (Φv = 10−2
) with two rSMR
values : 5µm and 20 µm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
6.1 Dynamics of the dimensionless non-evaporating spray-phase energy components
with frozen gas-phase turbulence (one-way coupling). Curves correspond
to three initial conditions: (i) solid lines, (ii) dashed lines, and (iii)
stars. Curves corresponding to the fluctuating energy κ, the spray-phase
kinetic energy kd and the granular temperature Θ are respectively denoted
through circle, square and triangle symbols. . . . . . . . . . . . . . . . . . 175
6.2 Dynamics of the normalized non-evaporating spray-phase energy components
with two-way coupling. Curves correspond to three initial conditions:
(i) solid black lines, (ii) dashed blue lines, (iii) red dots. Curves corresponding
to the fluctuating energy κ, the spray-phase kinetic energy kd and the
granular temperature Θ are respectively denoted through circle, square and
triangle symbols. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.3 Dynamics of the gas-phase energy components for non-evaporating droplets
with two-way coupling. Curves correspond to gas-phase TKE (top) and
gas-phase internal energy (bottom) for three initial conditions: (i) solid
black lines, (ii) dashed blue lines, (iii) red dots. . . . . . . . . . . . . . . . 176LIST OF FIGURES 11
6.4 Gas-phase density evolution (top) and spray density concentration (bottom)
with polydisperse evaporating droplets. . . . . . . . . . . . . . . . . . 177
6.5 Dynamics of the normalized evaporating spray-phase energy components.
Curves correspond to three initial conditions: (i) solid black lines, (ii)
dashed blue lines, (iii) red dots. Curves corresponding to the fluctuating
energy κ, the spray-phase kinetic energy kd and the granular temperature
Θ are respectively denoted through circle, square and triangle symbols. . . 178
6.6 Dynamics of the gas-phase energy components with evaporating droplets.
Curves correspond to gas-phase TKE (top) and gas-phase internal energy
(bottom) for three initial conditions: (i) solid black lines, (ii) dashed blue
lines, (iii) red dots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.7 Mean velocities versus time (top) for cases (ii) (solid black lines) and (iii)
(dashed red lines). Spray density concentration m3/2 versus time for case
(iii) (dashed red lines). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
6.8 Turbulence Reynolds number Re versus time. Cases (i) solid black lines,
(ii) dashed red lines, and (iii) blue dots. . . . . . . . . . . . . . . . . . . . . 181
6.9 Dimensionless gas-phase TKE kg (top) and gas-phase internal energy eg
(bottom) versus time. Cases (i) solid black lines, (ii) dashed red lines, and
(iii) blue dots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
6.10 Normalized total fluctuating energy κ (top, circle), spray-phase TKE kd
(top, square), granular temperature Θ (top, triangle) and spray-phase TKE
dissipation εd (bottom) versus time. Cases (ii) (solid black lines) and (iii)
(dashed red lines). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Chapter 1
Introduction
1.1 General context
In recent years, the global demand for energy has significantly increased with the rising
world population and emerging industrial sectors. Yet the fossil fuel energy supplies are
increasingly scarce and require advanced engineering techniques for their exploitation,
prompting economical challenges. Moreover, the high amount of greenhouse gases and
pollutant emissions continuously released in the atmosphere require to be limited in order
to avoid the global warming and the irremediable degradation of the air quality. In that
context, the road vehicle sector represents one of the main targets to deal with since the
conventional Internal Combustion Engine (ICE), highly consuming fossil fuels, is the leading
responsible for both CO2 emissions and pollutant formations. In the present decade
where fossil fuels will remain to be major energy sources for vehicles, many researchers
and engineers from both public and private institutions collaborate to create innovative
solutions for cleaner and energy efficient engines.
The high pressure direct injection system is actually widely recognized as efficient.
Its main role is to inject the liquid fuel under very high pressure, up to 2000 bars, and
release the required quantity of the fuel in the combustion chamber thanks to the very fast
opening-closing time of the injector valve. This system provides a great cycle efficiency,
controlling the amount of fuel injected in the combustion chamber. However, a good
control of the combustion regime is required in order not to generate high quantity of
pollutant emissions among which soot particles are an important preoccupation. A deep
understanding of flow physics underlying the combustion chamber is therefore of primary
importance in order to develop new engine configurations. There are many possible
methods to achieve this goal. Experimental setups are essential to test the final version of
a new engine concept before its industrialization phase. They also provide reliable data
for testing new physical models. However, they are not profitable since it becomes costly
to conduct many realizations. Moreover, they can not give enough information when the
characteristic time scales of interesting phenomena, such as the injection physics, are too
fast to capture. Given this limited number of experimental test benches, the numerical
simulation techniques are considered to be complementary tools. Yet the fact that there
are several numerical techniques which are classified according to the level of accuracy
they provide, a brief review is required to highlight their interesting points and limitations.
121.2 Numerical tools for ICE simulation 13
1.2 Numerical tools for ICE simulation
It is appropriate to classify these simulation techniques into two main categories: System
simulation and 3D Computational Fluid Dynamics (CFD) simulation.
1.2.1 System simulation methods
Based on 0D/1D models, system simulation tools have experienced rapid improvements
in the past ten years and today is used at all stages of the engine development from
concept design to powertrain control development and calibration. Contrary to 3D CFD
approaches, these tools provide only mean values of global variables such as temperature,
pressure, injection velocity, etc. 0-dimensional models are essentially based on empirical or
phenomenological approaches which are mainly developed to reach very low computational
times (real-time) as a target. Nevertheless, such models are often characterized by very
limited prediction levels. Although in recent years some fruitful developments of refined
physical models, based on the reduction of 3D approaches over a given domain volume as
for example the combustion chamber have been conducted in [15, 48, 90, 122], they do
not provide the resolution of complex 3D flows in ICE.
1.2.2 CFD methods
CFD allows a better understanding of physical phenomena taking place in combustion
chambers such as spray development, heat transfer, combustion, pollutant formation,
etc. All these phenomena are highly influenced by the high unsteady turbulent flow
motion. The turbulent flow field is defined by all characteristic length scales and kinetic
energies of the eddies describing the flow. Kolmogorov (1941) proposed a continuous
distribution of the energy of turbulent eddies as function of their wave number. In such a
representation, the flow energies supposed to be transfered from largest eddies to smaller
ones through division processes without dissipation. The range of scales lies between
the integral length scale (associated to the domain geometry) and the Kolmogorov scale
from which the turbulent energy is dissipated as heat through the influence of molecular
viscosity. During the last few years, numerical description of turbulent processes has
been the subject of several investigations in order to be able to solve a given problem
considering available computational resources. In that context, there are three different
approaches used to simulate flows inside ICE:
• DNS (Direct Numerical Simulation): This method is based on the direct resolution
of transport equations for the fluid flow without any complimentary models or approximations.
Within the validation limit of Navier Stokes equations, it provides
a detailed and high quality study of physical phenomena. This implies however
to resolve all turbulent scales with the help of mesh sizes of the order of the Kolmogorov
scale or smaller. The latter means that an important number of grid points
is required. Moreover, DNS needs highly precise numerical discretization schemes
to limit the necessary grid. All these constraints make DNS a very expensive tool,
prohibited for industrial applications. Let us precise that the DNS is widely used
despite its CPU costs since it is the most accurate CFD tool. It permits rigorous1.2 Numerical tools for ICE simulation 14
physical analysis [138, 134, 69], difficult to conduct experimentally. Moreover it is
widely used for the development of physical models aimed to be implemented in
industrial CFD softwares.
• LES (Large Eddy Simulation): In this case, not all the flow scales are resolved. The
main idea is to model energy dissipating flow scales which are small and isotropic
but resolve all bigger and energy containing scales which are highly anisotropic and
depending on the 3D geometry. This simulation technique requires coarser mesh
sizes than used in DNS and thus provides results using less CPU time. Yet, until
recent years its computational time was considered to be a bottleneck problem for
complex 3D studies. After recent advances on parallel computing and supercomputers,
it is nowadays considered as an emerging tool for industrial applications,
thanks to its ability to capture cycle to cycle variations, rotational motion of the
flow and the anisotropy under reasonable computational time [188]. Within the
context of ICE applications, some fruitful recent works have been conducted such
as in [108, 178] and displayed in Figure 1.1.
Figure 1.1: LES simulations of a multi-cycle engine XU10-PSA (left, [185]) and of a
multicylinder spark ignition engine (right, [91]
• RANS (Reynolds Averaged Navier Stokes equations): This approach is conceptually
different than the last two numerical techniques. While only one realization of the
flow is simulated through LES and DNS, RANS focuses on the ensemble average of
the flow realizations. This accounts for dealing with Reynolds equations instead of
Navier Stokes equations and ensemble averaged mean flow quantities. Within the
well known k-ε approach, all turbulence scales are modeled through the concept of
the mean turbulent kinetic energy and the turbulent energy dissipation rate [141].
Yet more accurate RANS models for complex flow simulations are also available for
industrial simulation purposes [50]. The main drawback of RANS as compared to1.3 Injection physics 15
DNS and LES is its inability to capture instantaneous flow variations and its lack
of accuracy for highly anisotropic flows. Yet RANS is widely used and preferred to
LES for industrial applications. Because its computational time is generally very
low and does not require high order numerical algorithms for the treatment of the
spatial discretization, which is also often difficult to implement in industrial CFD
softwares.
Conscious of the necessity for high accuracy CFD tools for the future of car engine production,
IFP Energies nouvelles has been leading a wide research and engineering activity
on ICE modeling through its industrial codes, AVBP (LES) and IFP-C3D (RANS), [12]
in order to provide innovative solutions for ICE and equipment producers.
Until now, a high maturity has been reached in the simulation of mono-phase gaseous
combustion or turbulent gaseous flow fields. Yet taking into account two-phase flow effects
has become a critical aspect for 3D ICE modeling. In fact, the two-phase flow coming
from the high pressure direct injection of liquid fuel significantly influence flame structure
and pollutant production.
Figure 1.2: Experimental view of a direct liquid injection with various two-phase flow
topologies [49].
1.3 Injection physics
The injection flow is not straightforward to be described due to complex phenomena,
which require a modeling effort to take into account coupled interactions inside the liquid
phase and between the liquid and the gas phases. A broad range of two-phase flow
structures are illustrated in Figure 1.2.
The phenomenon of cavitation is the main factor determining the two-phase flow
regime encountered inside the injector. It occurs when the absolute liquid pressure drop
down to the vapor saturation pressure which depends on the liquid temperature. Therefore,
the formation of vapor bubbles and pockets is observed inside the carrier liquid
phase [100]. The formation of cavitation inside the injector depends on the geometry of
the spray tip and impacts the flow characteristics inside the nozzle. The cavitation is also1.4 Injection flow description 16
one of the underlying physics impacting the liquid desintegration at downstream of the
injector.
The bulk fuel liquid jet coming out from the nozzle of the injector is disintegrated into
small droplets by internal and external forces as a result of the interaction between the
liquid and surrounding medium. The disintegration or breakup process starts right at the
exit of the nozzle when the disruptive forces, caused by the presence of the gas phase in the
combustion chamber and cavitating pockets already created inside the nozzle and mixed to
the liquid, exceed the liquid surface tension and viscous forces. The competition between
cohesive and disruptive forces will set up on the liquid surface, leading to oscillations
and perturbations in the liquid. Under favorable conditions, the oscillations may be
amplified to such an extent that the bulk liquid breaks up into ligaments, clusters and
small drops. This initial breakup process is often referred to as primary breakup or
primary atomization, happening right at the exit of the injector nozzle. Afterwards, the
gas phase keeps interacting with the resulting discontinuous liquid phase. Momentum
transfers occur through interactions between the spray and the gas turbulent eddies.
These interactions may lead to secondary break-up or secondary atomization of the liquid
ligaments and clusters into smaller spherical droplet of various in sizes, This cloud of
droplets is dispersed in the combustion chamber while exchanging momentum and energy
with the surrounding gas-phase. Due to ambiant thermodynamic conditions and twoway
coupling interactions between phases, these droplets evaporate while transferring
their mass to the gas-phase before disappearing completely. The remaining fuel species
vapor pockets pilot the combustion temperature and the equivalence ratio, defining the
combustion characteristics.
1.4 Injection flow description
In order to accurately describe injection physics, one can consider a resolution of the
entire flow, using DNS techniques. But the cost of these methods is the main stumbling
block for their use in industrial framework [100, 23, 22, 98] (Figure 1.3 illustrates a typical
DNS two-phase flow simulation). Therefore, in order to still enable a resolution of the
problem, reduced order models are derived despite the loose of information on the details
of the flow. In that context, some works have been addressed to the complete injection
modeling dealing with all types of two-phase flow structures. The technique so-called
ELSA (Eulerian-Lagrangian Spray Atomization) [33] has been proven to be a promising
option. Through the RANS formalism, some industrial simulations under the diesel engine
conditions for ICEs have been conducted [101]. Moreover, ELSA has been extended to
LES models, promising for the simulation of full injection process, although they are still
under a development stage [24, 25].
On the other hand, some other studies focus on a particular zone in the injection
flow. In that case, regarding physical phenomena driven by different characteristics of the
flow, different types of modeling best suited for each zone are used. In the primary and
secondary break-up zones, the liquid phase being either continuous or involves complex
interfaces between phases, it is necessary to adopt a separate-phase flow description. On
the other hand, far downstream of the injector, a disperse-phase flow description is more1.5 Disperse phase simulation at a glance 17
appropriate. In the latter case, the liquid phase is assumed to be composed of spherical
droplets, which are various in size. This leads to the notion of polydispersity.
The project of IFP Energies nouvelles involves the simulation of the fuel spray injection
in the entire combustion chamber, from the flow in the nozzle injector to the area
downstream of the injector. This simulation requires therefore the use of models correctly
describing the topology of the two-phase flow in different zones of the injection. Recent
works have adress the simulation of separate-phases at the dense zones of the injection
[182, 186, 8, 104, 105].
Yet, the present work aims at contributing to the modeling of polydisperse flow regime.
Therefore, it is interesting to briefly carry out modeling and resolution strategies for the
disperse phase simulations.
Figure 1.3: DNS simulation of a liquid jet atomization through the hybrid VOF/Level Set
sharp interface approach [126].
1.5 Disperse phase simulation at a glance
In the literature, one can distinguish three different disperse-phase modeling categories:
Microscale models, macroscale models derived from averaging of Navier Stokes equations
and kinetic based models.
• Microscale models: There are basically three categories of microscale models, presented
hereafter from the most to the least detailed one. The first one is the sharp
interface methods (VOF, Level Set), which directly solve Navier Stokes equations
[202, 70, 17, 76]. They allow to access all flow details in a two-phase flow, including
detailed mass, energy and momentum exhanges through interfaces. Therefore, they
are considered to be full DNS methods even if there are still stumbling blocks in
resolving properly all scales in the vicinity of the interface. The second one is the
DNS around solid bodies where, no detailed interface resolution is conducted. Yet
the fluid flow around each particle is completely resolved [5, 197] through DNS. The
third one is the Direct particle simulation (DPS) technique, which is less detailed
than DNS around solid bodies in the sense that the effect of particle volume occupation
on the surrounding fluid flow is not resolved [69, 135, 154, 203]. All these
models are used to understand complex physics. But their use in industrial simulations
face difficulties due to their excessive computational times required for their
resolution. They are therefore used to improve and validate models and correlations
for macroscopic and mesoscopic approaches.1.5 Disperse phase simulation at a glance 18
• Macroscale models derived from averaging of Navier Stokes equations of two-fluid
type: These are average models, which describe the two-phase flow topologies
through volume or ensemble averaged quantities. Conceptually, they do not provide
a detailed behavior of flows in the vicinity of interfaces. But they offer lower computational
time, which is viewed as an attractive point for their development. These
methods have been proven to be efficient for flows close to injector nozzle where
the description of interface dynamics and thus interface conditions of equilibrium or
non-equilibrium between the phases are of primary importance [6, 82, 32]. Through
the same modeling philosophy, there has been also an attempt to describe the cloud
of droplets at far down stream of the injector [186]. But in this case, since the fluid
topology is accessed, only through a volume fraction and a surface area density
variables, the polydispersity characteristic of these droplets could not be accounted
for, and so some essential pieces of information are missed since recent works have
shown that polydispersion has to be resolved in order to predict properly the physics
of such two-phase flows.
• Mesoscopic also called kinetic based models: In order to take into account the polydispersity
character of droplets under reasonable CPU time, the kinetic WilliamsBoltzmann
modeling of droplets developed in [193, 194] offers a good compromise.
It allows tracking all particles and their associated velocities, sizes, temperatures
and positions through the evolution of the number density function f.
In this thesis, we will therefore focus on kinetic based models for developing models
capturing the polydisperse character of the disperse-phase flows. Yet there are two possible
resolution approaches of the kinetic model, namely Lagrangian or Eulerian techniques.
• At present, Lagrangian methods are widely used for the disperse-phase simulation
since they combine an efficient modeling of the polydisperse phase, not introducing
any numerical diffusion, and an easiness of implementation. Nevertheless, they suffer
from important drawbacks. First, they raise the question of the coupling with the
Eulerian description of the gas phase. This question is still open since it involves two
ways of description that are fundamentally different even if some recent contributions
have pave the way to at least obtaining grid convergence of solutions. Sometimes a
very high number of statistical particles is needed for convergence issues. Moreover,
in the framework of domain decomposition for parallel computations it is needed
to use complex and costly dynamic partitioning methods, to ensure a good load
balancing between the different parallel processes. Let us recall also that some
advances have been obtained in this field [71]. Finally, as previously mentioned,
Lagrangian methods are restricted to disperse-phase flow only. In order to describe
a full spray injection, Lagrangian methods, when they are used, have to be coupled
with an Eulerian model for separate-phase flows [33].
• The Eulerian formalism consists in indirectly solving transport equations for the
NDF by solving for selected moments of the kinetic equation, using a moment
method. The use of moment methods results in the loss of some information but
for the following two reasons the cost of such methods can potentially be much1.6 Eulerian polydisperse modeling at a glance 19
lower than that of the Lagrangian alternative. The first is due to the fact that the
equation is solved for a limited number of unknowns, the second is related to the
high level of optimization one can reach, when both phases are solved within an
Eulerian framework [30, 68, 66]. Besides, for comparison with data in practice, the
principal quantities of interest are the moments of the NDF. Finally, it appears that
this kind of method allows a priori a much easier coupling with a separate-phase
two-fluid model than Lagrangian methods [83].
Figure 1.4: Mass density field comparison between the Eulerian Multi-Fluid approach
(left) and Lagrangian (right) description of a polydisperse particle population in a 3-D
simulation context [66].
1.6 Eulerian polydisperse modeling at a glance
In the literature, several types of Eulerian models for the description of spray polydispersity
are provided.
• The first one is called the size sampling also called Multi-Class approach, which
performs a discrete treatment of size so that the polydisperse solution is a superposition
of monodisperse solutions evaluated at nodes or classes [94, 9, 131]. But it is
intractable to tackle integral terms except at the cost of strong modal simplifications
[184, 145].
• The second class consists in a discretization of the size phase space into size intervals
called sections since the work of Tambour and coworkers [174, 163, 73]. There exists
a large variety of applications and methods such as Multi-Fluid (MF) models for
sprays (see [94, 92, 93, 95] extended from sectional models of Tambour, Greenberg et
al. and [174, 163, 73]). The original MF approach relies on the derivation of a semikinetic
model from the Williams-Boltzmann equation [193, 194] using a moment
method for velocity and temperature conditioned by size, but keeping the size as a1.6 Eulerian polydisperse modeling at a glance 20
variable [94]. This function is then discretized using a finite-volume approach that
yields conservation equations for mass, momentum, energy of droplets in fixed size
intervals called sections. It has led to very encouraging realizations [30] for DNS
simulations. However, partitioning the particle phase into size sections leads to a
high number of coupled fluids, and results in high computational cost. Yet, some
numerical efforts have been carried out to decrease the number of size intervals while
increasing the accuracy within each size [93, 45] depending on the physics involved
[40, 41].
• The third approach is the quadrature based moment methods. In terms of computational
cost, the possibility of high order moment method considering a single size
section is attractive. To this end, either Quadrature Method of Moment (QMOM)
where the dynamics of moments are evaluated after closing the source terms using
quadrature methods [123, 196] or Direct Quadrature Method of Moment (DQMOM)
wherein equations are directly written on the quadrature weights and abcissas which
describe the reconstructed distribution function having the same moments [65]. Such
methods have proved to be very efficient in a number of configurations. But, they
are not able to accurately predict the evaporating flux at zero droplet size, which
is a point-wise value to be reconstructed from the set of moments [65]. Some recent
contributions have improved the ability of such approaches using Extended
Quadrature Method of Moment (EQMOM) [199].
Within the context of typical ICE simulations, both the droplet evaporation and the
polydispersity need to be correctly captured in order to evaluate the fuel vapor distribution
inside the combustion chamber. The lack of accuracy of DQMOM approach in evaluating
the polydisperse droplet evaporation and the high computational cost associated to
Multi-Fluid method has encouraged recent fruitful works for the development of a new
high order moment method [83]. Kah et al. [83, 120, 87] have proposed a new strategy,
preserving the moment space, called Eulerian Multi-Size Moment model (EMSM). It consists
of taking advantage of continuous description of the size distribution to determine,
through an original kinetic scheme, the evaporation flux of disappearing droplets and to
evaluate the shift in size induced by evaporation. The reconstruction of the NDF is done
by Entropy Maximization through its moments [125]. Moreover, moments convection has
been achieved through either first or second order kinetic scheme while respecting the
moment conservation. The great potential of EMSM is demonstrated in [87], where it is
shown that the computational time for equivalent accuracy is clearly an advantage over
the Multi-fluid method. A first preliminary implementation of the EMSM in the industrial
code IFP-C3D [12] has been also conducted. Let us also emphasize that the size
velocity correlations, which was the missing aspect of EMSM have been also addressed
through the work of Vie et al. [189]. Yet, these developments conducted by Kah [83] were
in the context of one-way coupling, that is, a simple effect of the gas on droplets had been
considered. But in order to take into account physical phenomena observed in a typical
internal combustion engine, more numerical and modeling efforts need to be achieved
with high order moment methods. Taking into account coupled interactions between the
gas and the polydisperse spray under a Reynolds average or LES turbulence model are
primary aspects towards a full engine simulations in industrial codes (i.e. IFP-C3D soft-1.7 Objectives of this PhD 21
ware). Moreover, both quantitative and qualitative validations of the model compared to
either experimental or widely used Lagrangian formulation are still missing and need to
be conducted.
1.7 Objectives of this PhD
The are two main objectives for this PhD:
• Firstly, the two-way coupling modeling between the gas phase, described through
compressible Navier Stokes equations, and polydisperse spray phase, modeled through
EMSM method, has to be achieved. This involves to properly close source terms in
both phases. Moreover, a significant effort has to be done for numerical aspects: in
a combustion chamber mass, momentum and energy exchanges between the spray
and the gas occur under rapid variations; a global simulation time step bigger than
characteristic times related to different phenomena is expected to generate some
stability problems, if not well treated. In the context of Arbitrary Lagrangian Eulerian
(ALE) formalism [43, 78, 79, 57], which allows a splitted resolution of governing
equations for treating moving geometries, the convection and acoustic physics are
explicitly resolved in a separate manner. The stability is guaranteed thanks to
Courant-Friedrichs-Lewy (CFL) condition, imposing a simulation time step small
enough to capture the right physics. Yet two-way coupling interactions require a
coupled resolution of the drag, evaporation, and the heat transfer between the gas
and the spray, through source terms. The time characteristics associated to these
phenomena impose to deal with multiple scales. Moreover, disappearing sizes of
droplets due to the evaporation yield very small relaxation times which can not be
captured by the simulation time step. Under these underlying complex physics, an
accurate, unconditionally stable, while preserving the moment space two-way coupling
resolution strategy should be developed. Moreover, the latter should respect
the ALE formalism and preserve the robustness of the original method associated to
the EMSM method. As far as the required developments are achieved, preliminary
test cases and implementation under the IFP-C3D code first need to be conducted.
Afterwards, the new development should be assess and validated through injection
simulations under the IFP-C3D code.
• Secondly, the turbulence effects need to be taken into account in the two-way polydisperse
interactions between the gas and the spray. In the context of kinetic based
Eulerian models, Fevrier et al. [59] has shown, through DNS simulations, the necessity
to model the fluctuating energy partition inside the spray phase. Fevrier et
al. [59] showed that the instantaneous spray velocity contains two parts: spatially
correlated and uncorrelated velocities. All these achievements have been done in the
context of one-way coupling of mono-disperse spray with the gas. More recently,
the fruitful work conducted by Rodney Fox gave rise to a new Reynolds-averaged
two-phase k-ǫ model [64] for incompressible, non-evaporating, collisional two-way1.8 Organization of the manuscript 22
coupled mono-disperse spray. The new model proposed in [64] for turbulent velocity
correlations between phases agrees with the work of [59] and [175]. Offering a
significant possibilities for industrial RANS simulations, it needs to be improved for
ICE applications under IFP-C3D software. This requires to take into account the
polydisperse character of the evaporating spray and the compressibility of the gas.
For that aim, first of all, a significant effort on the derivation of complete gas-spray
turbulence model has to be conducted. This should be followed by preliminary
test-cases in the context of homogeneous turbulence to validate correct fluctuating
energy exchanges between phases.
1.8 Organization of the manuscript
Answer to all these questions are organized in the manuscript as follows:
• The Eulerian evaporating polydisperse spray simulation requires to be well understood
in order to appreciate the achievements of this PhD thesis detailed in this
manuscript. It is therefore useful to dedicate Chapter 2 to a review on modeling
aspects. Firstly, a review on the microscopic level of disperse-phase flow description
will be discussed to point out the necessity of a kinetic modeling for industrial applications.
Therefore the discussion conducted in section 1.5 will be further detailed.
Afterwards, the basic kinetic Williams-Boltzmann equation along with its main assumptions
will be presented. As far as resolution strategies are concerned, some
discussions on widely used Stochastic Lagrangian methods, also adopted for injection
simulations in Chapters 3 and 4, will be investigated while highlighting their
limitations which make Eulerian moment methods relevant to be used. The polydisperse
character of the spray along with its turbulent interactions are considered to
be two major bottleneck issues towards to two-way coupling modeling. Therefore,
an insightful review on disperse-phase turbulence modeling through Eulerian moment
methods is first carried out. Afterwards, we extend the discussion conducted
in section 1.6, making links between different Eulerian polydisperse methods. In
the final section, the Eulerian Multi Size Moment (EMSM) method originally introduced
during the PhD of Damien Kah [83] will be presented in details along
with its main achievements. This chapter will be concluded with a discussion about
applications towards industrial simulations through the use of EMSM method and
will guide the reader for the remaining chapters of the manuscript.
The scientific novelties provided through this PhD thesis are introduced respectively in
Chapters 3, 4 and 6 summarized in the following:
• Chapter 3 is dedicated to the first achievements of the present PhD, while includes
also some of the works conducted in connection and collaboration with Damien Kah1
[83]. The goal in this chapter is to develop a new numerical strategy for the full
Eulerian two-way coupling modeling between the polydisperse evaporating spray
and the compressible gas. The latter should respect the realizability condition of
1postdoctoral fellow at Center for Turbulence Research Stanford University1.8 Organization of the manuscript 23
the high order moment method (EMSM). Moreover, since the characteristic time
scales associated to evaporating droplets under strong mass and momentum coupling
between phases can be inevitably lower than the global time step during an
ICE simulation, the new method should also guarantee the numerical stability while
providing accurate solutions. The final goal being a direct injection application under
the IFP-C3D code, the method should also respect the Arbitrary Lagrangian
Eulerian (ALE) formalism already derived previously for EMSM method in [83] and
implemented in IFP-C3D code in the context of one-way coupling. Therefore, in
this chapter a detailed insights will be given for the two-way coupling resolution
strategy in the context of ALE formalism. Afterwards, some preliminary homogeneous
test cases to assess the EMSM method and the stability and the accuracy of
the two-way coupling have been discussed and shown. Then, more advanced studies
on multi-dimensional framework should be carried out. The first test case consists
in validating the ability to treat correctly the mesh motion effect on the spray
dynamics through ALE formalism in IFPC3D. Afterwards, through 2D test cases
and in the one-way context, comparisons between the academic code MUSES3D
[30] and IFPC3D software [12] have been carried out, aiming at validating EMSM
method under both structured and unstructured formalisms. Finally, the 2D injection
simulation under the two-way coupling model has been pointed out. Rigorous
comparisons between the Lagrangian and Eulerian simulations have been validated
qualitatively and quantitatively.
• In Chapter 4, a detailed numerical analysis of the two-way coupling strategy will
be conducted. Let us precise that the original method developed in Chapter 3 was
in the context of a constant d-square evaporation law [167, 72]. Yet in a realistic
context, the evaporation is in function of both gas-phase and spray-phase thermodynamic
conditions [2]. Moreover, some convection-correction terms added to source
terms can lead to even more complicated models. All these aspects require a deeper
investigation in the numerical sense. Therefore the aim of Chapter 4 is to conduct a
convergence and accuracy analysis of the numerical method. Through homogeneous
context, some simulations under both constant and time dependent evaporation laws
will be carried out. Afterwards the accuracy will be assessed through convergence
studies, varying the simulation time. Afterwards, under a rather realistic temperature
initial conditions, same injection configurations adopted in Chapter 3 will be
done and compared to the solution of the Lagrangian in a qualitative and quantitative
manner.
• Chapter 5 can be considered as the complimentary of Chapter 3 and 4 in the sense
that, first, one presents the implementation effort of the the two-way coupled EMSM
method in the code IFP-C3D. Then, a 3D injection configuration under realistic
injection boundary conditions will be assessed and results will be analyzed qualitatively.
• Chapter 6 is dedicated to the turbulent two-way coupling modeling between the
polydisperse spray and the compressible gas. Firstly, one discusses the derivation
of an Eulerian-Eulerian model, within the framework of laminar two-phase flows1.8 Organization of the manuscript 24
composed of an evaporating polydisperse spray and a compressible gas. The correct
behavior of the energy partition in the spray phase for the turbulence modeling
requires taking into account the granular temperature effect (also called uncorrelated
motion), as highlighted first in [59]. This accounts for considering a polykinetic
velocity distribution at the kinetic level. Based on this idea, first the original
monokinetic EMSM model is extended to polykinetic in the context of laminar
flow, through a transport equation for the granular temperature. Afterwards, a new
Reynolds-averaged (RA) turbulence model is derived from the two-phase model presented
in Chapter 3. This is based on the same philosophy introduced in [64] for
two-way coupled monodisperse flows. However, one must deal with new terms and
equations that arise due to size moment equations of the polydisperse evaporating
spray and the gas-phase internal energy equation. To overcome this difficulty, new
closure models are provided and discussed. The new turbulence model assessed
through homogeneous test cases. First, the new model is qualitatively validated
as compared to the test case of [59] for one-way coupling and then the extension
to two-way coupling is studied for both evaporating and non-evaporating sprays.
Next, the model is investigated under the conditions typical of high-pressure direct
injection in ICE applications.
General conclusions of this PhD work along with perspective works will be discussed in
Chapter 7
This present work was supported by a grant from IFP Energies nouvelles and S.A.
Centrale Recherche, and benefited from a support from EM2C Laboratory of Ecole Centrale
Paris. Furthermore, we wish to thank our collaborators Rodney O. Fox, Quang Huy
Tran and Anthony Velghe for their scientific and technical contributions to this thesis.
• Contributions of this PhD thesis resulted in publications in international journals:
– D. Kah, O. Emre, Q. H. Tran, S. de Chaisemartin, S. Jay, F. Laurent, and
M. Massot, High order moment method for polydisperse evaporating spray with
mesh movement: application to internal combustion engines, paper submitted
in International Journal of Multiphase flows.
– O. Emre, R. O. Fox, M. Massot, S. de Chaisemartin, S. Jay, and F. Laurent,
Eulerian modeling of a polydisperse evaporating spray under realistic internalcombustion-engine
conditions, paper published in Flow Turbulence and Combustion.
– O. Emre, D. Kah, S. Jay, Q.-H. Tran, A. Velghe, S. de Chaisemartin, R.O.
Fox, F. Laurent, M. Massot, Eulerian Moment Methods for Automotive Sprays,
accepted for a publication in Atomization and Sprays.1.8 Organization of the manuscript 25
– O. Emre, F. Laurent, S. de Chaisemartin, S. Jay, and M. Massot, Numerical
analysis of a two-way coupled Eulerian high order moment method for the simulation
of polydisperse evaporating sprays, paper in preparation for a submission
in Journal of Computational Physics.
• Presentations in the following international conferences have been done during the
PhD period
– O. Emre, F. Laurent, S. de Chaisemartin, S. Jay, D. Kah and M. Massot, Twoway
Coupling modeling through Eulerian moment method for spray injection in
engine simulations, European Congress on Computational Methods in Applied
Sciences and Engineering (ECCOMAS), Vienna, Austria, 2012, pp. 1-18,
– O. Emre, F. Laurent, S. de Chaisemartin, S. Jay, D. Kah and M. Massot,
Eulerian modeling of polydisperse evaporating spray under realistic internal
combustion engine conditions, International Conference on Multiphase Flow
(ICMF), Jeju, Korea, 2013, pp. 1-15.Chapter 2
Two-phase flow modeling of high
pressure direct injection
2.1 Two-phase flow regimes in ICE
2.1.1 Physical mechanisms behind two-phase flow dynamics
As mentioned in the introduction, the liquid fuel injection yields a complex flow, involving
the gas and the liquid phases, from the nozzle injector to the area downstream of the
injector. Each phase is characterized by its proper thermodynamic state and exchanges
mass, momentum and energy with the other phase through its spatial limiting border with
the other phase called “interface”. The topology of the interface is therefore a paramount
aspect to take into account in two-phase flow modeling.
The shape of the interface, its curvature and wrinkles, in brief its complexity are driven
by the competition between surface tension and strain, characterized through a Weber
number. Weber numbers compare the dynamic forces to surface ones, as estimated by
the surface tension σl,g. Such comparison can either resort to a liquid Weber if dynamic
forces on the interface are mostly provoked by the motion of the liquid as in case during
the primary atomization process:
Wel =
ρlL | ul − ug |
2
σl,g
(2.1)
or to an aerodynamic Weber number if the liquid topology is mainly driven by the impact
of the gaseous flow, observed in the secondary atomization process
Weg =
ρgL | ul − ug |
2
σl,g
, (2.2)
with L is a characteristic length of the interface, ρl and ρg are densities for the liquid and
gas phases respectively and ul − ug represents the velocity difference between the phases
[98, 51, 159]. These Weber numbers characterize the density of interface at equilibrium
as regards surface tension and dynamic efforts. So they reflect the intensity of the atomization
process and therefore its multi-scale character. Wel and Weg play a similar role
262.1 Two-phase flow regimes in ICE 27
for atomization as the Reynolds number Re does for turbulence, indicating the number
of relevant degrees of freedom of the system. Weber numbers are static criterions i.e accounting
for the interface equilibrium; whereas the interface dynamics come down to the
value of the Ohnsorge number Oh:
Ohl = p
µl
σl,gρlL
, (2.3)
implying the dynamic viscosity µl of the liquid material and which relates the viscous
forces to surface tension ones.
Yet the interface is not enough to determine the two-phase flow characteristics. The
volume occupied by each phase as well as the mass partition are some other required
parameters in qualifying the two-phase flow regimes. In fact, if the control volume Vc is
the total volume occupied by both phases and Mc is the total mass associated to Vc, the
volume fraction αi and the mass fraction Φmi of the phase denoted through the index i
are given as:
αi =
Vi
Vc
, Φmi =
Mi
Mc
, (2.4)
with Vi and Mi are respectively the volume and the mass of the phase i.
As a conclusion of this brief introduction on mechanisms driving two-phase flows, let
us mention the following definitions. When the interface is complex and none of the two
phases has a remarkable geometry, the flow is said to be separate-phase. On the contrary,
if the liquid-phase is diluted enough -i.e. with not too high a volume fraction α- to allow
distinct packets to form and the flow is smooth enough for the packets to be spherical,
this regime is referred to as disperse and the droplets phase is the disperse phase. Figure
2.1 illustrates separate and disperse flow zones in the injection proces.
Figure 2.1: Illustration of separate and disperse phases in the injection flow [51]
2.1.2 Separate-phase
During the injected liquid core breakup processes in ICE, the interface between the liquid
and the gas is complex and none of the two phases has a remarkable geometry. Therefore,2.1 Two-phase flow regimes in ICE 28
the flow is said to be separate-phase. The increase of the interface density under specific
flow conditions, is referred to as atomization: Let us discuss for now only the main aspects
of atomization, in the context of the present overview. The liquid Weber number Wel
is
the key parameter of primary atomization and the aerodynamic Weber number Weg rather
describes secondary breakup.
The completion of the atomization process results the formation of a disperse phase
flow. The modeling of pure disperse flows is eased by the fact that the interface topology
is fixed, that is both aerodynamic Weber number Weg and Ohnsorge number Ohl are
very low. This accounts for dealing with the cloud of droplets inside the gas. Yet both
inclusions and complex interfaces simultaneously appear, typically during the atomization
process itself, it is remarkably difficult to account in detail for the separated phase domain
and to account efficiently for the spray regime. The modeling of such transition is a key
point in mastering many separate-phase flows [83], especially those where atomization
is expected and where the resulting disperse phase is the desired final state, e.g. for
combustion. Yet the aim of the present manuscript is limited only to the disperse phase
modeling, which is essential to be correctly simulated to provide a future link with such
transition zones. In the following, we therefore focus on pure disperse flows, that is after
the secondary break-up process.
2.1.3 Disperse-phase
The pure disperse-phase flow regime corresponds, in the classification established in [133],
to a liquid volume fraction αl
, going from αl < 10−3 associated to a dilute regime to
αl = 10−2
, limit where it begins to be moderately dense. Moreover, the aerodynamic
Weber number Weg is small enough for droplets to remain spherical. This regime is
referred to as disperse and the non continuous phase is the disperse phase. Although the
liquid interface is not anymore a critical point determining the flow regime, there are other
complicated physical mechanisms, which impact flow dynamics: because the material
density of the liquid inside droplets is much bigger than the carrier gas density, the low
droplets volume fraction is balanced by the liquid mass fraction Φm. This implies strong
two-way interactions between phases in terms of mass, momentum and energy transfers.
Moreover, collisions between droplets occur in moderately dense zones of the flow leading
even to more complicated physics. The limit of these flow regimes are presented in [7].
2.1.3.1 Basic disperse-flow regimes
Within the dilute limit assumption made here, the dynamics of a gas-droplet flow is ruled
by two major effects.
First, droplet-droplet collisions may occur in a two-phase flow, depending on the collision
frequency. The flow can then be parameterized by the Knudsen number Kn
Kn = τc
τg
, (2.5)
with τc is the collision time of droplets and τg is the gas-phase characteristic time. This
number represents the importance of droplet-droplet collisions relative to free transport,2.1 Two-phase flow regimes in ICE 29
and is the equivalent of the Knudsen number defined from the gas kinetic theory [170].
Therefore, the flow behavior is characterized by Kn such as in the gas kinetic theory. The
particle flow can be considered as a continuous flow as long as Kn ≤ 1. On the contrary,
when Kn > 0.1, the rate of collisions is not significant enough to ensure that the flow is
at equilibrium, i.e the velocity distribution function is Maxwellian, or at a state close to
equilibrium.
Figure 2.2: Disperse-phase modeling hierarchy characterized through the volume fraction
(horizontal axis) and the ratio of the droplet characteristic length or time scale over the
gaseous characteristic turbulent length or time scale (vertical axis) [7].
Secondly, the drag is the leading phenomenon intervening in disperse phase flow, which
is the major actor allowing the distribution of droplets inside the combustion chamber.
There are two main dimensionless numbers characterizing this behavior: the Stokes number
St and the droplet Reynolds number Red.
The Stokes number expressed as:
St =
τd
τg
, (2.6)
with τd is the dynamic time scale associated to a droplet of size in surface S, represents
the response of a droplet to a change inside a gas flow. If the Stokes number is small
enough (St ≤ 1), the droplets will have nearly the same velocity as the gas. On the
other hand, for large Stokes numbers, droplets barely feel the gas, so that their trajectory
is hardly influenced by the gas. This issue will lead to the phenomenon called particle
trajectory crossing PTC, which will be further discussed in 2.1.3.3. For an isolated droplet
in a uniform gas, the droplet Reynolds number determines the net force of the gas on the
droplet and expressed as:
Red =
ρgS
1/2
| ug − u |
√
πµg
, (2.7)2.1 Two-phase flow regimes in ICE 30
where u is the droplet velocity. Red is important to characterize the flow regime around
a droplet. A finite particle with a diameter greater than the smallest length scale (Kolmogorov
scale) of the continuous flow can modulate the turbulence of the fluid in the
vicinity of its interface through a wake effect. Otherwise if the particle diameter is smaller
than the Kolmogorov length scale, it is a point particle and the fluid flow around it will
not be influenced by the motion of the particle. Let us also remind that even if a particle
has a smaller diameter than the smallest fluid length scale, its high inertia can lead a
Stokes number greater than 1. All these regimes of particles are important in choosing
the right disperse-phase models, illustrated in Figure 2.2, but also discussed further in
section 2.2.
2.1.3.2 Polydispersity
As far as the disperse-phase topology is concerned, various sizes of droplets determine the
flow regime. In fact, both phases and droplet-droplet interactions are governed by the
size. Characteristic time scales of physical phenomena occurring in the disperse-phase
are therefore driven by the size. For instance, the Stokes number St, depending on size
through dynamic time scale τd, previously given in Eq.(2.6) is one of the parameters
influencing the velocity relaxation between the continuous phase and droplets. Yet one
can also define other Stokes numbers in case where droplet evaporation and heating,
determining the mass and heat exchanges between phases, are governing physics:
Stv =
τv(S)
τg
, StΘ =
τΘ(S)
τg
(2.8)
with τv the evaporation time scale and τΘ the thermal relaxation time scale, depending on
size. The strength of polydispersity and the ways to quantify it depend on the application,
but for internal combustion engine applications considered here, it has a crucial impact
on the equivalence ratio, which conditions the combustions regime and the pollutant
formation.
2.1.3.3 Particle Trajectory Crossings (PTC)
Particle trajectory crossings (PTC), are linked to the ability of droplets to have signifi-
cantly different velocities in a same region of the flow. As the droplets tend to correlate
their velocities at different rates according to their size in a given flow, it is natural to
expect a major influence of size: while all the very small droplets have the gas velocity,
small, medium and large droplets have a velocity depending on their size so that they do
cross if their sizes are significantly different. This is referred to as hetero-PTC i.e. PTC
at different sizes [39]. In addition, medium and large droplets may encounter crossings
even for droplets of the same size, which is referred to as homo-PTC, PTC at same size
[39]: this is due to the fact that medium and large droplets are defined to take a large
time compared to that of the gas to correlate their velocities so these correlations weakly
or never occur.2.2 Modeling approaches for disperse-phases 31
2.2 Modeling approaches for disperse-phases
Disperse two-phase flows can be modeled with different levels of detail, which we present
from the most detailed, microscopic, to the coarsest, macroscopic ones. First, we briefly
present the so-called DNS at the particle level methods that can be used for separatephase
flows as well: they prove to yield too much detail and to be costly for a full ICE
computation. We then present the so-called Discrete Particle Simulation that provides a
less detailed description but sometimes too costly for industrial computations. Afterwards,
two-fluid models, that give a macroscopic, volume average description of disperse-phase
but also widely used for interfacial two-phase flows will be discussed. The latter approach
being considered not to be well adapted for the polydipersity modeling, we finally focus
on kinetic modeling of the disperse-phase.
2.2.1 Direct numerical simulation at the particle level
2.2.1.1 Sharp interface tracking method
The starting point of the derivations to obtain microscopic models, which describe all
scales within each phase and the two-phase flow topology in the vicinity of inter-phases,
requires to write down the following single fluid conservation equations for each of two
phases:
∂tρφ + ∇x · (ρφu) = ∇x · ψ + S, (2.9)
where the successive values of φ, ψ and S are given in the table 2.1: These equations are
Table 2.1: expressions for variables arose in Eq.(2.9)
φ 1 u E = e + 1/2u
2
ψ 0 -T = −P I + τ -T.u + q
S 0 F F.u
valid in the interior of each phase. Here ρ denotes the density, u velocity, T the stress
tensor, and F the body force density. One can directly solve the local instantaneous
equations presented above in the context of DNS. Moreover, the position of the interface
and associated discontinuities of properties across the interface must be solved accurately
to impose satisfactory boundary conditions for both fluid domains [159]. In the literature,
various sharp interface tracking or resolution methods have been designed to capture
interfaces. These methods rely on techniques such as Volume of Fluid (VOF), Level Set,
Ghost Fluid, or a combination of these techniques. Recent advances can be found in
[202, 70, 17, 76]. At this level, since all the flow details are solved, there is no distinction
between the disperse-phase and the separate-phase.
2.2.1.2 Fluid DNS around solid bodies
The principle of this second type of full DNS approach is to solve for a fluid around solid
(not deformable) bodies: the method is sometimes referred to as Fully Resolved Simulation
in the context of solid particles [5] but can also be used for a disperse liquid at low Weg.2.2 Modeling approaches for disperse-phases 32
The solid bodies can be fixed or may move depending on the forces from the surrounding
flow. The treatment of the solid bodies is done with appropriate boundary conditions
e.g. they are meshed or immersed boundary conditions are applied [197]. This approach
can be used to solve the settling of a group of particles/droplets, as the interaction of
particles through their wakes generates a long range interaction and modifies the physical
properties of the system (settling velocities). This approach is costly, its cost increasing
linearly with the number of particles. A less detailed approach should be considered
except when the modeling effort is important.
2.2.1.3 Concluding remarks on DNS methods for the disperse-phase
Full DNS approaches are used to capture complex physics: they notably allow to render
group effects [34], for instance, in group combustion which arises in specific conditions and
where the flame structure and the overall dynamics is strongly linked to the organization
of the cloud and its evolution at large scale [165]. The issue of group effects is also present
in other domains such as in sedimentation modeling [181] and crowd modeling [121]. For
all these group effects, the resolution of the flow at the level of each particle is required
as it strongly differs from that of a single particle and it has an influence on macroscopic
dynamics. Besides, the exact numerical resolution of interfaces is still a research topic,
especially for the purpose of DNS computations to improve and validate models and
correlations, mesoscopic approaches. Yet it is unfortunately very difficult to solve for a
macroscopic system with a full DNS approach, regarding the high cost of the methods,
so these methods are not considered for our problem.
2.2.2 Discrete Particle Simulation (DPS)
This method looks like the DNS around solid bodies except that the effect of particle
volume occupation on the surrounding fluid flow is not resolved [135, 154, 203] and the
fluid particle interactions are modeled under the form of a point particle assumption
global exchange. This means that each particle is tracked separately through ordinary
differential equations (ODE) on its internal variables which can contain the effects coming
from the surrounding continuous fluid phase (i.e. mass, momentum, heat transfer) and
other particles (i.e. collision, coalescence), the effect of return of particles can be taken
into account at this level through specific collision detection algorithms [177, 42]. In case
of the two-way coupling, the mass, momentum and heat-transfer effects of the particles
on the fluid phase are taken into account through source terms in conservation equations
Eq.(2.9). Most of the first numerical studies were dedicated to solid particle dispersion
[168, 52]. The extension to evaporating droplets in turbulent flows has been provided in
[111, 148, 127], and has been used in combustion applications in [110, 151, 128].
In the context of simulations through industrial tools where a very high number of
particles is involved, tracking each particle through DPS approach can be costly. Yet
let us precise that, one of widely used Stochastic Lagrangian method, further discussed
in section 2.3, provides a coarser resolution of DPS approach [46]. The latter is widely
adapted for the coupling with the continuous phase modeled through RANS or LES.2.2 Modeling approaches for disperse-phases 33
2.2.3 Two-fluid reduced models
So far in this section, we have focused on detailed resolution techniques of disperse-phase
flows. As conclusion, we have clarified that, details on the disperse-phase flow are not
required and not adapted for computations through industrial codes. In that case, the
use of volume averaged models can be considered as a promising option. The averaging
process is performed on a volume large enough to contain both phases, and small enough
compared to the length scales desired to be solved [132]. A number of macroscopic
quantities are then accounted for with distinct Eulerian conservation equations. So the
two phases are described as fluids that virtually coexist, for all the quantities are defined
at every location in space. Averaging approach generates closure problems as transfer
terms within the averaging volume have macroscopic effects that should be taken into
account, so that models are required for closure. Let us recall that some authors provided
closures through preliminary detailed studies on a single particle level [2, 160] which make
easier closures for disperse phase flow modeling through averaged methods [186].
There are mainly two different approaches employed to obtain averaged equations. A
first approach involves applying an averaging operator directly to the local conservation
system defined through (2.9). In the averaging process, the various terms appearing in
the macroscopic equations are shown to arise from appropriate microscopic considerations.
This method is used for example by authors such as Ishii [82] or Delhaye [32]. However,
this technique bypasses the discrete nature of the two-phase flow since it does not provide
a complementary equation on the volume fraction α which is crucial in determining the
probable volume occupied by each phase. In the other approach, the notion of phase
function is introduced. It follows the instantaneous interface between the two phases
and is thus convected by the instantaneous interface velocity. Conservation laws are
determined for each phase and they account for the exchanges of mass, momentum and
energy between phase. Closures are provided through a thermodynamic analysis of the
resulting system. This approach is used for example in [6]or in [107] and is taken up by
authors such as in [157, 158].
In the context of ICE simulations at IFP Energies nouvelles, the latter technique based
on the volume fraction equation along with the surface density approach has been used to
describe liquid atomization [104, 105] and disperse-phase modeling [186] dedicated to the
modeling for the dense zone of the injection. Yet it has been shown that the polydispersity
character of droplets is poorly captured since at a given time and position, one could only
access the mean size of the distribution [186]. Taking into account the size distribution
at sub-grid scale is mandatory to describe the right two-phase flow regimes. Therefore,
this technique is not adapted for our problem.
2.2.4 Kinetic spray modeling
The dispersed-phase assumption for the liquid, applicable for dilute sprays with volume
fraction α < 10−2
, allows the use of the so-called kinetic spray model. This model is
based on the Williams equation [193, 194]. Although this represents a mesoscopic level
of description, it is called kinetic by analogy with the mesoscopic kinetic theory of gases.
Indeed, the assumptions made for the spray droplets [62], are similar to the ones made2.2 Modeling approaches for disperse-phases 34
for the gas molecules when deriving the kinetic model. These assumptions are recalled
here. The model describes the transport of the NDF and its evolution, due to the physical
phenomena like evaporation, heat transfer or particle interactions applied to the spray, as
external forces. The source terms responsible for this phase space evolution of the NDF
are analyzed here. Due to the above disperse-phase assumption, the liquid influence on
the gas is obtained through source terms in the gas phase equations, as it was the case for
DPS approach. The expressions for such source terms are provided in the framework of
kinetic spray description. We present herein the framework which allows the derivation
of the Williams-Boltzmann Equation (WBE) for spray, see for example [193, 194].
2.2.4.1 Fundamental assumption
Statistical modeling relies on ensemble (or statistical) averages. The goal is to reduce
the information carried by the numerous particles to the only relevant one of ensemble
behaviors. Each particle, denoted by the subscript i, is described by few degrees of
freedom (DoF) that evolve in time, e.g. a minima its position xi(t) and velocity ui(t).
So the particle system has 6N DoFs in total and its state is exactly described by a point
in a 6N -dimensional space called the Γ phase space with Γ = R
6N . For classic particles
encountering an external force F
ext per unit mass and a particle-particle interaction force
Fi,j per unit mass that differs on the relative distance | xi - xj
|, the equations of motion
at the microscopic level read:
dtxi(t) = ui(t), (2.10a)
dtui(t) = F
ext(t) + X
N
(
j=1
j6=i)
Fi,j (t). (2.10b)
We want to avoid describing all the details of the system and, instead, to follow some of
the quantities that emerge at the macroscopic scale. These quantities define a state at the
macroscopic level and they are not as numerous as the micro-DoFs. So a macroscopic state
can be reached thanks to many different underlying microscopic configurations [143]. We
now focus only on these macroscopic variables: we compute them as ensemble averages,
i.e. an average over many copies of the initial system, possibly evolving differently at the
microscopic scale, but similarly at the macroscopic scale: this idea, due to Gibbs, allows
to smooth out the undesired fluctuations from the temporal behavior of the macroscopic
quantities. The number of ensembles to consider is large enough for the microscopic state
points to be dense in Γ. We thus adopt a statistical point of view, introducing a multipleparticle
joint distribution function f
N (t, x1, x2, · · · , xN , u1, u2, · · · , uN ). The evolution of
an N -particle system is then given by the Liouville equation for the NDF in 6N phase
space:
∂tf
N +
X
N
i
ui
· ∂xf
N +
X
N
i=1
F
ext
i +
X
N
(
j=1
j6=i)
Fi,j
· ∂ui
f
N = 0 (2.11)2.2 Modeling approaches for disperse-phases 35
which originates from the conservation of the number of points in Γ and renders all the
microscopic evolution equations of System (2.10). In practice the dimension of f
N is huge
(it might be infinite) and one has to come up with a reduced (or contracted) description.
Varying the number of particles retained in the state vector Γ, a reduced description
is given by the classical BBGKY hierarchy (the initials are those of the authors who
derived it independently: Bogoliubov, Born, Green, Kirkwood and Yvon) [21, 103]. It
consists of transforming the Liouville equation into a chain of equations in which the first
equation connects the evolution of one-particle PDF f
1
to the two-particle PDF f
2
, the
second equation connects f
2
to f
3 and so on. The system is an exact approach to the
Liouville equation. It is therefore redundant but it is practical to build approximations by
truncation of the chain when some particle correlations are neglected. The most celebrated
example of the utility of the BBGKY hierarchy consists in closing the first equation of
the hierarchy by assuming:
f
2
(t, x1, x2,u1,u2) = f
1
(t, x1,u1) f
1
(t, x2,u2) (2.12)
which means that the particles are totally uncorrelated. The BBGKY hierarchy is then
entirely defined by the knowledge of a one-particle Probability Density Function (PDF)
f
1
evolving in a 6-dimensional space called -phase space according to the equation:
∂tf
1 + u1 · ∂xf
1 + F
ext
1
· ∂u1
f
1 = −
Z
F1,2 · ∂u1
f
1
(t, x1,u1) f
1
(t, x2,u2) du2dx2 (2.13)
The number density function (NDF) f, obtained by summing the one-particle PDF in
order to describe N indiscernible particles [192]: f =
PN
i
f
i
. Its phase space variables are
x et u. Similarly to Eq.(2.13) for the evolution of f
1
, the Williams-Boltzmann equation
is classically used to describe the transport of NDF function.
2.2.4.2 Williams-Boltzmann Equation (WBE)
According to the kinetic spray modeling through Williams-Boltzmann equation (WBE),
each droplet is assumed to be spherical, and is characterized by the unique size and
temperature variables. Moreover, its velocity is defined at its mass center. The entire
information of the disperse phase is included in the number density function (NDF)
f (t, x, S,u, T) so that:
∂tf + ∇x · (uf) − ∂S (RSf) + ∇u · (Ff) + ∂T (Qf) = B + C (2.14)
is at time t the probable number of droplets at a location x in a dx-neighborhood of x,
with a velocity u in a du-neighborhood of u, with a temperature T in a dT-neighborhood
of T, and with a size parameter in surface S in a dS-neighborhood of S. The velocity u is
sometimes decomposed in Cartesian components u = (u1, u2, u3)
T
. If dx is an elementary
volume of the physical space, the infinitesimal volume dudTdS is an elementary volume
of the phase space. The kinetic equation or Williams-Boltzmann equation or sometimes
called Generalized Population Balance Equation simply expresses that the total derivative
of the NDF is due to integral source terms [193]: that are break-up B, usually depending
linearly on f, and collisions C, usually depending quadratically on f. The modeling effort
also consists in closing the different rates of change:2.2 Modeling approaches for disperse-phases 36
• F = dtu is the acceleration applied on droplets per unit mass,
• Q = dtT is the rate of change of droplet temperature due to heat transfer,
• RS = −dtS is the rate of change of the size S of droplets, or evaporation term,
• C is the rate of change of distribution function f due to collisions,
• B is the rate of change of f through particle formation by secondary break-up
process.
2.2.4.3 Source term closure models
Drag model
Among all the terms contained in the term of force applied by unit mass F (gravity and
buoyancy effects, drag force, virtual mass effect, Basset force, lift force) described in [30],
we will focus on the drag term. Indeed, as shown in [45], in a gas-liquid flow, where the
ratio of the gas-phase mass density over the liquid-phase mass density inside droplets is of
the order of 10−2 down to 10−3
, the only external forces that need to be accounted for are
drag force and gravity. Furthermore, in order to work in a simple modeling framework,
we neglect gravity in the studies presented in this work. Through the basic Stokes law
assumption [169], the drag force is commonly expressed in function of the droplet dynamic
time scale and the velocity difference between the surrounding gas-phase and droplet
F (t, x,u, S, T) = 1
τd
(ug (t, x) − u), τd =
ρlS
18πµg
. (2.15)
with ug is the gas-phase velocity, ρl the liquid mass density and µg is the gas-phase
dynamic viscosity. Stokes law is correct as far as Red < 1. Otherwise, the flow around
the droplet renders the convection effects dominants, that is some correction models such
as [160] are required for an accurate drag dynamics.
Evaporation and heating model
Theoritical derivation of the evaporation and the heat transfer coefficients are detailed in
[30]. These coefficients are modeled, based on the film theory around an isolated droplet
[165]. Let us now present their common expressions as:
RS (t, x,u, S, T) = 4π
ρg
ρd
ShcDYF
ln (1 + BM) (2.16)
and
Q (t, x,u, S, T) = 6π
ρg
ρdSCp,l
ShcDYF
ln (1 + BM)
Cp,g (Tg(∞) − [T]
s
)
BT
− Lv
(2.17)
with ρg the gas density, Tg(∞) the gas temperature beyond the diffusive thermal boundary
layer, [T]
s
the temperature at the droplet surface, Cp,g the gaseous specific heat capacity
at constant pressure, ρd the liquid density, Cp,l the liquid specific heat at constant pressure,
DYF Fick’s law binary diffusion coefficient, Lv the latent heat of vaporization, Shc2.3 Resolution strategies for the kinetic disperse phase modeling 37
the convective modified Sherwood number, BM the spalding dimensionless mass transfer
number and BT the spalding dimensionless heat transfer number. Let us give expressions
for spalding dimensionless transfer numbers and the relation between them,
BM =
[YF ]
s − [YF ]∞
1 − [YF ]
s
, BT =
ρgusCp,g
hc
, BT = (BM + 1)
Shc
Nuc
Sc
Pr (2.18)
with [YF ]
s
the fuel mass fraction at the droplet surface, [YF ]∞ the fuel mass fraction beyond
the diffusive mass boundary layer, hc the convective modified heat transfer coefficient, Nuc
the convective modified Nusselt number, Sc the Schmitt number, Pr the Prandtl number.
According to the film theory, the convection prompted by the relative velocity between
the gas and the droplet reduces boundary layers around the droplets. Therefore some
correction models on Sherwood and Nusselt numbers have been proposed in the literature
[2, 165, 56, 26] and reviewed in [30].
2.3 Resolution strategies for the kinetic disperse phase
modeling
Let us, in this section, discuss on the choice of the resolution method for the dispersephase
among two available approaches. The first and widely adopted choice for spray
resolution method is a Stochastic Lagrangian method where we track particles in the
flow. Lagrangian methods consist in tracking statistical particles in connection either
with kinetic equation (2.14) or physical droplets modeled through DPS approach. On
the other hand, Eulerian approach provides an alternative and promising solution to
Lagrangian techniques for the resolution of the kinetic equation (2.14).
In the reminder of this section, let us first present stochastic-Lagrangian and then
Eulerian methods before concluding on our choice for the present thesis.
2.3.1 Stochastic-Lagrangian resolution
The stochastic-Lagrangian description has been introduced in two different contexts.
• On the one hand it has been developed to supply DPS in configurations where the
high number of physical droplets prevents to use one numerical particle for each
droplet, given the high computational cost associated. In this framework, each
numerical particle, also called parcel, represents several physical droplets. This
approach has been first described in [28] and introduced for fuel spray and referred
to as Stochastic Parcel (SP) in [133], extending the work of [46]. This method is
referred in [29] as the discrete element method, and as a multi-continua method
in [165], where the parcels are defined as classes of droplets. The computational
cost of this method is obviously linked to the chosen number of tracked parcels: the
SP method aims at coarsening the DPS description and the number of statistical
parcels is thus set by the computational cost limitation, without drawing any links
with kinetic level of description. The cost of the method is thus well controlled, and2.3 Resolution strategies for the kinetic disperse phase modeling 38
it is therefore broadly used to compute industrial configurations but its rigorous
meaning is doubtful.
• On the other hand, the stochastic-Lagrangian method can be seen as a resolution
method of the Williams-Boltzmann kinetic Eq. (2.14) as stated by [172]. This
approach is called Direct Simulation Monte Carlo (DSMC) method and is also introduced
for rarefied gas in [11]. This approach aims at describing the evolution of
the spray NDF moments, and thus a high number of statistical particles [171] are
needed to obtain a converged solution. The numerical particle has a weight associated,
adapted to the needed refinement: this weight is a real number so a numerical
parcel may represent a fraction of physical droplet. This method provides directly
the ensemble average, in terms of initial condition, and then the reconstructed Eulerian
fields correspond to the same level of information than the one provided by a
Eulerian method.
In cases without collision, the difference between the two methods, is only the level of
refinements provided. Indeed, the convergence expected in the DSMC method demands
a high number of statistical particles, leading to a higher refinement level than in DPS.
On the contrary, the SP method aims at coarsening the DPS description. The number of
statistical parcels is thus set by the computational cost limitation, without drawing any
links with kinetic level of description. Stochastic-Lagrangian methods are implemented
for instance in the KIVA II code [4] and in the IFP-C3D code [12] and are used in many
industrial computational codes at present [81, 156, 36, 35].
2.3.2 Shortcomings of Lagrangian methods
To solve a disperse two-phase flow, the stochastic-Lagrangian approach is often coupled to
a Eulerian approach for the carrier gas phase: we refer to this strategy as Euler-Lagrange.
At present, SP methods are widely used for the disperse-phase simulation since they
combine an easy modeling of the phase polydispersity and particle trajectory crossings
(PTC), a high numerical efficiency, not introducing numerical diffusion, and an easiness of
implementation. Nevertheless, they suffer from some shortcomings, in terms of modeling
and computing. These shortcomings can be listed as follows:
• In some cases, the solution is impacted by the number of Lagrangian parcels used for
the computations. In case where this number is not enough to obtain a converged
solution, a statistical noise is observed. Convergence can be evaluated by performing
several realizations with the same initial and boundary conditions and comparing
the deviation of the solution according to the number of parcels used. However,
convergence studies are rarely performed for industrial computations due to the
limitations on resources.
• Accounting for two-way coupling with an Euler-Lagrange raises two issues.
– First, the ODEs for the parcels are no longer independent but coupled through
the gas equations. The quantities must ideally be relaxed simultaneously for all2.3 Resolution strategies for the kinetic disperse phase modeling 39
the particles at a given location and for the underlying gas, the latter transmitting
information at the velocity of its fastest eigenvalue to the surrounding gas
and parcels. Numerical procedures rarely achieve such strong coupling, since it
is interesting to keep the ODEs as decoupled so that splitting-like techniques
are employed. This can compromise the accuracy of two-way coupling which
is achieved with dedicated methods at the cost of additional efforts [16].
– Second, in a high performance computing context, possibilities of vectorization/parallelization
or implicitation are limited for Euler-Lagrange simulations.
The particle load balance is particularly difficult to achieve [71]. The parcels
must indeed often communicate with the underlying fluid but they move in
the domain in a way that is difficult to predict (at least for the load balance
algorithm). As a result parcels that are computed by a given CPU must be dispatched
to other ones according to a complex process, which does not comply
with efficiency requirements of parallel architecture.
2.3.3 Eulerian resolution
Instead of discretizing all the kinetic degrees of freedom (DoFs) with parcels as in the
stochastic-Lagrangian approach, we can resolve spray Eulerian conservative quantities, as
number or mass density, momentum. These Eulerian methods can be seen as moment
methods derived from the kinetic equation Eq.(2.14).
2.3.3.1 Derivation of the Eulerian model
The full resolution with finite volume of the kinetic equation, Eq.(2.14) can difficultly be
used given its cost related to the high number of phase space dimensions. Indeed in a
3-D case, the phase space is of dimension eight (3 for space, 3 for velocity, 1 for size, 1 for
temperature). Nevertheless, in many cases the knowledge of the full kinetic description
of the spray is not needed, and it is sufficient to know the evolution of global quantities,
the NDF moments. For an arbitrary function ψ(y), the k th order moment mk is defined
by
mk =
Z
y
kψ(y)dy. (2.19)
Therefore, for the NDF we introduce the moment M
Ml,n,i,j,k =
Z
S
Z
T
Z
u
S
lT
nu
i
xu
j
yu
k
z
f (t, x,u, S, T) dS dT du, (2.20)
of order l in size, n in temperature, (i, j, k) for each component of the velocity, respectively.
The evolution of these spray global quantities can therefore be derived from the Williams
kinetic equation Eq.(2.14), in the following way:
Z
S
Z
T
Z
u
S
lT
nu
i
xu
j
yu
k
z Eq.(2.14) dS dT du. (2.21)2.3 Resolution strategies for the kinetic disperse phase modeling 40
2.3.3.2 Bottleneck issue for Kinetic based Eulerian methods
One has to notice that the moment equation derivation leads to a loss of information and
that, without any peculiar assumption, the system of equations for moments is not closed,
even if the kinetic model was. Indeed, some quantities can not be expressed in function of
the set of moments resolved; for example with regard to velocity moments, the equation
for the pth order moment (with p = i + j + k) introduces the moments of order p + 1.
Therefore taking one first order moment M0,0,1,0,0 introduces the second order moments
M0,0,2,0,0, M0,0,1,1,0, M0,0,1,0,1. Assumptions have then to be done on the form of the NDF
to close the moment evolution system. Therefore, there are two major strategies in the
literature.
• For some of the spray Eulerian methods, the derivation of the moment system, along
with its associated closures can be divided into two steps. First a form for the NDF
in velocity and in temperature is presumed for each fixed size as follows:
f (t, x, T, S) = n (t, x, S) φu (t, x,u, S) φT (t, x, T, S) (2.22)
where φu and φT are the presumed PDF in velocity and temperature, that are
assumed independent of temperature and velocity, respectively. The variable n is
the number density of the spray. This leads to the derivation of an intermediate
closed system of conservation laws, the semi-kinetic system. The second step is
devoted to the size-phase space treatment, there exist several methods introducing
different types of system of conservation laws and closures.
• However, we can also find methods using quadrature-based approximations for the
NDF, obtaining the unclosed moments by quadrature formula.
2.3.4 Conclusion about the resolution technique adopted for
ICE applications
As discussed before, for reliable combustion applications, the project of IFP Energies
nouvelles is to resolve the direct injection of the fuel, from upstream to far downstream of
the injector. Yet this requires to resolve both the dense and dilute zones of the injection.
So far, the discussion on resolution strategies has been conducted for the disperse-phase
zone, which is treated either through Lagrangian or Eulerian approaches. Let us also
remind that due to complex interfaces between phases, the resolution for the separatephase
zone is achieved through Eulerian description.
For a complete resolution of the injection, there are basically two main strategies.
Either one resolves the disperse-phase zone through Lagrangian Stochasic method and
couple it to a Eulerian model dedicated to separate-phase zone description, or the complete
injection is fully described through Eulerian methods. In both cases, the transition zone,
where both complex interfaces and droplets are simultaneously present, is required to
be well treated. Through the development of the technique called Eulerian-Lagrangian
Spray Atomization (ELSA) conducted in [33], involving a Stochastic Lagrangian method
for the disperse-phase and a Eulerian interfacial flow model based on the work [183], an2.4 Eulerian polykinetic modeling through kinetic
based models 41
interesting development of a transition zone has been achieved. Yet we believe that a full
Eulerian description of the injection will help us to be more consistent for the development
of such transitions. In the present PhD thesis, we hereafter focus on Eulerian methods
for disperse-phase resolution.
But if Eulerian models appear to be a potential answer to the shortages of Lagrangian
methods, they nevertheless face difficulties in treating the polydispersity. As mentioned
previously, this issue along with the spray evaporation are the two most paramount aspects
required to be accurately described for combustion applications. Treating the droplets
trajectories crossings (PTC) in case of inertial droplets with high Stokes numbers is an
other difficulty for Eulerian kinetic based methods. Moreover, taking into account correct
turbulent interactions driving the spray-gas mixture is not straightforward issue and
requires an important modeling effort.
Among existing models, there are only several Eulerian polydisperse models for evaporating
droplets. Yet the issue of accurately capturing the evaporation characteristics
under a reasonable CPU time remain a bottleneck problem. When it comes to turbulence
disperse-phase modeling for industrial applications through Eulerian methods, most of
them make use of monodisperse droplet distribution and uses different approach for modeling
the particle-gas interactions. In the following of this chapter, we first discuss about
Eulerian concepts which are able to predict particle trajectory crossing events. Then one
moves on the Eulerian modeling strategies dedicated to predicting disperse-phase turbulence
interactions. Afterwards, we will go into details on Eulerian polydisperse models for
evaporating sprays.
2.4 Eulerian polykinetic modeling through kinetic
based models
The common aspect of Eulerian polykinetic models is the fundamental modeling of the
velocity distribution function φu in Eq.(2.22). The basic mono-kinetic assumption for the
velocity distribution that is a unique spray velocity for all droplets at a given time and
position, leading a dirac δ-function φu = δu, has been the starting point for some Eulerian
polydisperse models, discussed in section (2.6). Yet the latter approximation is not true
for two-phase flows with inertial droplets in a gaseous carrier phase. In such flows the
motion of droplets strongly depends on their inertia characterized by their Stokes number,
based on the smallest time scale of the carrier flow which is, in case of a turbulent flow, the
Kolmogorov scale or can be related to a strain rate as demonstrated by S. de Chaisemartin
in his PhD [30]. For low Stokes numbers, the spray phase velocity is strongly correlated to
the gas phase velocity and mono-kinetic velocity distribution is well adapted. Therefore,
one can work with only velocity moments of zero and first order. Yet regimes with higher
Stokes numbers St, droplets velocity are not well correlated locally with the gas velocity.
This leads to an uncorrelated droplet motion either called the Random Uncorrelated
Motion (RUM) [59] or the granular temperature [64]. The latter aspect drives the homoPTC
phenomenon (see part 2.1.3.3). It is important that the velocity distribution φu
locally reproduces polykinetic distribution, that is locally various velocities for same sized
droplets at time t and location x.2.4 Eulerian polykinetic modeling through kinetic
based models 42
2.4.1 Modeling categories and hierarchies
The complete hierarchy of Eulerian methods, aiming at capturing homo-PTC is discussed
in detail in [97]. We can divide up the Eulerian polykinetic approaches of the literature
into two categories:
• Algebraic-Closure-Based Moment Methods (ACBMM): A limited set of moments,
usually up to second order moments, are chosen and transported. Since their transport
involves higher order moments, these missing moments are computed from the
knowledge of the lower order moments through equilibrium assumptions inspired
from RANS turbulence modeling using explicit algebraic closures [166]. One example
of this class of methods introduced in [113, 115] considers and transports a
unique, scalar second order moment. Other second or third order moments are then
computed from the knowledge of the transported moments to get the most accurate
closure at a reduced cost. This type of approach has already reached the real
application level [189, 109, 152]. However it has to face local realizability problems
[162], i.e. the occurrence of moments not linked to a non-negative NDF, and the
design of adapted numerics is not straightforward and has never been conducted
since the mathematical structure of the underlying system of Eulerian equations is
not clearly identified.
• Kinetic-Based Moment Methods (KBMM): The main idea of this type of approach
is to consider a set of moments for which we can associate in a one-to-one correspondence
a unique kinetic velocity distribution with a sufficient number of parameters
to control the given set of moments. This presumed NDF must be non negative
and allows to evaluate high order moments needed in the system of moments for
transport. Closures have been proposed to control moments up to second order
[118, 187], up to the third order (CQMOM [198]), and up to the fourth order (Multi
Gaussian [97]). Among the KBMM two categories emerge; the first is based on
hydrodynamic equilibrium usually related to a given notional collision operator and
the second is based on quadrature methods. The first category allows a well-defined
mathematical structure and entropy inequality, whereas most of the time the second
leads to weakly hyperbolic systems [20]. The main advantage with KBMM is
the existence of dedicated numerical methods, which will guarantee the realizability
and the stable behavior of the numerical schemes, either classical hyperbolic solvers
[102, 179] or kinetic schemes [30, 198, 14].
In the following, let us be interested in KBMM rather than ACBMM methods since the
former presents advantages over the latter in terms of realizability, mathematical structure
and numerical scheme design. Although MG and CQMOM methods can capture a broad
range of homo-PTC scales, these methods are costly due to the high number of velocity
moments required to be transported. Towards the industrial applications framework,
the compromise between the PTC accuracy and CPU cost can be achieve thanks to the
transport of velocity moments up to second order. Let us precise that this implies that
the NDF function is presumed such that third or higher order moments, naturally arising
in the system derived form Eq.(2.14), are closed thanks to the lower order moments. In2.4 Eulerian polykinetic modeling through kinetic
based models 43
that context the Eulerian polykinetic models based on the anisotropic Gaussian (AG) or
the isotropic Gaussion (IG) function for φu in Eq.(2.14) are promising.
2.4.2 Isotropic and Anisotropic Gaussian velocity closure for
homo-PTC
For the sake of clarity on the methods discussed in this part, we consider a monodisperse
droplet population under a constant and uniform temperature which undergoes the
Stokes drag force through its one-way coupling interaction with the carrier gaseous flow.
Moreover, the spatial dimension of our problem is in 2-D. Therefore, the NDF distribution
presented in Eq.(2.22) reduces to the following form
f (t, x,u) = φ (u − ud (t, x)) n (t, x) (2.23)
where u = (u, v)
t
, while the kinetic equation becomes
∂tf + ∇x · (uf) + ∇u ·
1
τd
(ug (t, x) − u) f
= 0. (2.24)
The velocity distribution function is presumed through the Anisotropic Gaussian function
by the following expression
φ (u) = 1
(2π)
3/2
| Σ |
1/2
exp
−
1
2
(u)
t Σ
−1
(u)
(2.25)
where Σ =
1
n
Z
(u − ud) ⊗ (u − ud) fdu. Let us recall that, for an Isotropic Gaussian
(IG) distribution, Σ is isotropic Σ = σI.
Integrating Eq.(2.24) over the velocity phase space leads to the following system of
conservation laws with source terms related to the drag acceleration:
∂tM+ ∇x · F (M) = S (M) (2.26)
where the moment M and fluxes F = (F1, F2)
t
take the expression:
M = n
1
u
v
u
2 + σ11
uv + σ12
v
2 + σ22
, F1 = n
u
u + σ11
uv + σ12
u
3 + 3uσ11
u
2
v + 2uσ12 + vσ11
v
2u + uσ22 + 2vσ12
,S =
n
τd
0
ug − u
vg − v
2 (uug − u
2 − σ11)
uvg + vug − 2 (uv − σ12)
2 (vvg − v
2 − σ22)
(2.27)
and F2 is deduced by obvious substitutions. Let us recall that only four equations will
appear in 2.26 and be resolved if one works with an IG distribution instead of AG.
The system (2.26) has been shown to be hyperbolic and admit entropies [10]. These
properties allow to treat the shocks that can naturally appear in Eulerian moment models2.5 Turbulent disperse flow modeling through Eulerian kinetic based
models 44
and also to rely on the large literature devoted to Godunov-like scheme. Yet the spray
behavior under such models are complicated since one can observe both vacuum zones
and stiff accumulations of droplets. Therefore some high order, realizability preserving,
numerical schemes are developed to deal with such singularities [187].
In [187], it has been concluded, through comparisons with Lagrangian simulations, that
the Anisotropic Gaussion (AG) distribution reproduces well homo-PTC for disperse-flow
regimes characterized through small to moderate Stokes numbers. Moreover, its accuracy
is higher than Isotropic Gaussian (IG) distribution since the PTC is an anisotropic
phenomenon [187]. Yet IG requires less second order moments to be transported than
AG, while still capturing the uncorrelated motion (granular temperature). Within the
context of turbulence RANS or LES modeling, the last issue is necessary for modeling the
correct energy partition inside the spray, as discussed in part 2.5. Computational costs
being a bottleneck problem for industrial simulations, IG is a good candidate for deriving
such turbulence models from moment system of equations, while providing lower costs
compared to AG. IG will be also used for formulating a hybrid poydisperse-polykinetic
model in the present thesis through Chapter 6 within the framework of Reynolds average
modeling discussed in the next section.
2.5 Turbulent disperse flow modeling through Eulerian
kinetic based models
The NDF appearing in WBE is deterministic in a laminar flow but fluctuates in a turbulent
flow. These fluctuations generally arise in one of three ways: (i) the Reynolds number in
the continuous-phase model is large enough for the gas-phase velocity ug to be turbulent,
(ii) the Reynolds number associated to a single droplet Red in the continuous-phase is large
enough for the droplet velocity u to be turbulent, or (iii) the coupling terms between the
phases lead to flow instabilities and turbulence [63].
Given the very small length and time scales encountered in disperse two-phase flows,
the direct numerical simulation (DNS) of Eulerian models based on Eq.(2.14) is not affordable
for industrial computations. In recent years, significant effort on disperse-phase
turbulence modeling through Large Eddy Simulation (LES) or Reynolds-averaged (RA)
techniques have been carried out to resolve the latter difficulty. The former technique
consists in spatially filtering governing equations such that only energy containing large
scales of the turbulence are resolved and smaller scales modeled. It has been discussed
in [141, 63, 60, 142] that filtering-based LES formulations are not consistent with the
underlying concepts used in turbulence modeling since they do not provide any statistical
information on unresolved scales. The modeling concept of unresolved scales for disperse
flow is very important since it conditions the flow regime: in LES, the characteristic fluid
timescale used to define the Stokes number St is that of the smallest resolved scales. Because
the resolved timescales in LES are much larger than the Kolmogorov timescales,
the effective Stokes number in LES will be much smaller than in DNS. For this reason the
correct statistical information on unresolved scales is of great importance. The required
statistical consistence is rather obtained through the use of self-conditioned LES formulation
recently presented in [142]. On the other hand, RA techniques consist on averaging2.5 Turbulent disperse flow modeling through Eulerian kinetic based
models 45
an infinite realization of the same flow. Conceptually, this accounts for resolving only the
averaged fields while modeling all fluctuations around them. The small scale interactions
between particles and continuous-phase are modeled through these fluctuations. Moreover,
Stokes number is based on integral time scale much bigger then Kolmogorov time
scale and the time associated to the smallest resolved scale in LES. Therefore, both the
modeling of fluctuations and the energy partitioning should be carefully and accurately
achieved [64]. In case of either LES or RA turbulence modeling through Eulerian kinetic
based methods, there are basically two ideas in the literature:
• (i) turbulence modeling at the kinetic level: it consists of directly applying the adequate
turbulence averaging (i.e. LES self-conditioned or RA ) on Eq.(2.14), providing
appropriate closures at kinetic level. The second step is then to take moments
of turbulent kinetic equation to obtain an Eulerian system.
• (ii) turbulence modeling at macroscopic level: This method is to first derive moment
equations through phase space integration of Eq.(2.14) then apply the turbulence
averaging on the moment system and provide correct closures.
Figure 2.3: Eulerian turbulence modeling through Reynolds-averaging or LES methods
starting from the kinetic level of description. (i) denotes the turbulence modeling at the
kinetic level, whereas (ii) represents turbulence modeling at macroscopic level
In this part, let us give further details on both philosophies. For the sake of clarity, we
take a simplified form of Eq.(2.14) through following assumption: (a) as the unique source
term, the drag force under the Stokes law with constant τd is taken, (b) NDF function is
simplified to f = f (t, x,u) (c) only one spatial dimension is considered for our problem.
Eq.(2.14) is thus reduced to:
∂tf + ∂x (uf) + ∂u
1
τd
(ug − u) f
= 0. (2.28)2.5 Turbulent disperse flow modeling through Eulerian kinetic based
models 46
2.5.1 Turbulence modeling at the kinetic level
Taking the average of Eq.(2.28) gives rise to the following equation
∂t hfi + ∂x (u hfi) + ∂u
1
τd
(hugi − u)hfi
= −
1
τd
∂u
u
′
g
f
′
(2.29)
with the operator h·i denotes either self-conditioned or spatially filtered or RA averaging.
Therefore hfi is a probability density function (PDF) The final term in Eq.(2.29) is
well known in the literature on very dilute gas-particle flows, fluid seen by the particle,
and often modeled by the sum of a spatial flux and diffusion in velocity phase space
[146, 200, 201]
1
τd
u
′
g
f
′
= −µ∂x hfi − λ∂u hfi, (2.30)
for which details on the derivation of the diffusion coefficients µ and λ can be found in the
literature [146, 200, 201, 80, 136]. In theory, these coefficients can be functions of the phase
space variables or fluid-phase random variables. Yet let us point out that, in the context
of isotropic turbulence modeling, these coefficients have been most of the time taken as
constants either in LES or RA contexts [200, 201]. The turbulent kinetic equation closure
through Eq.(2.30) allows us to conduct the second step towards the Eulerian moment
system derivation. We therefore integrate Eq.(2.29) up to the second order in velocity,
yielding the following moment system
∂t hM0i + ∂x hM1i =0, (2.31a)
∂t hM1i + ∂x (hM2i + µ hM0i) = 1
τd
(hM0i hugi − hM1i), (2.31b)
∂t hM2i + ∂x (hM3i + 2µ hM1i)= 2
τd
(hM1i hugi − hM2i) + 2λ hM0i, (2.31c)
with
hMki =
Z
u
k
hfi du. (2.32)
Let us recall that the unknown moment M3 is classically calculated through rigorous
mathematical approximations, from the reconstruction of hfi through its lower order
moments [62]. It is straightforward to observe that the system (2.31) is completely closed,
since the physical modeling problem for the term
u
′
g
f
′
in Eq.(2.29) has been already
resolved through Eq.(2.30) at the kinetic level.
2.5.2 Turbulence modeling at macroscopic level
The second strategy consists of taking either self-conditioned or spatially filtered or RA
averaging of moment system of equation, see references [188, 114, 129, 153, 161] for LES
and [64] for RA modelings. The first step is therefore to take the velocity moments of2.5 Turbulent disperse flow modeling through Eulerian kinetic based
models 47
Eq.(2.28) yielding the system
∂tM0 + ∂xM1=0, (2.33a)
∂tM1 + ∂xM2=
1
τd
(M0ug − M1), (2.33b)
∂tM2 + ∂xM3=
2
τd
(M1ug − M2), (2.33c)
with
Mk =
Z
u
k
fdu. (2.34)
For turbulence modeling, one applies the RA or self-conditioning or spatially filtering
operator directly to the closed moment equation set (2.33) which gives rise to the following
moment system
∂t hM0i + ∂x hM1i=0, (2.35a)
∂t hM1i + ∂x hM2i=
1
τd
hM0i hugi − hM1i +
M′
0u
′
g
, (2.35b)
∂t hM2i + ∂x hM3i=
2
τd
hM1i hugi − hM2i +
M′
1u
′
g
, (2.35c)
where unknown terms
M′
0u
′
g
M′
1u
′
g
should be properly closed.
2.5.3 Concluding remarks
One can appreciate that unknown terms in system (2.35) should be consistent with the
system (2.31) closed through the correlations given by Eq.(2.30). Yet the latter issue is not
straightforward since it is not clear how to make the link between macroscopic variables
in (2.35) and the internal variables of the PDF hfi at the kinetic level [64]. From that
point of view, it is sometimes argued that finding a closure at the kinetic level would
provide more accuracy [63]. Yet In the context of RA models, the necessity of describing
the correct energy partitioning inside the spray requires separate models for the sprayphase
turbulent kinetic energy (TKE), (the spatially correlated large-scale motion), and
the granular-temperature (the spatially uncorrelated small-scale motion) [59, 175]. This
implies that the kinetic closure Eq.(2.30) should involve the TKE which is actually a
Eulerian quantity. Recalling that coefficients µ and λ in Eq.(2.30) are most of the time
considered as constants, such a closure is not obvious for the RA modeling at the kinetic
level.
As contrast to the lack of RA modeling at the kinetic level, the fruitful work done in
[64] has recently shown the potential of RA modeling at the macroscopic level. Through
the Full Eulerian Reynolds averaging of the two-way coupled monodisperse collisional
particles with the gas-phase, some consistent closures has been given in [64]. The correct
energy partition inside the spray has been taking into account thanks to equations on
the spray TKE, the temperature granular and adequate closures validated as compared
to the theory [59, 175]. This method is therefore promising for industrial disperse-phase
turbulence modeling.2.6 Kinetic based Eulerian simulation of polydisperse droplets 48
2.6 Kinetic based Eulerian simulation of polydisperse
droplets
We now focus on kinetic based Eulerian models able to describe both the polydispersity
and the droplets evaporation. The idea is to briefly discuss about each of the several
existing methods along their potential towards ICE applications.
The derivation of some of the Eulerian polydisperse models are done in two steps. The
first step consists of obtaining the semi-kinetic equation system through the integration
in velocity and temperature of WBE and the second step is the derivation of Eulerian
equations through the integration in size of the semi-kinetic system. Yet for the sake of
simplicity, these methods are originally derived, assuming a monokinetic assumption for
the NDF function but higher velocity moments could be considered. This implies that
there are locally unique velocity and temperature for all droplets. It is therefore useful to
first introduce the semi-kinetic modeling concept based on this strong assumption before
discussing about each of relevant polydisperse models.
2.6.1 Semi-kinetic modeling under a monokinetic assumption
We highlight here the main assumptions on the NDF and give its form under an equilibrium
assumption with no dispersion for the velocity and the temperature distribution:
• [H1] For a given droplet size, at a given point (t, x), there is only one characteristic
averaged velocity ud (t, x, S) and one characteristic temperature Td (t, x, S).
• [H2] The dispersion in the distribution function around the mean velocity is zero in
each direction, whatever the point (t, x, S).
• [H3] The dispersion in the distribution function around the mean temperature is
zero in each direction, whatever the point (t, x, S).
It is equivalent to presume the following NDF conditioned by droplet size:
f (t, x, T, S) = n (t, x, S) δ (u − ud (t, x, S)) δ (T − Td (t, x, S)). (2.36)
From this approximation, we can derive a system of moment equations for the spray
taking the moments in velocity of order 0 and 1 and in internal energy e(T) of Equation
(2.14). This gives rise to the semi-kinetic system of equations:
∂tn + ∇x · (nud) = ∂S (Rdn), (2.37a)
∂t (nud) + ∇x · (nud ⊗ ud) = ∂S (Rdudn) + Fd n, (2.37b)
∂t (ned) + ∇x · (nuded) = ∂S (Rdedn) + QdCv,l (Td) n, (2.37c)
with
Rd = RS (t, x,ud, S, Td), Qd = Q (t, x,ud, S, Td), ed = e (Td). (2.38)
Let us recall that the semi-kinetic system, derived from the monokinetic assumption on
the NDF, is weakly hyperbolic since no pressure like dispersion term arises in Eq.(2.37b)2.6 Kinetic based Eulerian simulation of polydisperse droplets 49
and Eq.(2.37c). Therefore, Eulerian methods which will be derived through system (2.37)
will follow this pressure-less formalism. This remark is particularly important since the
pressure-less system is known to generate delta-shocks and do not capture the homo-PTC
[30]. To overcome this difficulties, these polydisperse methods can be coupled to Eulerian
polykinetic approaches [39] which are already presented in part 2.4.
2.6.2 Eulerian polydisperse approach with size sampling
Let us start with the size sampling approach. The size sampling approach [94, 9] also
referred to as Multi-Class method, or Lagrangian-in-size method [131], considers the NDF
as sampled regarding the size variable, yielding I classes of particles of same size, illustrated
in Figure 2.4. The sampling approach is based on the following approximate NDF:
f (t, x, T, S) = X
I
i
Ni (t, x) δ (u − ui (t, x)) δ (S − Si (t, x)) δ (T − Ti (t, x)) (2.39)
where Ni
, Si
, Ti and ui are respectively the droplet number density, size, temperature and
velocity at the location (t, x). With this form, droplets with the same size are gathered
into classes where i is the index of a class: the classes perform a sampling of the NDF over
the whole phase space. The mass, momentum and energy conservation equation for each
Figure 2.4: Size distribution with size sampling approach
class i of the spray is obtained through the integration of Eq.(2.14) in size S, temperature
T and the velocity u. The mass, momentum and heat source terms are evaluated as they
depend on the sampled droplet variables.
The Multi-Class approach can yield a satisfactory representation of the disperse phase
size distribution, prevented that enough classes are considered and that they correspond
to relevant points. Choosing a satisfactory sampling of a given distribution is a classical
problem but here, it is coupled to the question of predicting the correct evolution of the2.6 Kinetic based Eulerian simulation of polydisperse droplets 50
spray, given such a distribution, which is a tough non-linear and implicit problem. So size
samples are often chosen empirically. Moreover, as the approach is discretized regarding
size with Dirac functions, the non-local transport cannot be accounted for properly:
the size evolution due to sources (coalescence, break-up) is poorly rendered due to the
fact that the samples have no particular reasons to match the new sizes. Conversely
this technique is avoided when it comes to modeling discrete size-changing phenomena.
Looking for the accurate evaporation, this method is not adapted for our problem.
2.6.3 Eulerian Multi-fluid model
The Eulerian Multi-Fluid model (MF), also referred to as sectional method, was developed
in [94] to account for the droplet size in a continuous and affordable manner. It is inspired
from the seminal work in [174], furthered in [163, 73]. But the origin and assumptions of
the Multi-Fluid model have been precisely presented in [94]. Based on the mono-kinetic
assumption, the original MF method is at first order in size for the evaporation [93]. Yet
it has been extended to a second order in size for the evaporation through the work of
[93, 40]. Moreover, recent advances in [39] took into account size-velocity correlations for
a rather precise description of hetero-PTC through two size moments. In this part, we
will first focus on the derivation of the original MF, then providing some information on
recent achievements and finally give a brief conclusion about the method.
Figure 2.5: Size distribution with MF method
2.6.3.1 Original MF assumptions and the model derivation
The original MF method is derived, adopting a mono-kinetic velocity and temperature
distribution. Therefore this accounts of working with the same system given through
Eq.(2.37). Yet, Eq.(2.37) has still a size phase-space S dependence.
The Multi-Fluid model relies indeed on the choice of a discretization for the droplet2.6 Kinetic based Eulerian simulation of polydisperse droplets 51
size phase space:
0 = S0 < S1 < · · · < SNsec = ∞ (2.40)
where Nsec is the number of sections. The system of conservation laws is then averaged
over each fixed size interval [Sk−1, Sk[, called section. The set of droplets in one section can
be seen as a “fluid” for which conservation equation are written, the sections exchanging
mass, momentum and energy. The principle of sectional discretization is shown in Figure
2.5 and can be seen as a finite volume method on the size dimension, continuous sizevariation
source terms (e.g. evaporation) resulting in fluxes at the edges of the size cells.
In the following, let us recall the strategy to obtain a closed conservation equation system
for each section through the integration in size of the semi-kinetic system (2.37).
The velocity and the temperature are supposed to be independent of size variable
within each section. Therefore the notation u(t, x, S) = u
(k)
(t, x) is chosen to designate
the constant velocity distribution in section k. Similarly, one introduces presumed
constant distribution within a section as T (t, x, S) = T
(k)
(t, x) which allows to define
the sectional specific heat capacity c
(k)
d = cd,l
T
(k)
. The validity of these assumptions is
linked to the strength of polydispersity in each section, which is quantified in a section
by comparing the smallest to the biggest Stokes numbers. If the dynamic Stokes number
spectrum is too wide, the discretization must then be refined [30, 41, 39] or or size-velocity
coupled high order moments should be used within each section to improve the accuracy
[39, 189].
For the polydispersity treatment, in each section, the form of n as a function of S is
presumed which allows to reduce the size distribution information in each section at (t, x)
to a set of moments of S.
In the original MF method [94], the One-size Moment (OSM) method which consists of
decoupling the contribution in size S from space-time (t, x) dependence by the following
way:
n (t, x, S) = κ
(k)
(S) m
(k)
3/2
(t, x) (2.41)
where κ
(k)
is a function of size S and m
(k)
3/2
is the size moment corresponding to the spray
mass density within the k th section which is expressed as:
m
(k)
3/2
(t, x) = Z Sk
Sk−1
ρl
6
√
π
S
3/2n (t, x, S) dS = 1 (2.42)
which gives us, for the form κ
(k)
in one section:
Z Sk
Sk−1
κ
(k)
(S)
ρl
6
√
π
S
3/2
dS = 1 (2.43)
As mentioned in [94], κ
(k)
(S) is taken as constant in size distribution .
Let us know derive macroscopic MF equations. For the sake of simplicity, the spray
temperature is assumed to be constant and uniform. From where, taking the integration
in
ρl
6
√
π
S
3/2
of the semi-kinetic system (2.37) within a section [Sk+1, Sk[ leads to the2.6 Kinetic based Eulerian simulation of polydisperse droplets 52
following system of conservation equations:
∂tm
(k)
3/2 + ∇x ·
m
(k)
3/2ud
(k)
= −
E
(k)
1 + E
(k)
2
m
(k)
3/2 + E
(k+1)
1 m
(k+1)
3/2
,
(2.44a)
∂t
m
(k)
3/2ud
(k)
+ ∇x ·
m
(k)
3/2ud
(k) ⊗ ud
(k)
= −
E
(k)
1 + E
(k)
2
m
(k)
3/2ud
(k)
+ E
(k+1)
1 m
(k+1)
3/2 ud
(k+1) + m
(k)
3/2F
(k)
d
, (2.44b)
where we define, in the kth section, the averaged velocity
ud
(k) =
1
m
(k)
3/2
Z Sk
Sk−1
ρl
6
√
π
S
3/2ud (t, x, S) n (t, x, S) dS, (2.45)
and the averaged drag term
F
(k)
d =
1
m
(k)
3/2
Z Sk
Sk−1
ρl
6
√
π
S
3/2Fd (t, x, S) n (t, x, S) dS. (2.46)
Expressions for the evaporation terms E
(k)
1
and E
(k)
2
are given as
E
(k)
1 =
5S
3/2
(k−1)
2
h
S
5/2
(k) − S
5/2
(k−1)iRd
S(k−1)
, (2.47)
and
E
(k)
2 =
5
2
h
S
5/2
(k) − S
5/2
(k−1)i
Z S(k)
S(k−1)
3
2
S
1/2Rd (S) dS, (2.48)
2.6.3.2 MF with two size moments per section
Yet the OSM yields a lack of accuracy in terms of the size distribution and requires a
great number of sections to counterbalance its drawback. An accurate method is therefore
needed to capture polydispersity at the compromise of computational cost, but also ease
of implementation and flexibility. Instead of increasing the number of sections, increasing
the number of moments per section is a promising option. The works done in [93, 40]
rely on solving two size moments in each section and the method is referred to as Two
Size Moment (TSM) method. It consists in transporting moments corresponding to both
the number m
(k)
0
and the mass m
(k)
3/2
instead of one unique moment per section. These
moments are expressed as:
m
(k)
0
m
(k)
3/2
!
=
Z Sk
Sk−1
1
ρl
6
√
π
S
3/2
!
n (t, x, S) dS (2.49)2.6 Kinetic based Eulerian simulation of polydisperse droplets 53
The only realizability condition for a couple of size moments
m
(k)
0
, m
(k)
3/2
in a section is
to be positive and to correspond to an average diameter that is in the size interval:
m
(k)
0 > 0 and m
(k)
3/2 > 0
or
m
(k)
0 = m
(k)
3/2 = 0
(2.50a)
ρl
S
k−1
3/2
6
√
π
≤
m
(k)
3/2
m
(k)
0
≤
ρl
S
k
3/2
6
√
π
Respecting this realizability condition, there are several strategies in presuming an appropriate
n. An exponential reconstruction called the exponential TSM (Exp-TSM) MF
method, suggested in [45], was a first method, respecting the realizability condition. It
has been proven to be well suited for evaporation, which requires mass flux information
at the section boundary. The affine TSM (Aff-TSM) MF method is also based on
a two-parameter approximation of the size distribution, through a positive affine function
reconstruction, in each section. An early version was suggested in [93] and its more
efficient extension has been recently proposed in [96].
2.6.3.3 PTC with MF method
As discussed before, droplets of different sizes can have different velocities due to the
correlations between their sizes and velocities which yield to the hetero-PTC. Moreover,
inertial droplets with the same size can have still different velocities, leading to the homoPTC.
Yet TSM method which captures the polydispersity resolution at a second order
accuracy under a lower number of sections than OSM method, is not well adapted for the
modeling of PTC. This is due to the fact that all droplets within a section share the same
velocity and temperature. In [39], this lack of PTC accuracy has been addressed and MF
method has been extended to capture the PTC.
• Hetero-PTC: Inspired from the work of Vi´e et al. [189] originally developed for high
order moment methods (further detailed in section 2.7.6), the approach called Correlated
Size-Velocity Two Size Moment (CSVTSM) method is designed to account
efficiently for size-conditioned dynamics [39]. CSVTSM method, expected to be second
order in size and velocity has been proven to suit well for coalescing cases. Yet
additional to the two size moments transported in the original TSM MF method,
two in 1D, four in 2D and six in 3D velocity moments per section are transported,
having a significant impact on the CPU time.
• Homo-PTC: Inspired from the Kinetic Based Moment Methods (KBMM) [97, 190],
MF extended and applied to moderate-inertia particle-laden flows in order to capture
small scale PTC [187]. The velocity distribution in the NDF function is no longer
taken as a Dirac function but based on an anisotropic Gaussian (AG) distribution
given. MF method under AG distribution is shown to be well-suited to account for
homo-PTC [39, 42]. The method is promising for moderately dense polydisperse
two-phase flows, to treat the portion of coalescing droplets that has a significant
enough inertia.2.6 Kinetic based Eulerian simulation of polydisperse droplets 54
2.6.3.4 Conclusion on MF method
So far in this part, one has discussed the capability of the MF model to capture the
physics of polydisperse evaporating sprays. However, even though this approach has been
extended to be more accurate by Laurent et al. [96] and [40] for evaporating sprays, the
necessity to discretize the size phase space can be a stumbling block. In that context,
the Eulerian Multi-Size Moment (EMSM) method developed in [83, 120, 87] provides to
increase the polydispersity accuracy within each section while diminishing the number of
sections. Yet it has been proven in [87], a very good accuracy under a shorter CPU time
then MF method is obtained even with the use of only one section. More detail on EMSM
method will be given in section 2.7.
2.6.4 High order moment methods through quadrature
approaches
An other way of describing the polydispersity is to track moments of WBE and to use
a quadrature formula to compute the unknown high order size moments as a function of
low order moments of the NDF.
2.6.4.1 Quadrature Method Of Moments (QMOM)
The original QMOM approach consists in transporting and conserving a set of 2Np size
moments M =
M0, . . . , M2Np−1
with Mk (t, x) = R
R+ ξ
k
f (t, x, ξ) dξ [196, 124, 106].
The NDF function is presumed by the following expression:
f (t, x, ξ) = X
Np
i=1
wi (t, x) δ (ξ − ξi (t, x)) (2.51)
with Np is the number of peaks, wi the weights, and ξi the abscissas. Thanks to the
moment-inversion algorithm provided in [123], weights and abscissas are found from the
relation
Mk =
X
Np
i=1
wiξ
k
i
, k ∈ 0, 1, . . . , 2Np − 1. (2.52)
To illustrate the QMOM method, let us work with a rather simplified WBE for the aerosols
transported through the gas velocity ug
∂tf + ∇x · (ugf) = Λ (t, x, ξ) f (t, x, ξ). (2.53)
After the size integrations of Eq.(2.53), the evolution of the kth order size moment is
given by:
∂tMk + ∇x · (Mkug) = Z
ξ
ξ
kΛ (t, x, ξ) f (t, x, ξ) dξ (2.54)
The evolution of the NDF is therefore described by 2Np equations. Yet, The form of the
function Λ can be complex and yields unclosed moments at the right hand side of system2.6 Kinetic based Eulerian simulation of polydisperse droplets 55
(2.54). The strategy adopted in QMOM method is to first reconstruct quadrature points
through Eq.(2.52) and then compute unclosed integral terms as:
Z
ξ
ξ
kΛ (t, x, ξ) f (t, x, ξ) dξ =
X
Np
i
ξ
k
i wi (t, x) Λ (t, x, ξi (t, x)) (2.55)
In particular, from the quadrature formula, the non-conserved moments can be computed
simply:
Mα =
X
Np
i=0
wiξ
α
i
(2.56)
Yet the QMOM has a limitation for practical applications under the spray evaporation
since the continous form of the distribution is required to be well described for an accurate
evaluation of the disappearing flux of droplets at zero size. This is not possible such
an expression given through Eq.(2.52). When using more quadrature nodes, QMOM is
expected to be more and more accurate, the counterpart being a higher cost and a more
difficult moment-inversion.
2.6.4.2 Direct Quadrature Moment of Methods (DQMOM)
This quadrature method has been originally developed for cases where a multi-variate
NDF function is required for WBE [106]. For example, the description of particle trajectory
crossings within the multi-dimensional context requires to consider a velocity
component for each spatial dimension. In order to evaluate its effectiveness in the context
of evaporating polydisperse spray modeling, it has been also compared to the MF method
in [65]. Let us now write down the form of the NDF for the DQMOM derivation as
f (t, x,u, ξ) = X
Np
i
wi (t, x) δ (u − ui (t, x, ξi)) δ (ξ − ξi (t, x)). (2.57)
In this case, instead of transporting moments of the distribution, one transports all abscissas
and weights of quadratures. This implies also transporting Np diracs. The following
Eulerian equation system is given as:
∂twi + ∇x · (wiui) = ai
, (2.58a)
∂t (wiξi) + ∇x · (wiξiui) = bi
, (2.58b)
∂t (wiξiui) + ∇x · (wiξiui ⊗ ui)= ci
, (2.58c)
where source terms (ai
, bi
, ci ) are obtained from WBE, writing conservation equations
on a set of chosen moments. Yet, in [65], it has been demonstrated that the DQMOM approach
shows inaccuracies when it comes to predict droplet evaporations since as QMOM,
it can not capture the pointwise value related to the number of disappearing droplets.
Therefore, it does not provide a solution to our ambition to accurately simulate polydisperse
evaporating droplets. Moreover, it has been proven to be inaccurate for PTC events
for which the CQMOM approach is rather preferred [198].2.6 Kinetic based Eulerian simulation of polydisperse droplets 56
2.6.5 High order moment methods based on the Maximum entropy
NDF reconstruction
A promising alternative to QMOM is to reconstruct, among the infinity of solutions in
the moment space, the unique NDF function, which maximizes the Shannon Entropy
(ME) through its low order moments [125, 173], see Figure 2.6. Yet there are also other
NDF reconstruction choices, like used in the description of aerosol Extended QMOM
(EQMOM): a sum of beta PDF or gamma PDF, with the possibility to degenerate on
quadratures, but sometimes with a loose of the highest moment in the reconstruction
[199].
ME reconstruction technique and its associated numerical strategy for the accurate
evaluation of evaporation dynamics has been proved to be very promising for applications
in relations with polydisperse sprays [120]. Therefore, inspired from the basic assumptions
of MF method [94], the Eulerian Multi Size Moment (EMSM) method has been developed
in [83, 120, 87]. The ability of spray simulations under the unstructured mesh motion
through EMSM has been successfully assessed in [86]. It has been shown in [87] that
EMSM can reach comparable levels of accuracy, with a reasonable space discretization,
with reference to a Lagrangian simulation, while leading to a much lower level of computational
cost compared to the standard MF approach. Let us also mention that a more
recent work called Coupled Size-Velocity Moment (CSVM) method has been developed,
in [190], as an extension model of the EMSM, taking into account size-velocity correlations
in the spray. In [190], a tabulation technique has been also developed to decrease
significantly the CPU time associated to size moment reconstruction.
Figure 2.6: Reconstruction of the size distribution through entropy maximisation (red
dashed line), the real size distribution (black solid line).2.7 Eulerian Multi-Size Moment (EMSM) method 57
2.7 Eulerian Multi-Size Moment (EMSM) method
It has been previously shown that, although the MF method offers an accurate resolution
for the evaporating polydisperse spray, the necessity to discretize the size phase space,
making use of several sections, requires to transport a system of governing equations for
each section, thus increasing the CPU time. Let us recall that the computational time can
be decreased through the use of a two-size moment MF method, while maintaining a good
accuracy on the size distribution. Yet still more than one section is required. In [120], a
four-size moment MF method has been developed, leading a very good accuracy both in
case of only two and even one size section. Since one section is enough to capture accurately
the polydisperse evaporating spray, this one-section technique has been adopted in
developing the high order moment method, called Eulerian Multi-Size Moment (EMSM)
method as already presented to be accurate in part 2.6.5, while providing lower CPU
time. In the reminder of this section, let us go into details of the EMSM method with
four-size moments1
. Firstly, its derivation strategy will be given. Then the bottleneck
points in working with several size moments along with the associated realizability condition
will be point out. Afterwards, we will discuss about dedicated numerical schemes
developed in the literature and recent fruitful realizations. Then, one will briefly discuss
about the recent work initiated from the basis of EMSM to capture the hetero-PTC. Finally,
its implementation in the industrial code IFP-C3D as well as required developments
towards ICE applications will be discussed. The latter aspect will guide the reader for
the remaining chapters of the present manuscript.
2.7.1 Derivation of EMSM
As was the case for MF method, the EMSM method is also based on a mono-kinetic
assumption for both the temperature and the velocity distribution. Yet deriving a size
moment system at macroscopic (Eulerian) level is rather different in EMSM compared to
MF since the size distribution function n is kept smooth and following assumptions are
done:
ud (t, x, S) = ud (t, x), Td (t, x, S) = Td (t, x). (2.59)
For the sake of simplicity, let us now take RS in Equation (2.14) as a constant, so that
RS = Rd, and neglect the heat transfer term Q = 0. One first takes the moments of
Eq.(2.37a) in size of order 0 up to 3. Then one takes the size moment of order one of
Eq.(2.37b). Then the governing equations are given as:
∂tm0 + ∇x (m0ud) = −Rdn (S = 0), (2.60a)
∂tm1 + ∇x (m1ud) = −m0Rd, (2.60b)
∂tm2 + ∇x (m2ud) = −2m1Rd, (2.60c)
∂tm3 + ∇x (m3ud) = −3m2Rd, (2.60d)
∂t (m1ud) + ∇x
m1ud
2
= −Rdm0ud +
18π
ρ
µgm0(ug − ud). (2.60e)
1EMSM can also be used in the context of a size discretization in each section as a hybrid approach
making the link between Multi-Fluid and high order moment method [189]2.7 Eulerian Multi-Size Moment (EMSM) method 58
with
mk =
Z Smax
0
S
kn (t, x, S) dS, (2.61)
and the unclosed term n (S = 0) represents the number of disappearing droplets due to
evaporation. Smax is the maximum size of the distribution. The system (2.60) has been
investigated in [83, 120, 87] from both modeling and numerical point of view. The realizability
issue is raised as the moment space in which the moment vector lives is a convex
subspace of (R+)
4 but with a quite complex shape, as explained in part 2.7.2. Numerical
methods (e.g. transport schemes) must be carefully developed to avoid approximations
of the moment vector that would be out of the moment space, resulting in failure of the
simulation.
Phenomena involved in (2.60) (i.e, evaporation and convection) can be decoupled
through an operator splitting approach [102]. Therefore, the subsystem that represents
the evolution due to the evaporation and Stokes drag is given as:
∂tm0 = −Rdn (S = 0), (2.62a)
∂tm1 = −m0Rd, (2.62b)
∂tm2 = −2m1Rd, (2.62c)
∂tm3 = −3m2Rd, (2.62d)
∂t (m1ud) = −Rdm0ud +
18π
ρ
µgm0(ug − ud), (2.62e)
whereas the one for the convection is expressed as:
∂tm0 + ∇x (m0ud) = 0, (2.63a)
∂tm1 + ∇x (m1ud) = 0, (2.63b)
∂tm2 + ∇x (m2ud) = 0, (2.63c)
∂tm3 + ∇x (m3ud) = 0, (2.63d)
∂t (m1ud) + ∇x
m1ud
2
= 0. (2.63e)
For the numerical resolution of both (2.62) and (2.63), the main issue is to keep the
integrity of moment set at anytime of the computation. An appropriate closure for the
term n (S = 0) in Eq.(2.62a) and an accurate evolution of moments mk through (2.62a)-
(2.62d) due to evaporation require particular numerical strategy which will be detailed in
part 2.7.4.1. The resolution of the pressure-less system (2.63) will be explained in section
2.7.4.2.
2.7.2 Moment space issue
The major challenge for numerical methods designed for evaporation and transport is to
keep the integrity of the moment vector m , i.e to ensure that m = (m0, m1, . . . , m3)
t
belongs to the moment space at any time of the resolution process. Yet, even if the
moment space M3
(0, Smax) where lies the size moment vector m is convex, it has a
complex geometry in the semi-open space (R
+)
3
[120]. A simpler space can be determined
by using the canonical moments [38]. The geometry of the space of the canonical moments2.7 Eulerian Multi-Size Moment (EMSM) method 59
vectors is much more simpler than the one of the moments since it is then the cube [0, 1]3
.
It is therefore interesting to know their expressions. Let us right down the first four
canonical moments:
p0 = 1, (2.64a)
p1 =
m1
Smaxm0
, (2.64b)
p2 =
m0m2 − m2
1
m1 (Smaxm0 − m1)
, (2.64c)
p3 =
(Smaxm0 − m1) (m1m3 − m2
2
)
Smax (m0m2 − m2
1
) (Smaxm1 − m2)
. (2.64d)
So the actual moments read:
m1 = m0p1Smax, (2.65a)
m2 = m0p1S
2
max [(1 − p1) p2 + p1] , (2.65b)
m3 = m0p1S
3
max
(1 − p1) (1 − p2) p2p3 + [(1 − p1) p2 + p1]
2
. (2.65c)
The canonical moments are then very useful in order to check the belonging to the moment
space and design numerical schemes for system (2.62) and (2.63). The Hausdorff finite
moment problem for the moments m is : finding a positive real valued function ˜n defined
on [0, Smax] such that:
m =
Z Smax
0
1
S
.
.
.
S
N
n˜ (m, S) dS (2.66)
Yet if m belongs to the interior of M3
(0, Smax), there is an infinity of solutions. Let us
recall that similar problems were tackled in different ways in the context of MF methods,
previously introduced in section 2.6.3. In the case of MF-OSM [94], the positivity of only
one size moment is enough to stay in the moment space, whereas for the case of MF-TSM
[93, 45], the preservation of the moment space is conditioned through a more restrictive
law given through (2.50).
In the following, some reconstructions are introduced for an arbitrary number of moments
in relation with the structure of the moment space.
2.7.3 NDF Reconstruction through an arbitrary number of moments
In this part, one will discuss about available techniques for NDF reconstruction through
its moments.
Etude des facteurs de pertinence dans la recherche de ´
microblogs.
Firas Damak
To cite this version:
Firas Damak. Etude des facteurs de pertinence dans la recherche de microblogs.. Information ´
Retrieval. Universit´e Paul Sabatier, 2014. French.
HAL Id: tel-01074732
https://tel.archives-ouvertes.fr/tel-01074732
Submitted on 15 Oct 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.THESE
`
En vue de l’obtention du
DOCTORAT DE L’UNIVERSITE DE TOULOUSE ´
D´elivr´e par : l’Universit´e Toulouse 3 Paul Sabatier (UT3 Paul Sabatier)
Pr´esent´ee et soutenue le 15/07/2014 par :
Firas Damak
Etude des facteurs de pertinence dans la recherche de microblogs. ´
JURY
Claude CHRISMENT Professeur, Université Toulouse 3 Pr´esident du Jury
Patrice BELLOT Professeur, Aix-Marseille Université Rapporteur
Patrick GALLINARI Professeur, Université Pierre et Marie Curie Rapporteur
Brigitte GRAU Professeur, ENSIIE Examinatrice
Christian SALLABERRY MCF/HDR, UPPA Examinateur
Mohand BOUGHANEM Professeur, Université Toulouse 3 Directeur
Guillaume CABANAC MCF, Université Toulouse 3 Co-encadrant
Karen PINEL-SAUVAGNAT MCF, Université Toulouse 3 Co-encadrante
Ecole doctorale et sp ´ ´ecialit´e :
MITT : Image, Information, Hypermedia
Unit´e de Recherche :
Institut de Recherche en Informatique de Toulouse (UMR 5505)
Directeur(s) de Th`ese :
Mohand BOUGHANEM, Guillaume CABANAC et Karen PINEL-SAUVAGNAT
Rapporteurs :
Patrice BELLOT et Patrick GALLINARI2Du plus profond de mon cœur, je dédie ce travail,
À Mes parents Ridha et Sabeh Pour lesquels j’exprime mon amour et
ma gratitude pour leur sacrifice et leur soutien moral. Ils n’ont eu de cesse
de m’encourager et de m’offrir des conditions favorables durant la période
de mes études. Que DIEU leur préserve une bonne vie.
À Mes frères Farah et Mehdi Qu’ils trouvent dans ce travail
l’expression de ma reconnaissance en leur souhaitant un avenir plein
de succès et de bonheur.
À Ma meilleure amie Ines Pour son soutien moral et pour
les moments inoubliables que nous avons passés ensemble tout au long de ces
années.
À Toute personne qui m’a soutenu moralement durant la réalisation de ce
mémoire, En témoignage de ma fidélité et mon attachement en leur
souhaitant toute la joie et le bonheur du monde. . .4Remerciements
Il m’est agréable de manifester ici toute ma gratitude à tous ceux et à
toutes celles qui m’ont aidé de près ou de loin, afin d’aboutir au couronnement
de quatre années de travail et de labeur. Toutefois je ne peux
me permettre d’omettre de citer les honorables personnes auxquelles
j’adresse ma modeste reconnaissance. Il s’agit de Monsieur Mohand Boughanem,
Mme Karen Pinel-Sauvagnat et Monsieur Guillaume Cabanac,
qui m’ont été d’un grand apport durant les moments les plus difficiles
et ont atténué le poids du dépaysement. Elles m’ont permis de surpasser
des périodes difficiles et ont fait renaître en moi la volonté d ’aller de
l’avant et de continuer mon chemin vers la réussite.
Je remercie chaleureusement Monsieur Claude Chrisment, Monsieur Christian
Salaberry, Madame Brigitte Grau, Monsieur Patrick Gallinari et
Monsieur Patrice Bellot d’avoir accepté de juger ce travail.
Mes vifs remerciements s’adressent également à tous mes amis de l’IRIT
qui m’ont prêté main forte pour la réalisation du projet : Mădălina,
Dana, Ali, Mohamed, Rafik, Bilel, Lamjed, Arlind, Laure Eya, Ismail.
Je tiens à remercier mes amis quotidiens de Toulouse : Faeiz, Bou7a,
Marwa, Amine, Yessine, Faty, Sameh, Khouloud, Sami et Cycy.
Enfin, je souhaite remercier toute ma famille et mes amis en Tunisie.
i6Résumé
Notre travail se situe dans le contexte de recherche d’information (RI) sociale et
s’intéresse plus particulièrement à la recherche de microblogs. Les microblogs sont
des messages de faible longueur à travers lesquels les utilisateurs publient des informations
sur différents sujets : des opinions, des événements, des statuts... Les
microblogs occupent aujourd’hui une part considérable de l’information générée sur
le web. Dans Twitter, la plate-forme de microblogging la plus populaire, le nombre
de microblogs par jour peut atteindre 500 millions. Les microblogs ont une forme
différente des traditionnels documents. Leur taille est réduite par rapport aux blogs
et aux articles publiés sur le web (140 caractères pour Twitter). De plus, les microblogs
peuvent contenir une syntaxe spécifique telle que les #hashtags, les @citations
ou bien encore des URLs. Les plateformes de microblogging représentent également
un modèle de réseau social différent des autres réseaux sociaux. Les relations entre
les utilisateurs ne sont pas forcément réciproques et les abonnements sont sans restrictions
entre microbloggeurs.
Les utilisateurs de plateformes de microblogging, outre la publication de microblogs,
effectuent également des recherches. Les motivations de ces recherches sont
diverses. Certaines sont similaires à la recherche sur le web (comme par exemple
la recherche d’actualités), et d’autres sont spécifiques à la recherche de microblogs
(comme par exemple la recherche temps réel ou d’informations sociales). Dans Twitter,
1,6 milliards de requêtes sont ainsi émises chaque jour.
Les modèles de RI doivent s’adapter aux spécificités des microblogs : fraîcheur,
aspect social et spécificités syntaxiques doivent ainsi être pris en compte. C’est
dans ce contexte de recherche d’information dans les microblogs que se situent plus
particulièrement nos travaux. Nous nous plaçons plus précisément dans le cadre de
la recherche adhoc. L’objectif est de retrouver les microblogs répondant à un besoin
d’information spécifié par un utilisateur.
Nos travaux visent à améliorer la qualité des résultats de recherche d’information
adhoc dans les microblogs. Nos contributions se situent à plusieurs niveaux :
-Afin de déterminer exactement les facteurs limitant les performances des modèles
de recherche classiques dans un corpus de microblogs, nous avons mené à une
analyse de défaillance d’un modèle de recherche usuel. Nous avons sélectionné les
7RÉSUMÉ
microblogs pertinents mais non retrouvés par le modèle de recherche. Ensuite, nous
avons identifié les facteurs empêchant leur restitution. Nous avons trouvé que le problème
principal vient de la concision des microblogs. Cette concision engendre une
correspondance limitée entre les termes des microblogs et les termes des requêtes,
même s’ils sont sémantiquement similaires.
-Afin de compenser l’impact de la concision des microblogs, nous avons proposé
et testé plusieurs solutions. Nous avons proposé d’étendre les requêtes (i) en exploitant
des ressources de type actualités, (ii) en utilisant la base lexicale Wordnet, (iii)
en applicant des techniques de réinjection de pertinence de l’état de l’art qui ont
souvent prouvé leur efficacité : Rocchio pour identifier les termes susceptibles de ramener
la pertinence ainsi que pour la pondération des termes de la nouvelle requête,
et le mécanisme naturel d’extension de requêtes du modèle BM25. Dans Rocchio,
nous avons testé différentes méthodes de calcul de poids de termes d’expansion.
Nous avons enfin étendu les microblogs grâce aux liens (URLs) qu’ils contiennent.
Nos expérimentations ont montré que l’emploi des URLs et l’expansion de requêtes
sont primordiales pour la RI dans les microblogs. La plupart de ces expérimentations
(expansion de requêtes et de microblogs) ont été réalisées en se basant sur le modèle
vectoriel et sur le modèle probabiliste comme modèle de restitution. Ceci nous
a permis de comparer les comportements des deux modèles sur les microblogs et
avec les deux types d’expansion. De manière générale, nous avons trouvé que le modèle
vectoriel est plus performant que modèle probabiliste au niveau de la sélection
des microblogs pertinents (meilleur rappel). Cependant, le modèle probabiliste met
plus en valeur les microblogs pertinents restitués par rapport à tous les microblogs
restitués (meilleure précision).
-Un deuxième volet de notre travail concerne l’étude des critères utilisés pour
identifier les microblogs pertinents. Nous avons repris les critères souvent utilisés
dans l’état de l’art (critères de contenu, critères sur l’importance des auteurs, critères
sur les URLs) et nous les avons évalués. Nous avons réalisé cette analyse selon 3
axes. Dans le premier axe, nous avons analysé l’impact de la combinaison des scores
des critères avec le score de pertinence du contenu, calculé avec un modèle de RI
usuel. Dans le deuxième axe, nous avons étudié le comportement des critères dans
les documents pertinents et les avons comparés avec leurs comportements dans les
documents non pertinents. Dans le troisième axe, nous avons utilisé des techniques
d’apprentissage ainsi que des algorithmes de sélection de critères qui peuvent être
utiles en entrée de ces techniques d’apprentissages. De manière générale, nous avons
montré que les critères en relation avec les URLs publiées dans les tweets sont les
plus discriminants. Les critères liés aux auteurs ne reflètent pas la pertinence.
-Afin de prendre en compte l’aspect temporel dans la restitution des microblogs
pertinents vis-à-vis d’un besoin d’information, nous avons proposé trois méthodes
qui intègrent le temps dans le calcul de la pertinence. Cette intégration du temps
8RÉSUMÉ
n’a cependant pas montré son intérêt dans nos méthodes.
Pour réaliser nos expérimentations, nous nous sommes basés sur le corpus fourni
par la campagne d’évaluation internationale TREC (Text Retrieval Conference) dans
la tâche Microblogs des années 2011 et 2012. Nos différentes contributions ont également
fait l’objet de participations aux trois tâches de Microblogs de TREC (2011,
2012 et 2013).
9Abstract
This work deals with the context of social information retrieval (IR), more particularly
the retrieval of microblogs. Microblogs are messages of short length. They
contain information on various topics :opinions, events, articles... Microblogs represent
a significant part of the information generated on the Web. In the case of
Twitter, the most popular platform, the number of microblogs can reach 500 million
per day. Microblogs have a different form from traditional documents. Their
length is reduced compared to traditional blogs and articles on the web (only 140
characters in the case of Twitter). Moreover, microblogs can have specific syntax
such as #hashtags, @mentions or shortened URLs... Microblogging platforms are
a social network model different from other social networks. Relationships between
users are not necessarily reciprocal and subscriptions are unrestricted between microbloggers.
Users of microblogging platforms do not only produce but they also
search for information. The motivations of this research are diverse. Some are inspired
from Web search (e.g. the search for news) and others are specific to the search
for microblogs (e.g. real-time search or social information). In Twitter, 1.6 billion
queries are issued every day. Though, the IR models must adapt to the specificities
of microblogs : freshness, social aspect and syntactic characteristics must therefore
be taken into account. The aim of our work is to improve the quality of the results of
adhoc information retrieval in microblogs. Our contributions are at several levels :
- In order to accurately determine the factors limiting the performance of conventional
models of search in a corpus of microblogs, we conducted an analysis of failure
of a conventional model search. We selected relevant microblogs. However, they are
not found by the search pattern. Then, we identified the factors preventing their
return. We found that the main problem is the shortness of microblogs.
- To offset the impact of the shortness of microblogs, we proposed and tested
several solutions : to extend the queries by (i) exploiting news articles, (ii) using
the WordNet lexical database, (iii) applying techniques of relevance feedback of the
state of art which often proved effective : Rocchio to identify terms likely to bring
relevance and for weighting the terms of the new query, and the natural extension
mechanism queries of the BM25 model. Using Rocchio, we tested different methods
of calculating the weight of expansion terms. We finally extended microblogs thanks
10ABSTRACT
to the links (URLs) they contain. Our experiments have shown that the use of
URLs and the expansion of the query are crucial for IR in microblogs. Most of these
experiments (expansion of queries and microblogs) were performed on the basis of
the vector model and the probabilistic model, as a model of restitution. This allowed
us to compare the behavior of the two models on microblogs and with the two types
of expansion. In general, we found that the Vector Space Model is more efficient than
the probabilistic one in the selection of relevant microblogs (better recall). However,
the probabilistic model puts more value on relevant microblogs returned over all
returned microblogs (better precision).
- A second part of our work is concerned with the study of the features used
to identify relevant microblogs. We selected the features often used in the state of
art (content features, features on the importance of authors, URLs features and
quality features).Then, we evaluated them. We conducted this analysis in 3 axes. In
the first axis, (i) we studied the behavior of the features in the relevant documents
and compared them with their behavior in non-relevant documents. In the second
axis, (ii) we analyzed the impact of the combination of the features scores with
the content’s score, calculated with a model of conventional IR. In the third axis,
(iii) we used learning techniques as well as algorithms of feature selection that may
be useful as input to the learning techniques. In general, we have shown that the
features related to URLs posted in tweets are the most discriminating. The features
related to the authors do not reflect the relevance.
- To take into account the temporal aspect when selecting relevant microblogs, we
have proposed three methods that incorporate time in the calculation of relevance.
However, this integration of time did not show any positive impact in our methods.
To perform our experiments, we used the corpus provided by TREC (Text Retrieval
Conference) international survey in the task Microblogs for the years 2011
and 2012. Our various contributions have also been the subject of participations for
the three tasks of Microblogs TREC (2011, 2012 and 2013).
11ABSTRACT
12Table des matières
Résumé 7
Abstract 10
Table des matières 13
Table des figures 17
Liste des tableaux 19
Introduction 1
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3 Problématiques de la RI dans les microblogs . . . . . . . . . . . . . . 4
4 Présentation des contributions . . . . . . . . . . . . . . . . . . . . . . 6
5 Organisation du mémoire . . . . . . . . . . . . . . . . . . . . . . . . . 7
1 RI Sociale 11
1 Information sociale dans le web . . . . . . . . . . . . . . . . . . . . . 12
1.1 Contenus générés par les utilisateurs (UGC) . . . . . . . . . . 12
1.2 Contenus générés par la pratique . . . . . . . . . . . . . . . . 14
2 RI : historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1 Processus de RI . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Modèles de RI . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3 Utilisation des informations sociales en RI :
RI sociale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1 Côté utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Côté documents . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
13TABLE DES MATIÈRES
2 RI dans les microblogs 35
1 Présentation et spécificités des plate-formes de microblogging : cas de
Twitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.1 Présentation générale de Twitter . . . . . . . . . . . . . . . . 36
1.2 Spécificités des microblogs . . . . . . . . . . . . . . . . . . . . 41
1.3 Spécificités des recherches dans les microblogs . . . . . . . . . 43
2 Accès à l’information dans les microblogs . . . . . . . . . . . . . . . . 45
2.1 Recherche temps-réel de microblogs . . . . . . . . . . . . . . . 45
2.2 Recherche de microbloggeurs . . . . . . . . . . . . . . . . . . . 46
2.3 Détection d’opinions . . . . . . . . . . . . . . . . . . . . . . . 47
2.4 Classification thématique des microblogs . . . . . . . . . . . . 48
2.5 Détection de tendances . . . . . . . . . . . . . . . . . . . . . . 48
3 Recherche adhoc de microblogs . . . . . . . . . . . . . . . . . . . . . 49
3.1 Facteur de pertinence textuelle . . . . . . . . . . . . . . . . . 50
3.2 Facteur de pertinence social . . . . . . . . . . . . . . . . . . . 51
3.3 Facteur de pertinence temporelle . . . . . . . . . . . . . . . . 52
3.4 Facteur de pertinence d’hypertextualité . . . . . . . . . . . . . 53
3.5 Autres facteurs de pertinence . . . . . . . . . . . . . . . . . . 54
3.6 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4 Évaluation de la RI dans les microblogs . . . . . . . . . . . . . . . . . 55
4.1 La tâche TREC Microblog . . . . . . . . . . . . . . . . . . . . 55
4.2 Discussion sur les mesures d’évaluation . . . . . . . . . . . . . 57
5 Bilan et limites de l’état de l’art . . . . . . . . . . . . . . . . . . . . . 58
3 Analyse de défaillance des modèles de RI classique sur les microblogs
61
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.1 Cadre expérimental . . . . . . . . . . . . . . . . . . . . . . . . 62
3.2 Observations . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4 Expansion de requêtes et de documents 71
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2 Expansion de requêtes . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.1 Exploitation des articles d’actualités . . . . . . . . . . . . . . 72
2.2 Exploitation de la base lexicale WordNet . . . . . . . . . . . . 74
2.3 Suggestions orthographiques . . . . . . . . . . . . . . . . . . . 75
2.4 Réinjection de pertinence . . . . . . . . . . . . . . . . . . . . . 76
14TABLE DES MATIÈRES
3 Expansion de microblogs . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.1 Expansion de hashtags dans les tweets . . . . . . . . . . . . . 80
3.2 Emploi des URLs . . . . . . . . . . . . . . . . . . . . . . . . . 81
4 Expansion de requêtes et de documents . . . . . . . . . . . . . . . . . 82
5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5 Analyse des facteurs de pertinence 89
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2 Description des facteurs de pertinence . . . . . . . . . . . . . . . . . . 90
2.1 Facteurs de pertinence basés sur le contenu des tweets . . . . . 90
2.2 Facteurs de pertinence basés sur l’hypertextualité . . . . . . . 91
2.3 Facteurs de pertinence basés sur les hashtags . . . . . . . . . . 91
2.4 Facteurs de pertinence basés sur la popularité
des auteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
2.5 Facteurs de pertinence relatifs à la qualité des tweets . . . . . 92
3 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.1 Étude de la distribution des scores . . . . . . . . . . . . . . . 93
3.2 Étude par la combinaison linéaire des scores . . . . . . . . . . 93
3.3 Étude avec les techniques de sélection d’attributs . . . . . . . 94
4 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.1 Étude par la distribution des scores . . . . . . . . . . . . . . . 94
4.2 Étude par la combinaison linéaire des scores . . . . . . . . . . 98
4.3 Étude avec les techniques de sélection d’attributs . . . . . . . 104
5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6 Prise en compte du temps dans la recherche de microblogs 111
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
2 Emploi de la fraîcheur dans la restitution
des microblogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
2.1 Favoriser des tweets récents . . . . . . . . . . . . . . . . . . . 112
2.2 Favoriser les termes récents . . . . . . . . . . . . . . . . . . . 113
2.3 Observations . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3 Prise en compte de la fréquence temporelle . . . . . . . . . . . . . . . 117
4 Analyse requête par requête . . . . . . . . . . . . . . . . . . . . . . . 118
5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7 Conclusion générale 123
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
15TABLE DES MATIÈRES
16Table des figures
1.1 Processus en U de la recherche d’information . . . . . . . . . . . . . 16
1.2 Catégorisation des modèles de RI (Baeza-Yates et Ribeiro-Neto, 1999) 20
1.3 Exploitation de l’information sociale dans la RI . . . . . . . . . . . . 28
1.4 Résultats à partir du cercle social dans Google . . . . . . . . . . . . . 31
1.5 Recommandation de profils expert sur le sujet recherché sur Bing . . 31
2.1 L’interface graphique utilisateur de Twitter . . . . . . . . . . . . . . . 38
2.2 Informations des comptes utilisateurs sur Twitter . . . . . . . . . . . 39
2.3 Exemple d’utilisation de Twitter (avec tweets, retweets, abonnements
et hashtags) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4 Notification sur l’apparition de nouveaux résultats dans Twitter . . . 40
2.5 Tweet posté par @florencesantrot contenant une image et des hashtags
(#Apple #iphone6cost1k). Il a été retweeté sept fois et favori une fois. 42
2.6 Suggestion de différents type de résultats dans le moteur de recherche
de Twitter : des mots-clés, des hashtags, des comptes utilisateurs sont
présentés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.7 Les réseaux constituables à partir des données de Twitter . . . . . . . 52
2.8 Exemple de topic pour la tâche Microblog . . . . . . . . . . . . . . . 57
3.1 Répartition des tweets pertinents restitués avec le modèle vectoriel
par rapport à tous les tweets pertinents connus pour chaque requête
de 2011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.2 Répartition des tweets pertinents restitués avec le modèle vectoriel
par rapport à tous les tweets pertinents connus pour chaque requête
de 2012. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.1 Distribution des scores des tweets pertinents et des tweets non pertinents
(requêtes de 2011 à gauche et celles de 2012 à droite). . . . . . 97
17TABLE DES FIGURES
6.1 Distribution temporelle des tweets pertinents et non pertinents pour
les requêtes de TREC Microblog 2012. Les rectangles représentent les
tweets pertinents tandis que les losanges représentent les tweets non
pertinents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
18Liste des tableaux
2.1 Nombre de requêtes par jours (en milliard). Chiffres obtenus du site
http://statisticbrain.com . . . . . . . . . . . . . . . . . . . . . . 37
2.2 Critères de pertinence . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.1 Récapitulatif des différents facteurs limitant l’efficacité du modèle de
recherche sur les microblogs . . . . . . . . . . . . . . . . . . . . . . . 68
4.1 Emploi des articles de type actualité pour l’expansion de requêtes
(avec et sans pondération des termes d’expansion, 1500 résultats par
requête). Un astérisque indique une amélioration significative par rapport
à la baseline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.2 Récapitulatif des différents runs testés sans pondération des termes
ajoutés aux requêtes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.3 Test de l’amélioration des performance via la correction orthographique
des requêtes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4 Expansion de la requête initiale avec Rocchio. Les poids des termes
d’expansion sont calculés avec TF.IDF. Un astérisque indique une
amélioration significative par rapport à la baseline. . . . . . . . . . . 77
4.5 Expansion de la requête initiale avec Rocchio. Les poids des termes
d’expansion sont calculés avec BM25. Un astérisque indique une amé-
lioration significative par rapport à la baseline. . . . . . . . . . . . . . 77
4.6 Différentes configurations du modèle BM25. * montre une amélioration
significative par rapport à configuration de base (run BM25). . . 78
4.7 Résultats après l’expansion de hashtags, avec le modèle vectoriel et
le modèle BM25 (sans et avec paramétrage). . . . . . . . . . . . . . . 81
4.8 Apport de l’emploi des URLs avec le modèle vectoriel et le modèle
BM25. * montre une amélioration significative par rapport au run
précédent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.9 Emploi des tweets et des URLs et expansion de requêtes uniquement à
partir des tweets.* montre une amélioration significative par rapport
au run précédent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
19LISTE DES TABLEAUX
4.10 Emploi des tweets et des URLs pour l’expansion et pour la restitution.
* montre une amélioration significative par rapport au run précédent. 84
4.11 Résultats des meilleurs runs avec les tweets hautement pertinents. . . 86
4.12 Comparaison avec les résultats officiels de TREC 2012 . . . . . . . . 86
4.13 Emploi des tweets pour l’expansion et des tweets et des URLs pour
la restitution sur les topics de TREC 2011. . . . . . . . . . . . . . . . 86
4.14 Comparaison avec les résultats officiels de TREC 2011 . . . . . . . . 87
5.1 Apport de chaque facteur de pertinence par rapport au modèle vectoriel
(baseline VSM). . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.2 Apport de chaque groupe de facteurs de pertinence et de leurs combinaisons
par rapport modèle vectoriel (baseline VSM). . . . . . . . . 100
5.3 Comparaison avec les résultats officiels de TREC 2011 . . . . . . . . 101
5.4 Apport des facteurs de pertinence pour le cas général. . . . . . . . . . 102
5.5 Apport des groupes de facteur de pertinence et de leurs combinaisons
pour le cas général. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.6 Critères sélectionnés avec les techniques de sélection d’attributs . . . 106
5.7 Résultats (P@30), les scores en gras indiquent des améliorations significatives
par rapport à la baseline . . . . . . . . . . . . . . . . . . 107
6.1 Amplification des scores de pertinence de contenu en fonction de leur
fraîcheur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.2 Amplification des scores des termes en fonction de leur fréquence
d’apparition dans le temps . . . . . . . . . . . . . . . . . . . . . . . . 114
6.3 Prise en compte de la fréquence temporelle. . . . . . . . . . . . . . . 118
6.4 Requêtes améliorées sur la mesure MAP pour les 3 méthodes . . . . . 119
20Introduction
1 Introduction
Le web, créé au début des années 1990 et initialement composé de pages statiques
reliées entre elles par des hyperliens, s’est rapidement orienté vers un cadre beaucoup
plus collaboratif, dans lequel tous les internautes consultent, créent, partagent et
diffusent de l’information.
Ce changement est dû à la mise à disposition des internautes de plusieurs outils
collaboratifs : les blogs, les wiki (Wikipedia en 2001) et les plate-formes sociales
(Facebook en 2004 et Twitter en 2006), où les internautes ne se limitent plus à la
consommation, mais contribuent également à la production des contenus.
Ces outils prennent souvent la forme de réseaux sociaux qui se caractérisent par un
ensemble d’entités, telles que des individus ou des organisations, qui sont reliées par
des liens, d’amitié ou d’abonnement, permettant l’interaction sociale entre elles.
Des quantités de contenus, toujours plus volumineuses, sont de ce fait créées
tous les jours. Ce nouveau contexte de diffusion de l’information peut constituer un
moyen efficace pour cerner les besoins en information des utilisateurs du Web, et
permettre à la Recherche d’Information (RI) de mieux répondre à ces besoins. Les
Systèmes de Recherche d’Information (SRI) doivent ainsi s’adapter aux nouvelles
exigences et nécessités des utilisateurs, et aux spécificités de ces nouvelles sources
d’informations.
La prise en compte de ces informations sociales dans la restitution d’informations
a engendré un nouveau paradigme de recherche : la RI sociale. Elle consiste à adapter
les modèles et les algorithmes de la RI classique en exploitant les informations
sociales développées avec l’arrivée du web 2.0.
2 Contexte
Notre travail se situe dans le contexte de la recherche d’information sociale et
s’intéresse plus particulièrement à la recherche de microblogs. Les microblogs sont
des messages de faible longueur à travers lesquels les utilisateurs publient des informations
sur différents sujets : des opinions, des événements, des statuts. . . Les micro-
1INTRODUCTION
bloggeurs (les internautes qui publient des microblogs) utilisent des plate-formes de
microblogging pour cette pratique. Parmi les plate-formes de microblogging, Twitter
1
est sans conteste la plate-forme la plus utilisée. Ces plate-formes sont de plus
en plus exploitées (Kwak et al., 2010), aussi bien par des individus à titre personnel
que dans des organisations, qui génèrent à travers les messages qu’ils écrivent et les
liens qu’ils mettent en place des quantités importantes d’information. Nous pouvons
nous référer, pour montrer l’importance de la quantité d’information publiée sur ces
plate-formes, au 3 août 2013 lors d’une diffusion du dessin animé Castle in the Sky
de Miyazaki 2
: 143 199 tweets ont été envoyés la même seconde. Cet événement avait
cependant été préparé auparavant par les fans de Miyazaki. Ce jour-la, un record de
500 millions de tweets par jour est noté sur Twitter 3
.
Les approches de RI classiques, élaborées pour traiter les documents traditionnels
ou des documents de type page Web et qui se basent principalement sur le contenu
textuel des documents et sur des statistiques des fréquences de termes, ne sont plus
adaptées aux spécificités de cette nouvelle forme de contenu. Pour valoriser au mieux
l’ensemble des informations de cette nouvelle source, les méthodes existantes de
recherche d’information doivent être adaptées ou de nouvelles méthodes doivent être
proposées. Ces nouvelles approches doivent tenir compte aussi bien des spécificités
de ces informations que des motivations des internautes pour chercher dans ce type
de ressources.
Considérons les spécificités des microblogs. Tout d’abord, leur taille est réduite
par rapport aux blogs et aux articles publiés sur le web. Les tweets par exemple
sont limités à 140 caractères ; ils sont souvent composés d’une seule phrase, écrite
en mode SMS. Cette spécificité participe à la concrétisation du facteur temps-réel
des microblogs. En fait, elle encourage les microbloggeurs non seulement à partager
plus fréquemment, mais à signaler tout ce qui se déroule dans leur vie en temps-réel.
En outre, les plate-formes de microblogging sont aujourd’hui accessibles à travers
plusieurs types de dispositifs (tablettes, smartphones. . . ). Un microbloggeur peut
publier ainsi plusieurs microblogs chaque jour, contrairement à un bloggeur dont la
fréquence de publication des articles est de plusieurs jours.
De plus, afin de faciliter le suivi des sujets discutés, les plateformes de microblogging
utilisent une syntaxe spécifique telle que les #hashtags et les @citation.
Elles permettent également aux utilisateurs d’insérer des URLs et des images dans
les microblogs.
L’engouement pour les plate-formes de microblogging tient certainement aussi
à l’aspect réseau social induit par les liens possibles. Cependant, les plate-formes
de microblogging représentent un type de réseau social différent des autres réseaux
1. https://twitter.com
2. http://www.imdb.com/name/nm0594503/
3. https://blog.twitter.com/2013/new-tweets-per-second-record-and-how
2INTRODUCTION
sociaux. Les relations entre les utilisateurs ne sont pas forcément réciproques et les
abonnements sont sans restriction entre microbloggeurs.
D’autre part, les motivations pour exploiter ces sources sont particulières. Les
microbloggeurs, outre la publication de tweets, réalisent des recherches sur les plateformes
de microblogging. Dans Twitter, 1,6 milliards de requêtes sont émises chaque
jour 4
. La recherche sur les plateformes de microblogging est spécifique, et ce pour
deux raisons. Selon Teevan et al. (2011) la plate-forme de Twitter est utilisée non
seulement comme une source d’information parmi d’autres du web, mais également
comme une source d’information temps-réel qui permet d’obtenir des actualités,
de les commenter et de les partager à l’instant de leur déroulement (par exemple,
guerre à Gaza, bouchon sur l’autoroute A7). Pierre Guillou, dirigeant de la société
IDEOSE, spécialisée dans l’accessibilité et les nouveaux usages du Web définit
le web temps-réel comme :
« l’ensemble des informations envoyées sur le Web par des personnes de façon
instantanée et publique. Ces informations sont envoyées dans un même temps à
un groupe de destinataires, publiées sur le Web et analysables par des logiciels de
traitement de l’information. »
Plusieurs outils sont ainsi apparus pour extraire tout type d’information en temps
réel à partir des microblogs. Par exemple, en analysant près de 50 millions de tweets
chaque jour, l’hédonomètre 5
créé par des chercheurs américains permet de connaître
en temps-réel l’état d’esprit et l’humeur d’une grande partie de la population dans le
monde entier. Diakopoulos et Shamma (2010) ont proposé un analyseur temps-réel
permettant de visionner dynamiquement les sentiments des téléspectateurs au cours
d’un débat politique.
De plus, Teevan et al. (2011) ont montré que les utilisateurs cherchent des informations
sociales dans ces plate-formes (26 % des utilisateurs). Ils l’utilisent pour
plusieurs raisons telles que la recherche de personnes qui ont des intérêts similaires,
ou de ce qu’un utilisateur est en train de dire. . . Les utilisateurs emploient ces
plate-formes également pour suivre ce que les autres disent à propos du contenu
d’un microblog ou un sujet en particulier. Ils utilisent ainsi les #hashtags et les
@citation pour faire ces recherches verticales.
Pour conclure, le microblogging a été conçu de manière à faciliter l’accès et la
publication des informations. Par conséquent, cette source gagne de plus en plus
d’intérêt, que ce soit pour partager ou pour acquérir de l’information. Les informations
partagées dans ces plate-formes sont ainsi utilisées pour obtenir des opinions
des consommateurs (Jansen et al., 2009a ; O’Connor et al., 2010), des convictions
politiques (Tumasjan et al., 2010) et des actualités (Okazaki et Matsuo, 2010 ; Sa-
4. http://engineering.twitter.com/2011/05/engineering-behind-twitters-new
-search.html
5. http://hedonometer.org/
3INTRODUCTION
kaki et al., 2010 ; Sankaranarayanan et al., 2009 ; Phelan et al., 2009). Jansen et al.
(2009a) qualifient ces moyens de communication aujourd’hui comme la « bouche du
monde ».
Il est primordial pour les modèles de RI dans les microblogs de considérer les
facteurs simplifiant l’accès et la publication des informations employés par les plateformes
de microblogging. Ce sont en particulier, la fraîcheur, l’aspect social, et les
spécificités syntaxiques des microblogs. C’est dans le contexte de recherche d’information
dans les microblogs que se situent plus particulièrement nos travaux. Nous
nous plaçons plus précisément dans le cadre de la recherche adhoc. L’objectif est
de retrouver les microblogs répondant à un besoin d’information spécifié par un
utilisateur.
3 Problématiques de la RI dans les microblogs
Comme nous l’avons vu précédemment, un moteur de recherche de microblogs
doit prendre en compte leurs spécificités ainsi que de nouvelles exigences des utilisateurs
en termes de fraîcheur, de nouveauté d’information, et d’importance dans le
réseau social, par exemple.
D’un point de vue recherche d’information, si on projette les différentes spécificités
des microblogs dans une tâche de recherche d’information, on pourra facilement
identifier de nouvelles problématiques par rapport aux problématiques classiques de
la RI, que ce soit au niveau de l’indexation ou bien au niveau de la restitution des
informations, ou encore de l’évaluation des performances. Au niveau de l’indexation
dans un cadre temps-réel, les microblogs arrivent avec une fréquence très importante,
souvent par rafales correspondant à des événements, et doivent être indexés
dès leur arrivée. Ce même index doit permettre également une lecture avec un accès
rapide, afin de rendre disponible un microblog à l’instant de sa création et de satisfaire
les besoins en informations des utilisateurs. Ceci s’oppose à la majorité des
index ordinaires du web, qui sont souvent des index avec des architectures statiques
avec des taux de mise à jour réduits. En outre, les moteurs de recherche
usuels utilisent des robots qui se basent sur les liens hypertextes pour détecter les
nouvelles pages, ce qui rend l’organisation des documents dans l’index dépendante
des liens entre les pages. Cependant, pour une recherche temps-réel, les microblogs
doivent être ordonnés en fonction de leur date de publication dans l’index afin de
favoriser la fraîcheur des résultats au moment de la restitution. Ensuite, comme
nous l’avons déjà motionné, les microbloggeurs tendent à écrire en mode SMS. Les
messages peuvent contenir des termes mal-orthographiés, du jargon du net, beaucoup
d’émoticônes (Bamman et al., 2012). . . S’ajoute à ceci l’emploi de syntaxes
spécifiques à certaines plate-formes, tels que les hashtags et les mentions. Tous ces
4INTRODUCTION
facteurs introduisent de nouvelles difficultés et demandent de faire des choix sur
l’intérêt de les traiter au moment de l’indexation. À quel niveau le traitement est-il
possible, sans ralentir l’indexation, et en respectant les conditions du temps-réel ?
Ces mêmes caractéristiques des microblogs posent également des problèmes au
niveau de la recherche et de la restitution des données :
– Quelle est l’unité d’information la plus appropriée pour répondre
aux besoins en informations ? Si un utilisateur recherche des informations
concernant un sujet dans les plate-formes de microblogging, est-ce utile
de restituer des microblogs, des hashtags, des synthèses de microblogs, des
conversations, des profils, etc. ?
– Quel est le modèle le plus approprié pour gérer les spécificités des
microblogs et les exigences des utilisateurs ? Les modèles de RI, qui de
manière générale se basent sur des facteurs tels que la fréquence des termes
dans les documents et la longueur des documents, demeurent limités par la
faible longueur des microblogs où les termes n’apparaissent pas plus d’une fois.
Ces facteurs ont un sens quand la taille du document est importante. Quelles
sont alors les solutions pour compenser ce manque de contenu ? De plus, les
modèles usuels se basent sur le vocabulaire du document pour mesurer sa
pertinence vis-à-vis d’une requête, alors que la pertinence dans les microblogs
demeure théoriquement couplée avec d’autres facteurs tels que la fraîcheur de
l’information, la popularité de l’auteur de l’information, la qualité du langage
utilisé, etc., en complément de la pertinence sur le contenu.
– Quels sont les facteurs qui reflètent vraiment la pertinence dans
une tâche de recherche de microblogs ? Quels sont les moyens permettant
d’évaluer les facteurs ? La plupart des approches de recherche de
microblogs proposées dans l’état de l’art s’appuient sur différentes intuitions
et définissent ainsi la pertinence comme la composition de plusieurs facteurs,
en plus du facteur lié au contenu. Cependant, aucune évaluation individuelle
de ces facteurs n’a été réalisée à ce jour.
– Comment ces facteurs peuvent-ils être employés et combinés avec la
pertinence du contenu ? Efron (2011a) déclare que les critères de pertinence
reflètent certainement la pertinence. Cependant, il n’est pas toujours simple
de déterminer comment les employer. La popularité des auteurs, par exemple,
peut être considérée de différentes manières : l’activité de l’auteur, le nombre
de ses amis, sa centralité dans le réseau social, etc.
– La fraîcheur, est-elle vraiment un facteur crucial de pertinence ?
Teevan et al. (2011) ont montré que l’une des motivations pour chercher les
microblogs est la fraîcheur de l’information. Cependant, elle n’est pas l’unique
motivation. Plusieurs recherches sur les microblogs visent des informations sociales
ou des informations d’ordre général (des opinions de consommateurs par
5INTRODUCTION
exemple). Ainsi, est-il utile d’intégrer la fraîcheur comme facteur de pertinence
quel que soit le besoin d’information ?
En recherche d’information, la troisième étape fondamentale, après l’indexation
et la recherche, est l’évaluation. Cette phase permet de mesurer l’efficacité des approches
et des choix faits durant les deux étapes précédentes. Depuis des décennies,
le paradigme de Cranfield, qui établit l’évaluation des SRI à travers des corpus statiques,
a dominé sur les expérimentations de la RI moderne. Cette méthode ne
pose-t-elle pas un problème lorsqu’elle est appliquée dans une tâche pour
laquelle le facteur temps-réel est primordial ?
4 Présentation des contributions
Nos travaux visent à améliorer la qualité des résultats de recherche d’information
adhoc dans les microblogs et nous nous focalisons donc sur les problématiques liées
à la recherche. La tâche adhoc consiste en la restitution de microblogs pertinents
vis-à-vis d’un besoin en information exprimé sous forme de mots-clés formant la
requête. Nos contributions se situent à plusieurs niveaux :
1. Afin de déterminer exactement les facteurs limitant les performances des modèles
classiques de recherche dans un corpus de microblogs, nous avons conduit
une analyse de défaillance d’un modèle de recherche usuel. Nous avons
sélectionné les microblogs pertinents mais non retrouvés par le modèle de recherche.
Ensuite, nous avons identifié les facteurs empêchant leur restitution.
À l’issue de cette analyse, nous avons proposé et testé plusieurs solutions permettant
d’améliorer la qualité des moteurs de recherche.
2. Afin de compenser l’impact de la concision des microblogs, nous avons introduit
et testé plusieurs propositions. La première consiste à exploiter des
ressources de type actualités pour étendre les requêtes. Ensuite, nous
nous sommes basés sur la base lexicale WordNet souvent utilisée en RI comme
un moyen de désambiguïsation et d’extension de requêtes. Nous avons également
analysé l’impact des approches connues en RI sur ce type de ressources.
Nous avons appliqué des techniques de réinjection de pertinence de l’état de
l’art, telles que Rocchio (1971), pour identifier les termes susceptibles de favoriser
la restitution de microblogs pertinents, ainsi que la pondération des
termes de la nouvelle requête et le mécanisme naturel d’extension de requête
du modèle BM25. Nous avons testé différentes méthodes pour calculer les
poids des termes. D’autre part, nous avons exploité les liens publiés dans
les microblogs pour étendre les microblogs. Ces hyperliens représentent de
l’information additionnelle qui complète les contenus des microblogs. Ainsi,
nous les avons considérés pour enrichir la représentation du contenu textuel
6INTRODUCTION
des microblogs.
3. Un troisième volet de notre travail concerne l’étude des facteurs de pertinence
utilisés pour identifier les microblogs pertinents. Nous avons
repris les facteurs de pertinence souvent utilisés dans l’état de l’art (de contenu,
sur l’importance des auteurs, sur les URLs. . . ) et nous les avons évalués. Cette
analyse est conduite selon trois axes. Dans le premier axe, nous avons étudié le
comportement des facteurs de pertinence dans les microblogs pertinents et les
avons comparés avec leur comportement dans les documents non pertinents.
Dans le deuxième axe, nous avons analysé l’impact de la combinaison des
scores des facteurs de pertinence avec le score de pertinence du contenu, calculé
avec un modèle classique de RI. Dans le troisième axe, nous avons utilisé
des techniques d’apprentissage ainsi que des algorithmes de sélection d’attributs
pour identifier les facteurs de pertinence utiles, en entrée des techniques
d’apprentissage.
4. Afin de prendre en compte l’aspect temporel dans la restitution des microblogs
pertinents vis-à-vis d’un besoin en information, nous avons proposé trois mé-
thodes qui intègrent le facteur temporel des microblogs dans le calcul
de la pertinence. Chaque méthode prend en compte le temps à sa manière.
– La première favorise les documents récents en appliquant la technique Kernel
(Lv et Zhai, 2009) pour mesurer la distribution temporelle des documents.
– La deuxième privilégie les termes présents fréquemment au moment de la
soumission de la requête.
– La troisième favorise les termes qui apparaissent fréquemment au moment
de la publication du microblog.
Afin d’évaluer l’apport de nos différentes contributions, nous nous sommes basés sur
le corpus fourni par la campagne d’évaluation TREC (Text Retrieval Conference)
pour la tâche Microblog en 2011 et 2012.
5 Organisation du mémoire
Ce mémoire est constitué de deux parties : la première présente le contexte
général dans lequel se situe notre travail, à savoir la recherche d’information sociale
et plus précisément la recherche d’information dans les microblogs. La seconde partie
détaille notre contribution.
L’objectif de la première partie « De la recherche d’informations classique à
la recherche d’information sociale » est de présenter les principes de la recherche
d’information dans des contenus textuels, puis son application à l’environnement
social. Cette partie comprend deux chapitres.
7INTRODUCTION
Le chapitre 1 présente les nouveaux contenus sociaux, développés avec l’apparition
des technologies du Web 2.0. Ensuite, nous exposons les fondamentaux de
la RI classique pour arriver aux spécificités de la RI sociale. Les différents types
d’information sociale dans le web sont ainsi décrits, à savoir les contenus générés
par les utilisateurs et les contenus générés par les pratiques sociales. Nous abordons
ensuite les notions et les concepts de base de la RI classique. L’architecture géné-
rale d’un SRI y est présentée ainsi que les principaux modèles de recherche. Nous
décrivons par la suite l’impact de l’emploi de l’information sociale sur la recherche
d’information, en particulier dans la contextualisation des recherches ou bien dans
l’enrichissement des ressources documentaires.
Nous nous concentrons dans le chapitre 2 sur une source d’information particulière
: les microblogs. Nous présentons dans ce chapitre la recherche d’information
dans les microblogs. Nous commençons ainsi par la description des spécificités de
ce type de contenu et nous nous basons sur la plate-forme Twitter pour montrer les
différences avec les documents traditionnels du web . Nous détaillons les spécificités
du contenu des microblogs ainsi que les motivations des utilisateurs à chercher dans
cette source d’information. Nous listons ensuite les approches d’accès à l’information
à partir des microblogs proposées dans la littérature, en en particulier la recherche
d’information adhoc dans les microblogs (notre domaine de recherche).
La seconde partie du mémoire intitulé « étude des facteurs de pertinence
pour la RI dans les microblogs » expose nos contributions.
Le chapitre 3 décrit notre contribution à l’identification des facteurs limitant l’ef-
ficacité des modèles de RI classique dans un corpus de microblogs. Nous présentons
une analyse de défaillance réalisée sur les résultats d’un modèle de recherche classique,
dans une tâche de recherche de microblogs. Ce chapitre donne ainsi des pistes
sur les considérations à prendre en compte pour améliorer la qualité des résultats.
Le chapitre 4 présente des solutions pour certains problèmes soulevés dans le chapitre
3. Plusieurs méthodes d’expansion de requêtes sont proposées et employées.
Ces méthodes exploitent des ressources de différents type pour étendre les requêtes :
les articles de type actualité, la base lexicale WordNet et un outil de suggestion d’orthographe.
Le feedback est également utilisé à travers l’emploi des méthodes connues
d’expansion de requêtes : Rocchio et le modèle de recherche BM25. D’autre part, des
méthodes d’expansion de microblogs sont employées, à savoir l’expansion de hashtags
et l’emploi des contenus pointés par les URLs pour améliorer la représentation
des microblogs.
8INTRODUCTION
Le chapitre 5 présente une étude approfondie sur l’apport des facteurs de pertinence
souvent utilisés dans les approches de l’état de l’art. Cette étude est réalisée
en trois étapes : (i) la première étape consiste en la comparaison des distributions
des scores des facteurs de pertinence entre les résultats pertinents et les résultats non
pertinents. Les facteurs de pertinence ayant des comportements différents reflètent
ainsi la pertinence. La deuxième étape est réalisée par la combinaison linéaire des
scores des facteurs de pertinence. Les facteurs de pertinence améliorant la qualité
des résultats reflètent ainsi la pertinence. Finalement, la troisième étape emploie
les techniques de sélection d’attributs. Ces techniques permettent d’identifier automatiquement
les meilleures combinaisons de facteurs de pertinence pour obtenir les
meilleurs résultats.
Le chapitre 5 présente une étude approfondie sur un critère de pertinence particulier
: la fraîcheur du microblog. Trois approches qui emploient le temps dans la
restitution de microblogs sont proposées.
L’ensemble des évaluations se basent sur le corpus de tweets fourni par la campagne
d’évaluation TREC (Text Retrieval Conference) dans la tâche microblogs des
années 2011 et 2012.
En conclusion, nous dressons le bilan de nos travaux reliés à la recherche d’informations
dans les microblogs. Nous introduisons ensuite les limites et les perspectives
de ces travaux à court et à long terme.
9État de l'artChapitre 1
RI Sociale
Satisfaire un besoin d’information a été souvent couplé avec des pratiques sociales.
Ce couplage peut être perçu à plusieurs niveaux. D’une part, avant la naissance
des SRI, le chercheur d’information se basait sur ses liens sociaux pour satisfaire
son besoin. Le premier réflexe consistait à interroger les personnes qu’il
connaissait et qui avaient des intérêts similaires. Ceci pouvait être réalisé également
en interrogeant les amis, les proches ou simplement des bibliothécaires.
D’autre part, l’information est souvent produite dans des situations sociales, à
travers des discussions et des collaborations entre les différents membres de groupes
de personnes, partageant les mêmes objectifs et les mêmes centres d’intérêts.
L’arrivée de l’internet et en particulier les technologies du web 2.0 a complètement
révolutionné ces pratiques. L’internaute aujourd’hui consulte les plus grandes
bibliothèques et ressources scientifiques (Wikipédia 1
), utilise les moteurs de recherche
pour trouver instantanément les informations (Google, Bing), discute avec
d’autres utilisateurs ayant les mêmes centres d’intérêts (forum et blog), développe
ses connaissances et relations sociales (réseaux sociaux), commente et consulte les
avis des autres internautes (social bookmarking),. . . Les utilisateurs, en utilisant les
technologies du web 2.0, génèrent directement ainsi de nouveaux contenus appelés
contenus générés par les utilisateurs (UGC). D’autres types d’information
sont générés indirectement, comme par exemple, les liens sociaux, les profils ainsi
que leurs traces de navigations. Ces données sont appelées contenus générés par
la pratique.
L’exploitation et plus particulièrement l’accès à ces contenus, récemment générés,
très spécifiques en terme de nature, de format, de structure et de volume, demande
la définition de modèles de RI qui vont au-delà des modèles classiques définis dans
le domaine de la RI depuis quelques années. En effet, les documents visés par les
modèles de la RI classique se composent uniquement par leurs contenus textuels.
Cependant, avec le web 2.0, plusieurs éléments, en plus du contenu textuel, doivent
1. http://www.wikipedia.org/
11CHAPITRE 1. RI SOCIALE
être considérés, tels que les informations sociales, les commentaires et les notes des
internautes. . . Ces documents peuvent avoir un format spécifique (les microblogs par
exemple font au maximum 140 caractères) et une syntaxe particulière. Par consé-
quent, pour chercher dans ces contenus, le modèle de recherche doit gérer toutes ces
spécificités.
Dans ce chapitre, nous allons commencer par présenter les nouveaux contenus
sociaux, développés avec l’apparition des technologies du web 2.0. Nous exposerons
ensuite les principales bases de la RI classique pour arriver aux spécificités de la RI
sociale.
1 Information sociale dans le web
L’information sociale dans le web est basée sur l’internet de plus en plus influencé
par des services intelligents (présentés dans la suite), qui permettent à l’utilisateur de
contribuer au développement, d’annoter et de collaborer à la production du contenu.
Les utilisateurs sont passés de simples consommateurs à producteurs d’information.
Leurs contributions peuvent être de différentes natures : les contenus publiés dans les
plate-formes sociales telles que les blogs et les wikis, les réactions, les informations
publiées par les autres utilisateurs telles que les annotations et les commentaires, etc.
L’ensemble de ces informations est appelé contenus générés par des utilisateurs
(UGC : User Generated Content).
1.1 Contenus générés par les utilisateurs (UGC)
Le terme « contenu généré par les utilisateurs » est devenu populaire en 2005
grâce au développement des moyens de production collaboratifs tels que les Wiki, les
blogs, les forums, le social bookmarking, les plateformes de microblogging. . . Nous
définissons en détail ci-après ces moyens de production :
– Wiki : un wiki est une application web permettant à ses utilisateurs de créer,
modifier et supprimer des contenus de manière collaborative. L’information
par conséquent est construite avec la participation de plusieurs personnes. Les
wikis peuvent avoir plusieurs objectifs : outil de gestion de connaissances, outil
de prise de notes, site communautaire, Intranet. . . Le premier wiki s’appelait
Wikiwikiweb. Il a été développé par Ward Cunningham à Portland, Oregon,
en 1994. L’application a été mise en ligne en 1995. Aujourd’hui, l’exemple le
plus connu de wiki est Wikipedia 2
, qui contient plus de 22 millions d’articles
dans 278 langues différentes 3
. Un wiki se caractérise par l’encouragement à la
2. http://www.wikipedia.org/
3. http://en.wikipedia.org/wiki/WIKIPEDIA
12CHAPITRE 1. RI SOCIALE
création des liens hypertextes de sorte que chaque page soit reliée à plusieurs
autres pages et chaque terme clé ou concept avec sa définition.
– Blog : Le blog est un type de site web sur lequel un internaute tient une
chronique personnelle ou consacrée à un sujet particulier. Il s’agit d’un espace
individuel d’expression, créé pour donner la parole à tous les internautes
(particuliers, entreprises, artistes, hommes politiques, associations. . . ), d’une
part, et pour permettre à tous les visiteurs de réagir sur le sujet évoqué, en
postant leurs commentaires sur les articles, créant ainsi une relation privilégiée
entre l’auteur et ses lecteurs. Les plate-formes de blogs les plus connues sont
Overblog 4
, Blogger 5
, SkyrockBlog 6
et CanalBlog 7
.
– Forum : Un forum est un lieu d’échange d’informations où les internautes
posent ou répondent à une question donnée. Les différentes contributions
forment un fil de discussion (thread en anglais). Chaque forum de discussion
se consacre à un thème précis. Par exemple, CFPOI World 8
se spécialise sur
les animaux, alloforum 9
sur les voitures. . . Les messages publiés dans les forums
sont archivés. Ceci permet aux internautes d’y participer d’une manière
asynchrone. Contrairement aux blogs, les messages sont organisés chronologiquement,
du plus ancien au plus récent.
– Social bookmarking : Le social bookmarking est un moyen pour stocker, classer,
chercher et partager les liens favoris. Ces favoris seront ainsi accessibles à
partir de n’importe quel point d’accès à l’internet, et non pas forcément à partir
d’une machine personnelle. Ce principe simplifie ainsi leurs partages avec
les autres internautes et permet de les récupérer même à partir de différentes
machines. Un internaute a la possibilité de partager ses bookmarks, et également
de regarder ce que les autres ont trouvé intéressant pour annoter. Selon
Ebizmba 10, Delicious 11 est le site plus populaire de social bookmarking.
– Plate-forme de microblogging : Le microblogging dérive directement du concept
des blogs. La différence réside principalement dans la longueur des publications.
Les microbloggeurs sont souvent limités à un nombre de caractères qui
est de l’ordre de 140 caractères (cas de Twitter). Toutefois, les microbloggeurs
peuvent partager des images ou des liens externes dans leurs messages. Ce
facteur encourage par conséquent les internautes à partager des microblogs
plus fréquemment. Certaines plate-formes de microblogging se focalisent sur
4. http://www.over-blog.com/
5. http://www.blogger.com/
6. http://www.skyrock.com/blog/
7. http://www.canalblog.com/
8. http://www.animalforum.com/
9. http://ma850.alloforum.com/
10. http://www.ebizmba.com
11. http://delicious.com/
13CHAPITRE 1. RI SOCIALE
des thèmes spécifiques tels que Blipper 12 (livres, musiques, jeux, etc.) et Flixter
13 (films). Cependant, les sujet discutés dans Twitter, la plate-forme de
micrblogging la plus populaire, ne sont pas contraints.
1.2 Contenus générés par la pratique
Ce deuxième type d’information sociale est produit au travers des différentes
pratiques que les internautes réalisent tout au long de leurs sessions de navigations.
On peut citer :
– Les traces des utilisateurs : elles comportent les différentes pages web visitées
par les utilisateurs, les clics, les durées de visites. . . Ces données peuvent être
utilisées afin de déterminer les préférences des utilisateurs et leurs thématiques
de recherche.
– Les données personnelles : elles se composent des informations que l’utilisateur
fournit au moment de son inscription sur les réseaux sociaux.
– Les liens sociaux : la plupart des plate-formes sociales définissent des règles de
liaison entre leurs différents utilisateurs. Ces règles diffèrent d’une plate-forme
à une autre. Prenons par exemple le cas de Twitter, il n’y a pas de restriction
dans les liens sociaux. N’importe quel utilisateur peut s’abonner à un autre
utilisateur, sans avoir forcément son accord (à moins que le compte soit privé,
ce qui est rarement utilisé). Par opposition, dans le cas de Facebook, les deux
utilisateurs doivent être d’accord pour partager leurs informations.
L’explosion des ressources sociales avec de nouvelles spécificités a permis l’émergence
d’une nouvelle branche de la Recherche d’Information : la RI sociale. Il s’agit
d’adapter les modèles et les algorithmes de la RI classique afin d’exploiter les informations
sociales. Dans ce qui suit, avant de présenter les impacts de la prise en
compte de l’information sociale dans la RI, nous présentons brièvement les concepts
de base de la RI classique.
2 RI : historique
La recherche d’information (RI) traite de la représentation, du stockage, de l’organisation
et de l’accès à l’information (Manning et al., 2008). L’objectif de la RI
est de faciliter, pour un utilisateur, l’accès à l’information qui correspond à son
besoin. Selon Baeza-Yates et Ribeiro-Neto (1999), un système de recherche d’information
(SRI) doit fournir à l’utilisateur, d’une manière simple, l’information à
laquelle il s’intéresse. Un SRI doit ainsi comprendre exactement la nature du besoin
en information de l’utilisateur, sélectionner l’ensemble des documents qui traitent
12. http://blipper.com
13. http://flixter.com
14CHAPITRE 1. RI SOCIALE
de son besoin et finalement ordonner les éléments sélectionnés selon leur degré de
pertinence décroissant.
2.1 Processus de RI
Satisfaire un besoin en information se traduit concrètement par la mise en correspondance
d’un besoin d’information exprimé souvent sous forme de mots-clés,
d’une part, et des informations disponibles dans les documents textuels d’une collection.
Ce processus se déroule au sein d’un système de recherche d’informations
(SRI). Un SRI est un ensemble logiciel assurant l’ensemble des fonctions nécessaires
à la recherche d’information. Ces fonctions sont traduites via ce que l’on appelle le
« processus en U » de la recherche d’information. La figure 1.1 (Belkin et Croft,
1992) en montre ces trois phases principales :
– l’indexation : crée un index à partir d’un corpus de documents. L’objectif de
l’indexation est l’homogénéisation des représentations, tout en rendant l’accès
rapide et efficace à l’ensemble des documents. Elle permet d’extraire les mots
importants et caractéristiques d’un document.
– le requêtage : c’est l’étape durant laquelle l’utilisateur exprime son besoin
d’information. Cette étape peut engendrer une reformulation de la requête
initiale. La requête soumise par l’utilisateur subit les mêmes traitements que
ceux réalisés sur les documents au cours de leur indexation.
– l’appariement : consiste à mesurer la similarité entre le besoin d’information
et les descripteurs des documents dans l’index.
2.1.1 Indexation
Les documents à leur état brut sont difficiles à exploiter tels quels lors de la
phase de recherche. Ainsi, l’objectif principal de cette étape est de fournir des représentations
des documents et des requêtes facilement exploitables par la machine
dans la phase de recherche. Cette représentation est souvent une liste pondérée de
mots-clés significatifs que l’on nomme descripteurs du document (ou de la requête).
L’indexation peut être manuelle, semi-automatique ou automatique.
– Indexation manuelle : c’est un spécialiste ou un documentaliste qui analyse
le document et sélectionne par la suite les termes qu’il trouve représentatifs.
L’indexation manuelle fournit une terminologie spécifique pour indexer et
rechercher les documents, garantissant ainsi une meilleure représentation des
documents et une meilleure qualité des résultats. Cependant, ce type d’indexation
demande plus de temps et d’efforts que les autres. En outre, un degré de
subjectivité lié au facteur humain fait que le même document peut être indexé
de différentes façons par des personnes différentes, et même par la même
personne mais à des moments différents (Furnas et al., 1987).
15CHAPITRE 1. RI SOCIALE
Collection de documents
Indexation
Représentation des documents
Producteur de documents
Comparaison – Appariement
requête - document
Personne avec des buts,
des intentions, etc.
Besoin d’information ou
état anormal de connaissance
Requête
Indexation
Représentation des requêtes
Documents sélectionnés
Utilisation et/ou évaluation
Modification
Reformulation de
la requête
Figure 1.1 – Processus en U de la recherche d’information
– Indexation automatique : dans ce cas, c’est un ensemble de processus appelés
robots d’indexation, qui réalisent de manière automatisée la tâche. C’est
l’approche suivie par la majorité des SRI, en raison de sa rapidité et son coût
réduit par rapport à l’indexation manuelle.
– Indexation semi-automatique : elle se base sur l’indexation automatique. Toutefois,
une intervention humaine peut être réalisée afin d’effectuer des choix sur
les termes significatifs, et pour valider la représentation finale des descripteurs.
Ces choix sont souvent réalisés en utilisant un thésaurus ou une base terminologique
qui est une liste organisée de descripteurs (mots-clés) liés à des règles
terminologiques propres et reliés entre eux par des relations sémantiques.
D’une manière générale, l’indexation automatique comprend une chaîne de traitements
automatisés. Ils sont appliqués sur les documents et également sur les requêtes.
On distingue : l’extraction des mots, l’élimination des mots vides de sens, la
normalisation et la pondération.
– Extraction des mots : cette étape consiste, dans un premier temps, à traiter
chaque document afin de pouvoir extraire le texte comme une suite de caractères.
Autrement dit, elle vise à résoudre les problèmes résultants des différents
formats et encodages des documents, pour avoir en finalité uniquement le texte
sous forme d’une séquence linéaire de caractères et de rejeter les éléments de
forme. Ensuite, la séquence de caractères est découpée en une liste de termes
16CHAPITRE 1. RI SOCIALE
susceptibles d’être indexés par une analyse lexicale. Une analyse lexicale permet
d’identifier les termes en reconnaissant les espaces de séparation des mots,
des caractères spéciaux, des chiffres, les ponctuations, etc.
– Élimination des mots vides : les textes contiennent souvent des termes non
significatifs appelés mots vides (pronoms personnels, prépositions. . . ). Cette
étape est réalisée par l’utilisation d’une liste de mots vides ou par le rejet de
mots dépassant un certain nombre d’occurrences dans le document. L’élimination
des termes vides a ses avantages et ses inconvénients. D’une part, pour
certaines requêtes, la présence des termes vides joue un rôle très important.
C’est le cas par exemple des requêtes contenant des entités nommées ou des
expressions avec des prépositions (« Le Monde » qui est un journal). Cependant,
leurs élimination réduit considérablement la taille des index et limite
leurs effets négatifs sur les calculs statistiques.
– Lemmatisation : Cette étape vise à réduire un terme à une forme canonique.
La lemmatisation regroupe les différentes formes que peut revêtir un mot, soit :
le nom, le pluriel, le verbe à l’infinitif, etc. Par exemple, le mot « jouer », verbe
à l’infinitif ni accordé, ni conjugué est un lemme. Il possède différentes flexions
qui correspondent à ses formes conjuguées à diverses personnes et temps : « il
jouera », « nous jouons », « ils ont joué ». . . Grâce à la lemmatisation, les
documents contenant différentes formes d’un même terme auront les mêmes
chances d’être restitués. D’autre part, ceci va éviter à l’utilisateur de saisir
les différentes formes des termes lors de la recherche. Par conséquent, cette
étape réduit la taille de l’index et améliore le rappel (la part des documents
pertinents retrouvés par le SRI par rapport à tous les documents pertinents).
Cependant, elle peut réduire la précision (la part des documents pertinents par
rapport à tous les documents restitués). Par exemple, l’ensemble des termes
« operate operating operates operation operative operatives operational » va
devenir « oper », ce qui implique une perte de précision pour des requêtes
telles que : « operational and research ; operating and system ; operative and
dentistry ». On distingue quatre types principaux de lemmatisation : en consultant
un dictionnaire (ex. Tree-tagger (Schmid, 1994)), en utilisant les règles
de transformation (ex. Porter Stemmer (Porter, 1980)), par troncature après
X caractères et la méthode de n-grammes (Mayfield et McNamee, 2003).
– Pondération : Cette étape vient après l’identification des termes des documents
et leur normalisation. Les termes qui représentent un document n’ont
pas la même importance. De ce fait, un poids est associé à chaque terme.
Estimer l’importance d’un terme n’est pas une tâche simple. Prenons le cas
d’une collection d’un million de documents. Un terme qui existe dans tous
les documents n’est pas utile dans l’index parce qu’il ne peut fournir aucune
information sur le document qui pourrait intéresser un utilisateur. Cependant,
17CHAPITRE 1. RI SOCIALE
un terme qui apparaît dans 5 documents uniquement peut être de grande valeur
puisqu’il permet de pointer les documents pertinents. Pour ces raisons,
des mesures qualitatives sont calculées au moment de l’indexation pour chaque
terme. D’une part, ces mesures permettent d’estimer le degré d’importance des
termes dans les documents. D’autre part, elles permettent d’éviter un temps
de calcul supplémentaire durant la phase de l’appariement. La plupart de ces
mesures sont basées sur les facteurs TF et IDF, qui permettent de combiner
les pondérations locales (dans le document) et globales (dans la collection)
d’un terme.
TF (Term Frequency) : cette mesure est proportionnelle au nombre d’occurrences
d’un terme dans un document (pondération locale). Toutefois, il
existe différentes variantes de cette mesure qui dépendent de la façon dont la
pertinence est mesurée. L’inconvénient du TF se situe au niveau de la pertinence
globale. Certains termes sont plus significatifs que d’autres, bien qu’apparaissant
avec la même fréquence dans un document. Par exemple, dans une
collection de documents traitant de la compétition Roland Garros, le terme
Nadal est plus important que le terme tennis, même si ces deux termes apparaissent
équitablement dans un document. Pour cette raison le TF est souvent
couplé avec la mesure IDF.
IDF (Inverse Document Frequency) : se calcule selon la formule suivante :
IDFt = log
N
dft + 1!
(1.1)
N est le nombre de documents dans la collection et dft est le nombre de documents
dans lesquels le terme t apparaît. Cette mesure calcule la fréquence
d’un terme dans la collection (pondération globale). Comme le montre la formule
5.1, cette mesure met en valeur les termes rares et limite l’importance
des termes fréquents dans la collection.
La combinaison de TF et IDF fournit une autre mesure importante :
T F IDFt,d = T Ft,d ∗ IDFt (1.2)
Cette mesure donne pour un terme t un score important s’il apparaît fréquemment
dans peu de documents et un score faible si le terme apparaît rarement
dans un même document ou dans beaucoup de documents.
2.1.2 Requêtage
Les mêmes étapes que celles réalisées sur les documents sont répétées sur les
requêtes. Cependant, aucun index n’est créé.
Une fois la normalisation des termes effectuée, une représentation des termes est
préparée. Cette représentation dépend de la méthode de recherche (ou modèle de
18CHAPITRE 1. RI SOCIALE
recherche) utilisée au niveau de l’appariement. Par exemple, si le modèle utilisé est
le modèle vectoriel (discuté dans un prochain paragraphe), la requête va prendre la
forme d’un vecteur dans un espace où chaque terme distinct du corpus représente
une dimension. Si le modèle est le modèle booléen, alors le système doit créer des
formules logiques avec les termes de la requête en utilisant les opérateurs AND, OR
et NOT. . .
Les SRI modernes pratiquent également des traitements complémentaires comme
l’extension de requête (Vechtomova et Wang, 2006).
2.1.3 Appariement
Une fois les documents indexés et la requête analysée, le SRI procède à l’appariement
entre la requête et les documents. De cette mise en correspondance résulte un
score de pertinence reflétant le degré de similarité entre la requête et le document.
En d’autres termes, le système prédit si l’utilisateur trouvera des informations pertinentes
ou non dans le document. Ce score est calculé à partir d’une valeur appelée
RSV (q, d) (Retrieval Status Value), où q est une requête et d un document. Cette
mesure tient compte des poids des termes calculés au moment de l’indexation. Les
SRI actuels calculent des scores sous forme décimale. Ceci permet d’ordonner les
documents restitués. La qualité de cet ordonnancement est primordiale. En effet,
l’utilisateur se contente généralement d’examiner les premiers documents renvoyés
(les 10 ou 20 premiers). Si la qualité des informations présentes dans cette tranche
n’est pas satisfaisante, l’utilisateur considérera le SRI comme mauvais vis-à-vis de
sa requête.
Différents modèles de RI ont été proposés dans la littérature afin de formaliser
la pertinence, des modèles les plus naïfs basés sur l’appariement exact jusqu’aux
modèles plus élaborés basés sur l’appariement flou. Dans la suite, nous présentons
les principaux modèles de la littérature.
2.2 Modèles de RI
Les modèles de RI visent à fournir un cadre théorique pour interpréter la notion
de pertinence et permettent ainsi de classer les documents vis-à-vis un besoin d’information.
Un modèle de recherche d’information est représenté par le quadruplet
[D,Q,F, R(q,d)] :
– D est l’ensemble des représentations des documents dans la collection.
– Q est l’ensemble des représentations du besoin d’information de l’utilisateur.
– F représente le cadre de modélisation des documents et des requêtes, ainsi que
les relations entre eux. Les relations peuvent être des relations booléennes, des
vecteurs ou des distributions de probabilités des termes.
19CHAPITRE 1. RI SOCIALE
– R(q,d) est la fonction d’ordonnancement qui attribue un score de pertinence
pour le couple composé par une représentation de la requête q ∈ Q et d’une
représentation d’un document d ∈ D.
La fonction d’ordonnancement reflète l’intuition du modèle utilisé. Par exemple,
pour le modèle booléen, F correspond à la théorie des ensembles. Pour le modèle
vectoriel, F repose sur un espace vectoriel de N-dimensions, des représentations de
requêtes et de documents sous formes de vecteurs. . .
Il existe une multitude de modèles de RI. La figure 1.2 présente la classification
des modèles de RI selon (Baeza-Yates et Ribeiro-Neto, 1999). Comme illustré dans
cette figure, les modèles de RI peuvent être regroupés selon le type du modèle
mathématique utilisé, en trois grandes classes, à savoir :
Figure 1.2 – Catégorisation des modèles de RI (Baeza-Yates et Ribeiro-Neto, 1999)
– Les modèles ensemblistes : ces modèles trouvent leurs fondements théoriques
dans la théorie des ensembles. On distingue le modèle booléen pur (boolean
model), le modèle boolen étendu (extended boolean model) et le modèle basé
sur les ensembles flous (fuzzy set model).
– Les modèles vectoriels, basés sur l’algèbre, plus précisément le calcul vectoriel.
Ils englobent le modèle vectoriel (vector model), le modèle vectoriel généralisé
(generalized vector model), Latent Semantic Indexing (LSI) et le modèle
connexionniste.
– Les modèles probabilistes, qui se basent sur les probabilités. Ils comprennent
le modèle probabiliste général, le modèle de réseau de document ou d’inférence
(Document Network) et les modèles de langue.
Dans le modèle booléen, les documents et les requêtes sont représentés sous la
forme d’un ensemble de termes. Ainsi, comme suggéré dans (Gudivada et al., 1997),
20CHAPITRE 1. RI SOCIALE
il s’agit d’un modèle ensembliste. Dans le modèle vectoriel, les documents et les
requêtes sont représentés sous formes de vecteurs dans un espace de N-dimensions.
Pour le modèle probabiliste, le cadre de modélisation des documents et des requêtes
est basé sur la théorie des probabilités.
Nous présentons dans la suite les principaux modèles issus de chacune de ces
trois classes. Nous renvoyons le lecteur aux nombreux manuels introductifs à la RI
(Baeza-Yates et Ribeiro-Neto, 1999 ; Manning et al., 2008) pour des présentations
exhaustives des modèles de RI.
2.2.1 Modèle Booléen
Le modèle Booléen (Salton, 1968) est un modèle qui se base sur la théorie des
ensembles et l’algèbre de Boole. Le modèle Booléen prend en compte uniquement
la présence et l’absence d’un terme dans les documents : considérons le poids d’un
terme i dans un document j wi,j ∈ {0, 1}. Les poids des termes dans la matrice
terme-document sont binaires. La requête q est, elle aussi, composée de termes reliés
par des opérateurs logiques (ET, OU et NON). Ainsi le modèle vérifie si le document
satisfait les conditions représentées par les termes de la requête. Le modèle booléen
évalue si un document est pertinent ou non pertinent. Le score de chaque document
sera ainsi représenté respectivement par 0 ou 1.
La décision binaire de pertinence sans aucune notion de graduation (exact match)
réduit la qualité des résultats (notion de silence). En outre, les expressions booléennes
ont une sémantique précise, ce qui rend la traduction du besoin d’information
en une expression booléenne une tâche difficile. Ainsi, la majorité des expressions
booléennes formulées par les utilisateurs sont simples (1 seul opérateur).
Même si la définition du besoin d’information sous forme d’une expression booléenne
n’est pas toujours évidente pour les utilisateurs, le modèle booléen se caractérise
par un formalisme simple et clair (représentation binaire des termes dans
l’index). L’inconvénient principal est l’absence d’ordonnancement des résultats (car
tous les RSV = 1), ce qui résulte parfois en la restitution d’un nombre très important
ou très faible de documents.
2.2.2 Modèles vectoriels
Le modèle vectoriel (Salton et al., 1975) propose un cadre dans lequel la pertinence
partielle est possible. Le poids des termes des documents et des requêtes n’est
plus binaires. Le poids est utilisé pour mesurer la similarité entre les documents
et le besoin d’information. Les documents sont ainsi ordonnés selon leur degré de
similarité décroissant : du plus similaire au moins similaire ayant le score le plus
faible. Le modèle vectoriel prend en compte les documents répondant partiellement
21CHAPITRE 1. RI SOCIALE
au besoin d’information. En outre, le modèle fournit une réponse plus raffinée que le
modèle booléen dans le sens où il permet de sélectionner et de trier les documents.
Dans le modèle vectoriel, le document et la requête sont représentés par des
vecteurs. Le degré de similarité entre un document dj et une requête q est mesuré
comme la corrélation entre les vecteurs ~dj et ~q. Cette corrélation peut être calculée
par le cosinus entre les deux vecteurs.
sim(
~dj
, ~q) = d~
j .~q
|
~dj |×|~q|
=
Pt
i=1 q
wi,j×wi,q
Pt
i=1 w2
i,j×
qPt
i=1 w2
i,q
(1.3)
D’autres fonctions de similarité ont été proposées dans la littérature, parmi lesquelles
on peut citer les mesures de Jaccard et Dice (Manning et al., 2008).
Les poids des termes des requêtes et des documents dans les vecteurs sont géné-
ralement des scores basés sur T F.IDF. Ainsi,
wi,q =
(1 + log(tfi,q)) × log(
N
ni
)
qP
k
((1 + log(tfk,q)) × log(
N
nk
)
2
)
(1.4)
wi,dj =
(1 + log(tfi,dj
)) × log(
N
ni
)
qP
k
((1 + log(tfk,dj
)) × log(
N
nk
)
2
)
(1.5)
avec T F représenté par 1 +log(tfi,dj
) et IDF représenté par log(
N
ni
). Le reste de
la fonction est utilisé pour la normalisation des scores.
Les avantages principaux du modèle vectoriel sont les suivants : tout d’abord,
la pondération non binaire des termes favorise une meilleure qualité des résultats.
Ensuite, le modèle permet une correspondance partielle ou approximative entre les
documents et les requêtes (best match). Les documents sont triés selon leur degré
de similarité vis-à-vis de la requête. La longueur des documents est traitée naturellement
dans l’appariement, car elle est considérée dans le calcul des poids des
termes.
Théoriquement, le modèle vectoriel a l’inconvénient de considérer que les termes
de l’index sont tous indépendants. Cependant, en pratique, la prise en compte globale
de la dépendance des termes peut faire baisser la qualité des réponses d’un système
(Baeza-Yates et Ribeiro-Neto, 1999) car les dépendances sont généralement locales.
C’est pour toutes ces raisons que le modèle vectoriel est encore populaire de nos jours
en recherche d’information, et reste souvent utilisé comme une baseline (modèle de
référence) lors de l’évaluation d’autres méthodes.
2.2.3 Modèle probabiliste
Le modèle probabiliste a été proposé par Robertson et Sparck Jones (1988). Il
propose une solution à la problématique de la RI dans un cadre probabiliste : la
22CHAPITRE 1. RI SOCIALE
fonction de pertinence du modèle probabiliste se base sur le calcul de probabilités
de pertinence des documents pour les requêtes données. Le principe de base consiste
à retrouver des documents qui ont, dans le même temps, une forte probabilité d’être
pertinents, et une faible probabilité d’être non pertinents. Ainsi, on distingue deux
classes de documents pour une requête qi
: les pertinents (R) et les non pertinents
(R). Par conséquent, deux mesures de probabilité sont calculées : P(R|dj ) la probabilité
que le document dj soit dans R et P(R|dj ) la probabilité que ce document
soit dans R. Ainsi, la pertinence entre le document dj et la requête q est calculée
par :
RSV (q, dj ) = P(R|dj )
P(R|dj )
(1.6)
En appliquant la règle de Bayes et après quelques transformations, la formule
précédente donne :
RSV (q, dj ) = P(dj
|R)
P(dj
|R)
(1.7)
Dans le modèle probabiliste de base, la représentation des documents est composée
par des poids binaires indiquant la présence ou l’absence des termes, si on
suppose que les termes sont indépendants, la formule 1.7 devient :
RSV (q, dj ) = X
ti∈T
xi
· log pi(1 − qi)
qi(1 − pi)
(1.8)
avec T est l’ensemble de tous les termes, xi = 0 si le terme i n’apparaît pas
dans le document j ou bien xi = 1 si le terme i apparaît dans le document j.
pi = P(ti ∈ D|R), qi = P(ti ∈ D|R), 1 − pi = P(ti ∈/ D|R) et
1 − qi = P(ti ∈/ D|R).
Lorsque des données d’apprentissage pour l’évaluation ne sont pas disponibles,
on retrouve le facteur idf probabiliste intégré dans le modèle vectoriel :
RSV (q, dj ) = X
ti∈T
xi
· log N − Ri
Ri
(1.9)
avec N le nombre de tous les documents et Ri est le nombre de documents contenant
ti
.
Nous rappelons que, dans le modèle de base, les termes ont des poids binaires
dans les documents, indiquant leur présence ou absence. La prise en compte des
fréquences des termes dans les document a fait l’objet de plusieurs modèles variant
du modèle de base. Par exemple, dans le modèle BM25 (Robertson et al., 1996) le
calcul du poids d’un terme dans un document intègre différents aspects relatifs à la
23CHAPITRE 1. RI SOCIALE
fréquence locale des termes (tfi), leur rareté et la longueur des documents :
xi =
(k1 + 1) · tfi
k1 × ((1 − b) + b ×
dl
avgdl + tfi
(1.10)
avec dl est la taille du document dj
, avgdl est la moyenne des tailles des documents
dans la collection et k1 ,b sont des paramètres qui dépendent de la collection
ainsi que du type des requêtes.
2.3 Évaluation
L’évaluation des approches de RI est nécessaire afin d’estimer leur performance.
C’est un moyen qui permet également de comparer différents systèmes et d’étudier
l’impact des facteurs employés dans les approches. Un bon SRI doit satisfaire le
besoin d’information de l’utilisateur. La qualité des résultats par rapport à ce besoin,
la rapidité du système et la facilité d’utilisation du système représentent les
principaux facteurs à évaluer pour un SRI (Mandl, 2007). Nous nous intéressons ici
à celui qui nous semble le plus important : la capacité d’un système à sélectionner
des documents pertinents. Le mode d’évaluation généralement utilisé aujourd’hui
est basé sur celui développé dans le projet Cranfield (Cleverdon et al., 1966) communément
appelé le paradigme de Cranfield. Ce paradigme définit la méthodologie
d’évaluation des SRI en se basant sur 3 éléments : un corpus de documents sur
lequel les recherches sont effectuées, un ensemble de requêtes de test (besoins des
utilisateurs) et la liste des documents pertinents pour chacune des requêtes (la vérité
terrain). L’idée générale de ce paradigme est de créer un environnement unique afin
de pouvoir comparer les systèmes équitablement. Cet environnement est appelé la
collection de test.
2.3.1 Collection de test
Les collections de test permettent de comparer directement des résultats obtenus
par des systèmes en utilisant des modèles différents. Nous détaillons ci-dessous les
différentes parties de ces collections.
– Les requêtes sont un ensemble de besoins d’information utilisés pour le test.
Cet ensemble est appelé également topics dans le jargon des campagnes d’évaluations
telles que TREC, INEX. . . Le nombre de requêtes doit être important
afin d’être le plus représentatif possible de la réalité et pour avoir une évaluation
objective. Il faut au moins 25 requêtes pour garantir la qualité de l’évaluation
au regard de la statistique (Buckley et Voorhees, 2000). Les requêtes sont
souvent créées par les assesseurs des organismes qui organisent l’évaluation.
Toutefois, elles peuvent être de vraies requêtes extraites à partir des logs des
moteurs de recherche (Baeza-Yates et Ribeiro-Neto, 1999).
24CHAPITRE 1. RI SOCIALE
– Le corpus de documents est l’ensemble de documents présélectionnés. Il existe
plusieurs corpus disponibles. Ces corpus diffèrent selon plusieurs critères en
fonction de la tâche de recherche que l’on veut évaluer, des documents plus ou
moins vulgarisés, plus ou moins spécialisés dans un domaine, dans une langue
ou une autre. . .
– Les jugements de pertinence identifient les documents pertinents pour une requête
et représentent la vérité terrain. Un score de pertinence graduel peut
éventuellement être associé pour chaque couple document/requête. La réalisation
de ces jugements est loin d’être une tâche facile. Il s’agit d’un processus
long et coûteux impliquant des humains. Pour de petites collections comme
celle de Cranfield, il existe des jugements de pertinence exhaustifs pour chaque
paire requête-documents. Cependant, pour les grandes collections modernes,
les jugements ne se font généralement que pour un sous-ensemble des documents
pour chaque requête. L’approche la plus standard est celle du pooling
(Jones et Rijsbergen, 1976), où la pertinence est évaluée sur un sous-ensemble
de la collection formé à partir des premiers documents retournés par un certain
nombre de systèmes différents (généralement ceux à évaluer), et parfois
complété par d’autres sources telles que les résultats de recherches booléennes
par mots clés ou des documents trouvés par les chercheurs experts dans un
processus interactif.
De nombreux projets basés sur des corpus d’évaluation se multiplient depuis les
années 1970. On peut par exemple citer la collection Cranfield ou encore la campagne
CLEF (Cross Language Evaluation Forum) 14. La campagne la plus connue est sans
conteste TREC (Text REtrieval Conference) organisée annuellement depuis 1992 par
le NIST 15 et la DARPA 16. Elle a pour but d’encourager la recherche documentaire
basée sur de grandes collections de test, tout en fournissant l’infrastructure nécessaire
pour l’évaluation des méthodologies de recherche et de filtrage d’information. Dans
ce qui suit, nous présentons les corpus les plus populaires issus de différents projets
d’évaluation :
– Conférence Text Retrieval (TREC). Le US National Institute of Standards
and Technology (NIST) a organisé une grande série d’évaluations depuis
1992. Dans ce cadre, plusieurs tâches qui se basaient sur différentes collections
d’essais ont été définies. On peut par exemple citer les collections utilisées
pour la tâche adhoc entre 1992 et 1999. Au total, ces collections comprennent
6 CD contenant 1,89 millions de documents et les jugements de pertinence
pour 450 besoins d’information. Les premières collections étaient composées
chacune de 50 besoins d’information, évalués sur différentes ensembles de do-
14. http://www.clef-initiative.eu/
15. National Institue of Standards and Technology (www.nist.gov)
16. Defense Advanced Research Project Agency
25CHAPITRE 1. RI SOCIALE
cuments. TREC 6-8 fournit 150 besoins d’information sur environ 528 000
articles. Étant donné les collections de documents si grandes, il n’y a pas de
jugements de pertinence exhaustifs. Au contraire, les jugements de pertinence
sont disponibles uniquement pour les documents qui sont restitués parmi les
premiers documents retournés pour les systèmes qui ont participé à l’évaluation
(pooling).
– Le projet NTCIR a développé diverses collections d’essais de tailles similaires
aux collections de TREC, en se concentrant sur les langues d’Asie de
l’Est et la recherche d’information multilingue. Les requêtes sont faites dans
une langue, toutefois, les collections de documents contiennent des documents
dans une ou plusieurs autres langues.
– CLEF (La campange Cross Language Evaluation Forum) a également
proposé plusieurs collections. Elle s’est concentrée sur les langues européennes
et la recherche d’information multilingue.
On trouvera plus de détails sur l’évaluation à base de collections de test dans
(Sanderson, 2010).
2.3.2 Mesures d’évaluation
En RI, la mise au point des modèles passe par une phase expérimentale qui
suppose l’utilisation de métriques qui visent à comparer des modèles entre eux ou
à mettre au point leurs paramètres. Les deux métriques de base les plus utilisées
pour évaluer l’efficacité de la RI sont la précision et le rappel. Celles-ci sont définies
pour le cas simple où un système renvoie un ensemble de documents vis-à-vis d’une
requête (Voorhees, 2006).
La mesure de précision calcule la capacité du système à rejeter tous les documents
non pertinents pour une requête. Elle est donnée par le rapport entre les documents
sélectionnés pertinents et l’ensemble des documents sélectionnés :
Précision =
|Documents pertinents restitués|
|Documents restitués|
∈ [0, 1] (1.11)
Le rappel calcule la capacité du système à restituer le maximum de documents
pertinents pour une requête. Il mesure la proportion de documents pertinents restitués
par le système relativement à l’ensemble des documents pertinents contenus
dans la base documentaire. Il est exprimé par :
Rappel =
|Documents pertinents restitués|
|Documents pertinents|
∈ [0, 1] (1.12)
Le rappel et la précision sont calculés indépendamment de l’ordre dans lequel
les résultats sont représentés (ce sont des mesures ensemblistes). Des mesures tenant
compte de l’ordre des documents sont également nécessaires. Elles permettent
26CHAPITRE 1. RI SOCIALE
par exemple d’évaluer des systèmes tels que les moteurs de recherche du web où
l’ordre d’apparition des documents est crucial. À cet égard, les mesures principales
proposées sont la précision@X et la précision moyenne.
La précision@X est la précision à différents niveaux de coupe de la liste. Cette
précision mesure la proportion des documents pertinents retrouvés parmi les X premiers
documents restitués par le système.
La précision moyenne est la moyenne des valeurs de précisions après chaque
document pertinent. Elle se focalise en particulier sur les document pertinents classés
dans les premiers rangs.
APq =
1
R
X
N
i=1
p(i) × R(i) (1.13)
Où R(i) = 1 si le ième document restitué est pertinent, R(i) = 0 si le ième
document restitué est non pertinent, p(i) la précision à i documents restitués. R le
nombre de documents pertinents pour la requête q et N le nombre de documents
restitué par le système.
La moyenne des précisions moyennes (Mean Average Precision-MAP) est
obtenue sur l’ensemble des requêtes :
MAP =
P
q∈Q APq
|Q|
(1.14)
avec APq est la précision moyenne d’une requête q, Q est l’ensemble des requêtes
et |Q| est le nombre de requêtes. Cette mesure peut être qualifiée de globale
puisqu’elle combine différents points de mesure.
Il existe plusieurs autres mesures qui peuvent servir à évaluer les SRI. Nous
pouvons citer par exemple la F-mesure, la R-précision, la BPREF (Binary
PREFerence-based measure), la MRR (Mean Reciprocal Rank) détaillées dans
(Sanderson, 2010).
Nous avons vu dans cette section que les approches classiques de RI se basent
généralement sur la fréquence des termes, que ce soit dans les documents ou dans
le corpus, pour mesurer la pertinence. En outre, un document est considéré uniquement
par son contenu présenté comme un sac de mots. Cependant, avec l’évolution
des techniques du web 2.0, un document peut être représenté, non seulement par
son contenu, mais aussi par d’autres informations sociales telles que ses liens avec
les autres documents, des annotations, les commentaires des utilisateurs. . . Nous
présentons dans la section suivante les différentes approches de RI utilisant ces informations
sociales.
27CHAPITRE 1. RI SOCIALE
3 Utilisation des informations sociales en RI :
RI sociale
La RI sociale consiste à adapter les modèles et les algorithmes de la RI classique
en exploitant les informations sociales. Il s’agit de satisfaire les besoins d’information
des utilisateurs en exploitant par exemple les connaissances des utilisateurs experts
ou bien les expériences de recherche des autres utilisateurs. Cet objectif se réalise
concrètement en considérant les annotations sociales (Peters et al., 2011), l’analyse
des réseaux sociaux (Kazai et Milic-Frayling, 2008), les jugements de pertinence
subjectifs (Xu et al., 2007) et la recherche collaborative(Karamuftuoglu, 1998) dans
le processus de la RI. Comme le montre la figure 1.3, les informations sociales peuvent
être exploitées au sein même du modèle de RI (modèle de document et de requête,
fonction de pondération / de correspondance), ou en aval de ce modèle (reclassement
de la liste des résultats) et même comme une source parmi d’autres dans le web.
Document
Indexation
Représentation interne
des documents
annotations
blogs et microblogs
bookmarks
clics
Utilisateurs Interactions Information sociale
Requête
Interprétation
Représentation
interne de la requête
Fonction de correspondance
Côté utilisateur Côté documents
Exploitation
Reformulation de requêtes
Profil utilisateur
Facteurs de pertinence
Enrichissement des documents
Figure 1.3 – Exploitation de l’information sociale dans la RI
Dans cette section, nous nous focalisons sur l’impact de l’information sociale sur
le processus de RI. L’objectif étant d’améliorer la qualité des résultats, les informa-
28CHAPITRE 1. RI SOCIALE
tions sociales sont employées à plusieurs niveaux. Nous pouvons classer les approches
exploitant l’information sociale en fonction du niveau de leur utilisation (côté utilisateur
ou côté documents ; figure 1.3). D’une part, ces informations ont été ainsi
employées du côté de l’utilisateur pour reformuler les requêtes ou bien pour définir
un profil et contextualiser les résultats. D’autre part, du côté des documents, les
informations sociales ont été utilisées pour enrichir la représentation des ressources
documentaires.
3.1 Côté utilisateur
L’idée est d’améliorer l’efficacité des SRI en exploitant le contexte de l’utilisateur.
Ceci se réalise en tenant compte des informations sur l’utilisateur (telles que son
profil ou ses informations personnelles) dans le processus de recherche ou bien en
améliorant la représentation de son besoin d’information, dans le but de retrouver
des résultats plus spécifiques et plus raffinés. Ainsi, plusieurs travaux ont exploité
l’information sociale comme moyen de reformulation de requêtes ou de création de
profil pour une recherche personnalisée.
3.1.1 Information sociale pour la reformulation de requêtes
La reformulation de requêtes est vue comme un traitement pour élargir le champ
de recherche pour une requête. Une requête étendue va contenir plus de termes reliés
permettant d’une part de désambiguïser les mots initiaux et connaître exactement
leurs sens, et d’autre part d’augmenter les chances de restituer le maximum de
documents pertinents.
L’information sociale peut ainsi être utilisée pour étendre les requêtes. Koolen
et al. (2009) proposent une approche d’expansion de requêtes utilisant Wikipédia
comme collection externe. Ils appliquent ensuite cette approche dans la recherche
de livres. D’autres pistes concernant le « Pseudo-Relevance Feedback » à partir
de Wikipédia ont été explorées, notamment par l’approche de Y. Li et al. (2007)
qui traite les requêtes dites « faibles ». Ces requêtes ne permettent pas de récupérer
suffisamment de documents pertinents lors de la première recherche. Cette approche
a montré une amélioration de qualité, en particulier sur les premiers documents
renvoyés.
Bai et al. (2007) ont utilisé ODP (Open Directory Project) 17 afin de contextualiser
les besoins d’information. L’idée est d’étendre les requêtes avec des ensembles
de mots extraits de documents du feedback. L’ensemble du feedback est composé de
documents qui sont pertinents ou pseudo-pertinents par rapport à la requête initiale,
et qui sont à même de contenir des informations importantes sur le contexte
17. http://www.dmoz.org/
29CHAPITRE 1. RI SOCIALE
de la recherche. Les mots exprimant le plus d’information par rapport à la requête
sont traités comme des concepts implicites. Ils sont alors utilisés pour reformuler la
requête.
3.1.2 Information sociale pour la création de profil
et la recherche personnalisée
Un profil d’utilisateur est constituée des préférences de restitution de l’utilisateur,
ainsi que des contraintes sur les résultats présentés. Les informations sociales
ont également été utilisées pour créer les profils des utilisateurs. Les profils sont
par la suite utilisés pour définir un contexte de restitution permettant de sélectionner
des résultats personnalisés. Les éléments souvent utilisés pour créer le profil
d’un utilisateur sont ses relations sociales, ses annotations et ses activités dans les
plate-formes sociales. Les profils à base d’informations sociales ont été utilisés, par
exemple, pour faciliter la personnalisation des recherches à partir d’un environnement
de marquage collaboratif. Cai et Li (2010) se sont concentrés sur l’exploration
de recherches personnalisées à travers la proposition d’une approche qui permet de
créer des profils d’utilisateurs basés sur les tags, ainsi que la création de profils des
ressources à rechercher.
L’information sociale peut être utilisée pour personnaliser la recherche. Carmel
et al. (2009), de leur côté, exploitent les relations sociales de l’utilisateur. Les ré-
sultats d’une recherche sont de nouveau classés en fonction des relations avec des
personnes dans le réseau social de l’utilisateur. Les auteurs ont étudié l’impact de
plusieurs types de réseaux sociaux pour la personnalisation : (1) réseau basé sur
les connaissances liées à l’utilisateur via une connexion de familiarité ; (2) réseau de
personnes « similaires » à l’utilisateur et qui ont des activités sociales semblables,
(3) le réseau global représenté par les deux types de relations.
Les informations sociales sont également utilisées dans les moteurs de recherches
du web. Google, par exemple, propose un outil pour chercher dans les information du
réseau social. En choisissant « résultats personnels » (figure 1.4), un internaute est
susceptible de retrouver les profils et les documents partagés par son cercle social, que
ce soit celui de Google+ 18, de Twitter, de flickr 19. . . Google propose également des
utilisateurs qui semblent avoir les mêmes centres d’intérêts. Bing propose également
son outil de recherches social Bing social search (figure 1.5). Cette fonctionnalité
permet non seulement d’exploiter le réseau social pour valoriser les résultats du
cercle, mais également de retrouver des personnes expertes et susceptibles de disposer
des meilleures informations sur le sujet cherché. Bing exploite la majorité des plate-
18. https://plus.google.com/
19. https://www.flickr.com/
30CHAPITRE 1. RI SOCIALE
formes sociales tels que Facebook 20, Twitter, Klout 21 et même Google+.
Figure 1.4 – Résultats à partir du cercle social dans Google
Figure 1.5 – Recommandation de profils expert sur le sujet recherché sur Bing
3.2 Côté documents
L’idée sous-jacente à l’utilisation des informations sociales du côté des documents
est de ramener des informations supplémentaires pour enrichir la représentation des
contenus recherchés ou bien pour les utiliser comme des facteurs de pertinence.
3.2.1 Information sociale pour l’enrichissement des ressources
documentaires
Les commentaires et les tags réalisés par un utilisateur du web sur les contenus
publiés par les autres utilisateurs dépendent fortement de ses connaissances et ses
centres d’intérêts. Ainsi, ces données représentent une valeur ajoutée (des métadonnées),
que ce soit pour la création de profil de l’utilisateur ou bien pour enrichir
le contenu et la représentation des documents. Cai et Li (2010) ont utilisé les tags
pour générer des profils des ressources d’informations et des profils des utilisateurs.
20. https://www.facebook.com/
21. https://www.klout.com/
31CHAPITRE 1. RI SOCIALE
La correspondance des deux types de profils a permis d’améliorer la qualité des
résultats.
Les informations sociales ont été utilisées également pour enrichir la représentation
des ressources au moment de l’indexation. Attardi et Simi (2006) ont utilisé
les opinions obtenues de la base lexicale « SentiWordNet » pour enrichir l’index
des documents avec des étiquettes d’opinion. L’intuition est que l’utilisation des
étiquettes marquant l’opinion permet de surpondérer les scores pour les documents
qui ne seraient pas sélectionnées avec un simple calcul statistique sur les fréquences
d’occurrence. Cet enrichissement de l’index permet d’améliorer le rappel.
3.2.2 Information sociale comme facteur de pertinence
Le contenu social a démontré son avantage pour l’amélioration et l’enrichissement
des contenus. De même, ces contenus sont utilisés au niveau de la mesure de la
pertinence d’un document, comme un facteur parmi d’autres.
Bao et al. (2007) ont trouvé que le social bookmarking peut améliorer les recherches
sur le web selon deux aspects : 1) les annotations représentent généralement
de bons résumés pour les pages web correspondant ; 2) le nombre d’annotations indique
la popularité des pages web. Ainsi, deux nouveaux algorithmes sont proposés
pour intégrer les facteurs ci-dessus dans le classement de la page : 1) SocialSimRank
(SSR) calcule la similarité entre les annotations sociales et les requêtes ; 2) SocialPageRank
(SPR) capte la popularité des pages web en fonction des annotations qui
y sont réalisées (Bao et al., 2007).
D’autres travaux ont relié la pertinence avec l’importance de leurs auteurs. En
fait, plus l’auteur est populaire, plus l’information est fiable. La popularité d’un
auteur est ainsi mesurée à travers ses informations sociales. C’est l’exemple de l’approche
de Macdonald et Ounis (2006), qui ont proposé un modèle de recherche
d’information mesurant la pertinence en fonction de l’expertise de son auteur par
rapport au besoin d’information. Ils supposent que chaque document représente
un vote pour chaque personne qui le cite. C’est le cas également de l’approche de
Korfiatis et al. (2006) qui ont évalué les documents de Wikipédia à travers la popularité
de leurs auteurs. Pour ce faire, ils ont construit un modèle du réseau social de
Wikipédia et ont défini des mesures de qualité telles que la centralité des auteurs.
Les auteurs ont trouvé que cette méthode d’évaluation est prometteuse, particuliè-
rement avec les articles traitant de sujets susceptibles d’exposer différents points de
vus, tels que les sujet politiques. Kazai et Milic-Frayling (2008) ont défini la notion
de confiance accordée à un auteur. Cette confiance reflète la pertinence du document
publié par l’auteur. Elle se calcule à travers la centralité du nœud du sous-graphe
d’un auteur. Ce sous-graphe est obtenu à partir du graphe composé par plusieurs
acteurs (auteurs, éditeurs et consommateurs), ainsi que des liens de données (publi-
32CHAPITRE 1. RI SOCIALE
cations) et des différentes relations sociales (tels que les collaborations, les citations
et les annotations entre les différents acteurs).
Outre l’expertise, la popularité et la confiance, les informations sociales sont
utilisées comme facteur de pertinence relié à la fraîcheur de l’information. Dong,
Zhang, et al. (2010) ; Dong, Chang, et al. (2010) ont proposé d’utiliser les informations
publiées sur les plate-formes de microblogging pour détecter les nouvelles
URLs qui sont susceptibles de ne pas être encore indexées par les moteurs de recherche.
Les auteurs ont également utilisé les informations sociales obtenues à partir
des plate-formes de microblogging comme des mesures de pertinence et de qualité
des documents pointés par les URLs.
4 Conclusion
Nous avons présenté dans ce chapitre l’information sociale dans le Web, développée
avec l’évolution des technologies du Web 2.0. Nous avons ensuite décrit les
concepts de base de la RI classique et, en particulier, ceux que nous utilisons dans
nos travaux. Enfin, nous avons discuté l’impact de l’évolution de ces informations sociales
sur le processus de RI, ainsi que leur emploi dans le but d’améliorer l’efficacité
des SRI.
Outre l’amélioration des résultats de la RI, l’information sociale s’est imposée
comme une source d’information parmi d’autres dans le Web 22. La forte demande
en égard à cette source d’information réclame l’adaptation des approches de RI dans
les différentes tâches (par exemple, la détection d’opinion, la recherche d’expert, la
recherche adhoc. . . ) sur les informations sociales. Dans le chapitre suivant, nous
présentons un aperçu des différentes tâches de RI sur l’information sociale, ainsi
qu’un aperçu des approches de l’état de l’art. Nous nous focalisons uniquement
sur les informations publiées sur la plate-formes de microblogging Twitter, celle-ci
constituant le cadre applicatif de notre travail.
22. Par exemple, il y a en moyenne 2 milliards requêtes soumises sur Twitter par jour (contre 5
milliards sur Google) : http://www.statisticbrain.com/
33CHAPITRE 1. RI SOCIALE
34Chapitre 2
RI dans les microblogs
Nous présentons dans ce chapitre la recherche d’information dans les microblogs,
et en particulier, la recherche adhoc de microblogs. Les microblogs sont une forme
réduite des blogs. Ils représentent une source d’information récente. Les utilisateurs
emploient des plate-formes de microblogging pour partager et accéder à des microblogs.
Ces plate-formes prennent la forme de réseaux sociaux qui se distinguent par
des interactions sociales intenses et une diversité dans les sujet discutés, par rapport
aux autres sources d’information.
Il existe plusieurs plate-formes de microblogging. Les 5 plate-formes les plus
utilisées 1
sont Twitter, FriendFeed 2
, Tumblr 3
, Posterous 4
et Identi.ca 5
. Parmi elles,
Twitter est sans conteste la plus utilisée. Cette plate-forme compte plus de 650
millions d’utilisateurs, publiant en moyenne 58 millions de tweets par jour. Twitter
est utilisé également comme source d’information. En moyenne, 2,1 milliards de
requêtes sont soumises chaque jour sur son moteur de recherche.
La RI dans les microblogs est différente de la recherche dans le Web. Ceci est
dû aux différences de forme des microblogs par rapport aux documents du web, à
la spécificité de leur contenu et également aux motivations des recherches (information
fraîches. . . ). Les travaux de la littérature qui portent sur la RI dans les
microblogs peuvent être regroupés en deux catégories. La première porte sur l’étude
des caractéristiques et l’analyse statistique des microblogs. Kwak et al. (2010), par
exemple, ont étudié les spécificités linguistiques, démographiques, topographiques
et spatio-temporelles des microblogs. La seconde porte sur les tâches de recherche
d’information au sens large (accès à l’information) dans les microblogs. Notre travail
s’inscrivant dans la seconde catégorie, nous détaillerons plus particulièrement dans
ce chapitre les tâches de RI dans les microblogs. Auparavant, nous commençons
1. http://www.gurugrounds.com/uncategorized/top-10-microblogging-sites/
2. http://friendfeed.com/
3. https://www.tumblr.com/
4. http://www.posterous.com/
5. https://identi.ca/
35CHAPITRE 2. RI DANS LES MICROBLOGS
par présenter les spécificités des plate-formes de microblogging et des microblogs,
en s’attachant au cas de Twitter. Nous considérons cette plate-forme étant donné
qu’elle représente le cadre applicatif de tous les travaux de la RI dans les microblogs
de l’état de l’art, d’une part, et, d’autre part, parce qu’elle est la plus utilisée dans le
monde réel. Les autres plate-formes de microblogging ont pratiquement les mêmes
spécificités et le même principe de fonctionnement.
1 Présentation et spécificités des plate-formes de
microblogging : cas de Twitter
1.1 Présentation générale de Twitter
Twitter est l’exemple le plus populaire des plate-formes de microblogging. Ces
plate-formes sont les réseaux sociaux les plus récents du Web 2.0. Elles sont considé-
rées comme une nouvelle forme de blogs, où les informations diffusées sont courtes et
publiées plus rapidement. Ces informations concernent différents sujets. Les utilisateurs
parlent de leur quotidien, des événements, des tendances. . . parfois à la mode
SMS et en partageant des messages de faible longueur (par exemple 140 caractère
au plus dans le cas de Twitter).
Twitter a connu une croissance exponentielle durant ces dernières années. Nous
présentons ci-dessous les principales spécificités de cette plate-forme, ainsi que l’information
qui y est produite.
1.1.1 Lancement et évolution
L’idée de base de Twitter est de permettre aux amis, aux familles et aux collaborateurs
de communiquer et de rester connectés en partageant des réponses rapides et
fréquentes (tweets) à la question : Quoi de neuf ? Plusieurs études (Java et al., 2007 ;
Mischaud, 2007) ont cependant montré que les utilisateurs de Twitter dépassent ce
premier objectif, en documentant dans leurs messages leur vie quotidienne, en partageant
des hyperliens et en commentant des événements. Ces pratiques ont transformé
le microblogging. C’est désormais un moyen de partager son état d’esprit personnels,
mais aussi de publier des histoires et des nouvelles, pour exprimer ses opinions,
pour discuter sur différents sujets dans des contextes sociaux, économiques et même
politiques. . .
Lancée en octobre 2006, la plate-forme comptait 94,000 utilisateurs en avril 2007 6
pour atteindre 200 millions en 2012 7
. Au début de 2014, Twitter compte plus de
6. http://usatoday.com/tech/webguide/2007-05-28-social-sites_N.htm
7. http://www.bbc.co.uk/news/business-12889048
36CHAPITRE 2. RI DANS LES MICROBLOGS
645 millions d’utilisateurs actifs 8
.
Concernant le trafic, le nombre de tweets publiés croît tous les jours. En mars
2007, en moyenne, les microbloggeurs publient 20 000 tweets par jour 9
. Ce nombre
a évolué pour atteindre 50 millions en janvier 2010. Aujourd’hui, le nombre de
tweets par jour peut atteindre 500 millions 10
.
Outre la publication de tweets, les microbloggeurs exploitent cette plate-forme
pour chercher des informations récentes sur des sujets particuliers. En 2011, le
nombre de requêtes soumises au moteur de recherche de Twitter était de l’ordre
de 1,6 millions de requête par jour 11. Ce nombre a évolué pour atteindre 2,1 milliards
de requêtes 12 par jour en 2013.
Avec cette évolution, Twitter s’est rapidement positionné parmi les premières
sources d’information utilisées sur le Web. Le tableau 2.1 liste le nombre de requêtes
soumises à Google, Twitter et Facebook chaque jour. Le nombre de requêtes soumise
à Twitter correspond à 42 % des requêtes soumises à google. Ce chiffre montre
l’importance de Twitter en tant que source d’informations et la dépendance des
utilisateurs à cette source d’information.
Source Année Nb de requêtes
Google 2013 5,1
Twitter 2013 2,1
Facebook 2012 1,0
Tableau 2.1 – Nombre de requêtes par jours (en milliard). Chiffres obtenus du site
http://statisticbrain.com
1.1.2 Concepts et fonctionnement des plate-formes de microblogging
La figure 2.1 montre l’interface de Twitter. L’interface est composée de plusieurs
sections. Dans la section Tweets appelée également Timeline, un utilisateur peut
voir le flux de ses tweets ainsi que ceux de ses amis, triés par ordre chronologique
inverse. On peut remarquer également une section de tendances qui contient les
10 sujets les plus populaires dans Twitter à un moment donné. L’utilisateur peut
consulter les tendances du monde entier, comme il peut se focaliser sur un endroit
8. http://www.statisticbrain.com/twitter-statistics/
9. http://www.begeek.fr/twitter-90-millions-de-tweets-par-jours-21210
10. http://www.blogdumoderateur.com/statistiques-twitter-entree-en-bourse/
11. http://engineering.twitter.com/2011/05/engineering-behind-twitters-new
-search.html
12. http://www.statisticbrain.com/twitter-statistics/
37CHAPITRE 2. RI DANS LES MICROBLOGS
plus spécifique. La plate-forme suggère également des utilisateurs qui ont des centres
d’intérêts similaire à l’utilisateur courant dans la section suggestions.
Figure 2.1 – L’interface graphique utilisateur de Twitter
En s’inscrivant sur une plate-forme de microblogging, un utilisateur fournit plusieurs
informations telles que sa photo, sa localisation, son site Web et une courte
bibliographie (figure 2.2). Dans la bibliographie, les utilisateurs décrivent généralement
leurs activités et leurs centres d’intérêt. Ces informations sont ensuite probablement
utilisées par les plate-formes dans la recommandation des utilisateurs.
La figure 2.3 donne un exemple d’utilisation d’une plate-forme de microblogging.
Un utilisateur A peut suivre le flux de microblogs envoyés par un utilisateur C sans
lui demander la permission (sauf pour les comptes privés que nous ne détaillons pas
ici). Les relations entre utilisateurs des réseaux sociaux sont appelées des abonnements.
Si A est abonné à C, alors A est appelé abonné (follower) de C (followee)
et reçoit automatiquement toutes les publications de C dans sa timeline. Les relations
d’abonnement peuvent être unilatérales (dans un seul sens), mais également
bilatérales (dans les deux sens) si C s’abonne à son tour à A. On parle dans ce cas
d’une relation d’amitié. Si un microbloggeur diffuse un message, tous ses abonnés
38CHAPITRE 2. RI DANS LES MICROBLOGS
Figure 2.2 – Informations des comptes utilisateurs sur Twitter
le reçoivent. Un microbloggeur peut également envoyer un message direct et privé
à l’un de ses amis (direct message). Si le microbloggeur partage un message pour
la première fois, le message sera un tweet, sinon, s’il le rediffuse, le message sera un
retweet et il va contenir dans ce cas la mention RT. En rediffusant un microblog,
un microbloggeur peut y ajouter de l’information complémentaire. Finalement, et
comme indiqué plus tôt, un utilisateur peut en mentionner un autre dans un message
(@mention).
Les individus ne sont pas les seuls propriétaires de comptes. Les entreprises ou
encore les sites d’information sont aujourd’hui très présents sur les plate-formes de
microblogging.
1.1.3 Système temps-réel
L’une des spécificités fondamentale des plate-formes de microblogging est leur
nature temps-réel : la présentation des publications (timeline), la présentation des
résultats de recherches, le traitement du contenu publié. . .
39CHAPITRE 2. RI DANS LES MICROBLOGS
Figure 2.3 – Exemple d’utilisation de Twitter (avec tweets, retweets, abonnements
et hashtags)
1.1.3.1 Timeline Twitter, comme les autres plate-formes de microblogging, est
un système temps-réel par excellence dont la fraîcheur est la spécificité la plus importance.
Cette spécificité peut être aperçue à plusieurs niveaux :
– Un utilisateur, en accédant à sa page, reçoit en temps-réel les microblogs de
ses abonnés. Ces microblogs défilent sur sa page et le plus récent s’affiche au
début de la file.
– Pour répondre à un besoin d’information, le moteur de recherche de Twitter
affiche les tweets-résultats par ordre chronologique inverse (des plus récents
aux plus anciens). Si à un moment donné un nouveau microblog pertinent est
publié, l’utilisateur reçoit une notification pour l’afficher (figure 2.4).
Figure 2.4 – Notification sur l’apparition de nouveaux résultats dans Twitter
– En dépit de la quantité de microblogs publiée chaque seconde, un système de
microblogging indexe ces contenus et les rend disponibles à tous les utilisa-
40CHAPITRE 2. RI DANS LES MICROBLOGS
teurs à l’instant même de leur publication. Ceci représente une révolution par
rapport aux autres sources d’information du Web. Google, par exemple, met
jusqu’à une semaine pour indexer une page Web 13. Wikipédia met jusqu’à une
année pour inclure des modifications sur ses pages (Frank et al., 2013, 2012).
1.1.3.2 Usage temps-réel Alors que les blogueurs mettent à jour leurs blogs
une fois tous les quelques jours, les microbloggeurs postent généralement plusieurs
microblogs chaque jour (Java et al., 2007), en particulier pour décrire des événements
qui se déroulent au moment de l’écriture du microblog. Ainsi, les microblogueurs
peuvent savoir à tout moment ce que les autres microblogueurs sont en train de
faire ou à quoi ils sont en train de penser.
Un grand nombre de tweets publiés sur Twitter ont rapport à des événements.
Il peut s’agir d’événements sociaux tels que des fêtes, des compétitions sportives et
des campagnes présidentielles. Il peut également s’agir de catastrophes telles que
des tempêtes, des incendies, des émeutes, des fortes pluies et des tremblements de
terre, ou bien tout simplement d’informations sur des embouteillages (Endarnoto
et al., 2011). Twitter est un outil de notification temps-réel de tous se qui se passe
dans le monde. C’est un moyen rapide et fiable pour transmettre les informations
dans des situations critiques nécessitant des interventions d’urgence (incendies par
exemple). Twitter a été ainsi utilisé par les victimes des incendies en Californie 14 et
en Australie en 2009, pour décrire exactement la situation et aider les autres victimes
en transmettant les informations utiles aux secours. Twitter peut également être
utilisé pour faire du reportage temps-réel, comme cela a été le cas lors des conflits
produits à la suite des élections présidentielles en Iran en 2009, malgré le contrôle
imposé aux médias traditionnels par les autorités iraniennes 15
.
Outre sa fonction de moyen de diffusion de l’information, la quantité gigantesque
d’information publiée dans Twitter est utilisée aussi comme ressource statistique
pour détecter, de manière continue, les tendances, l’humeur des gens, les opinions
des consommateurs (Jansen et al., 2009a ; O’Connor et al., 2010) et même leurs
convictions politiques (Tumasjan et al., 2010).
1.2 Spécificités des microblogs
Jansen et al. (2009b) ont réalisé une étude linguistique sur Twitter. Ils ont trouvé
qu’un tweet contient en moyenne 15 mots. Ce chiffre est extrêmement faible comparé
aux autres sources d’information du Web. Les articles de Wikipédia, par exemple,
13. http://referencement-alsace.fr/
14. A. Bloxham, “Facebook more effective than emergency services in a disaster,” The Daily
Telegraph, December 20, 2008.
15. M. Musgrove, “Twitter is a player in Iran’s drama” The Washington Post, July 09, 2009.
41CHAPITRE 2. RI DANS LES MICROBLOGS
possèdent en moyenne 320 termes par article 16. Cette particularité représente un
défi pour les techniques de recherche d’information classiques qui se basent principalement
sur les fréquences des termes dans les documents.
Figure 2.5 – Tweet posté par @florencesantrot contenant une image et des hashtags
(#Apple #iphone6cost1k). Il a été retweeté sept fois et favori une fois.
Un microbloggeur peut inclure différents types de signes dans un tweet, en plus
du contenu textuel. Ces pratiques ont peu à peu évoluées pour devenir des « normes
de balisage » :
– @ suivi du nom d’utilisateur permet d’indiquer qu’on mentionne ou s’adresse
à une personne particulière (représenté par son compte),
– # suivi par un mot est un hashtag. Un hashtag indique un mot important que
le système peut utiliser pour permettre une recherche par navigation (figure
2.5). Les hashtags permettent de catégoriser les microblogs selon un contexte
(événement, lieu, etc.) : par exemple, certaines émissions télévisées définissent
des hashtags spécifiques à utiliser par les microbloggeurs souhaitant exprimer
leurs avis sur le sujet de l’émission. Les conférences scientifiques définissent
également des hashtags permettant, d’une part, aux participants de partager
leurs remarques et, d’autres part, aux gens de l’extérieur de suivre ce qui se
passe dans la conférence en temps-réel.
– Les microblogs peuvent également contenir des URL. Ces hyperliens prennent
16. http://en.wikipedia.org/wiki/Wikipedia:Words_per_article
42CHAPITRE 2. RI DANS LES MICROBLOGS
une forme courte en raison du nombre limité de caractères autorisés par microblog.
Il existe deux services très connus pour créer la forme réduite des URL :
bit.ly et tinyurl.com. Dans le cas où l’URL correspond à une image, Twitter af-
fiche un aperçu de cette image dans l’interface de l’utilisateur comme le montre
la figure 2.1.
– Les internautes peuvent mettre des photos dans leurs microblogs (figure 2.5).
En cliquant dessus, l’utilisateur pourra voir la photo en taille normale.
Outre les données postées explicitement par les microbloggeurs, les microblogs
contiennent également des méta-données de différentes natures :
– de géolocalisation : les microblogs publiés à travers les terminaux mobiles équipés
de GPS fournissent des informations de géolocalisation. Ces informations
permettent de localiser l’endroit duquel lequel le microblog a été publié.
– d’horodatage : chaque microblog est caractérisé par sa date de publication.
Cette information est utilisée pour mesurer sa fraîcheur s’il fait partie d’une
liste de résultats d’une recherche.
– d’auteur : Les plate-formes de microblogging stockent le compte depuis lequel
est publié chaque microblog. Ceci permet aux utilisateurs de trouver les
microblogs d’un auteur en particulier.
– de favoris : on peut savoir, pour chaque microblog, combien de fois il a été
choisi dans les listes de favoris des autres utilisateurs (figure 2.5) ainsi que
l’ensemble des utilisateurs qui l’ont sélectionné.
– de rediffusion : RT indique que le message est rediffusé. Le mécanisme de rediffusion
permet aux utilisateurs de partager de nouveau des microblogs qu’ils
trouvent intéressants parmi les microblogs publiés par leurs amis (par exemple,
RT @mashable Top 10 Twitter Trends This Week http ://on.mash.to/eA2jY5).
Dans Twitter, on peut connaître le nombre de fois qu’un tweet a été retweeté
(figure 2.5). On peut également accéder à la liste des utilisateurs qui ont retweeté
un tweet donné.
1.3 Spécificités des recherches dans les microblogs
Le moteur de recherche de microblogs est spécifique au niveau des données en
entrée ou des résultats. D’une part, outre des mots-clés, un utilisateur peut mélanger
des comptes utilisateurs, des hashtags et même des URLs, dans sa recherche. La
figure 2.6 montre les suggestions de différents types de données de recherche de
Twitter.
D’autre part, les résultats affichés diffèrent en fonction du type de données utilisées
: si l’utilisateur sélectionne un compte utilisateur parmi la liste des suggestions,
l’interface affichera le profil de ce compte (ses informations et ses tweets). Dans les
autres cas, l’interface affichera une liste de microblogs contenant les termes, le hash-
43CHAPITRE 2. RI DANS LES MICROBLOGS
Figure 2.6 – Suggestion de différents type de résultats dans le moteur de recherche
de Twitter : des mots-clés, des hashtags, des comptes utilisateurs sont présentés.
tag ou l’URL recherchée. Les résultats sont présentés par défaut dans l’ordre chronologique
inverse. Cependant, l’utilisateur peut choisir d’afficher tous les résultats,
comme le montre la figure 2.4. Les microblogs sont alors triés selon toute probabilité
de pertinence telle que leur popularité (fréquence de favoris et de retweets).
Teevan et al. (2011) ont étudié les motivations des utilisateurs pour chercher les
informations sur Twitter. Ils ont également identifié les pratiques de recherche des
microblogueurs. En observant les pratiques de 54 utilisateurs actifs de Twitter, ils
ont constaté que les internautes cherchent dans Twitter pour avoir :
– Des informations récentes : 49 % des participants ont cherché des informations
sur les actualités, les sujets « tendance », les événement récents, le trafic routier,
les accidents du quartier. . . .
– Des information sociales : 26 % des participants ont cherché des informations
sur d’autres utilisateurs, tels que ceux qui ont des intérêts similaires, ou même
ce que dit un utilisateur en particulier.
– Des information sur des sujets, qui s’apparentent aux recherches souvent effectuées
sur les moteurs de recherche du Web. 36 % des participants ont cherché
des sujets spécifiques.
Les auteurs ont également analysé les logs de moteurs de recherche pour identifier
44CHAPITRE 2. RI DANS LES MICROBLOGS
les différences entre les recherches effectuées sur Twitter et celles effectuées sur les
moteurs de recherche du Web. Les différences se manifestent à plusieurs niveaux :
– au niveau des requêtes (Twitter/Web) : sur la longueur des requêtes (1,6/3
mots), sur la présence de noms de célébrités (15 %/3 %), ou de « # » (21 %/0,1 %).
– au niveau de l’importance des requêtes : en moyenne, chaque requête est soumise
2 fois sur le web, et 3 fois dans Twitter. Ceci peut être dû aux tendances
présentées par la plate-forme sous forme de liens permettant d’obtenir les
tweets récents sur les sujet tendances.
– au niveau des sessions de recherches de Twitter qui sont plus courtes que celles
réalisées sur le Web, que ce soit sur le temps ou sur le nombre de requêtes.
Dans Twitter, une session consiste souvent en la surveillance des tweets sur
une requête particulière, en actualisant les résultats sur une période de temps.
En d’autre termes, les utilisateurs ont tendance à actualiser les résultats pour
avoir l’information récente, sans attendre les notifications de la plate-forme.
Pour conclure, les plate-formes de microblogging (Twitter en particulier), repré-
sentent un nouveau type de source d’information en pleine évolution grâce à un
ensemble de caractéristiques spécifiques :
– de fonctionnalité, telles que le partage d’information temps-réel, les abonnements
sans restriction, etc. Ces nouvelles fonctionnalités ont popularisé de
nouvelles pratiques comme le suivi de l’actualité de célébrités, la réalisation de
campagnes électorales, l’analyse de l’humeur et des avis des gens en temps-réel,
la participation à distance à des conférences, etc.
– de forme, telles que la faible longueur des messages, l’utilisation du jargon du
net, une syntaxe spécifique, etc.
La quantité et la nature des tweets ont suscité de nouveaux usages tant de la
part des individus que des organisations. La section suivante synthétise les travaux
de littérature traitant de l’accès à l’information dans les microblogs.
2 Accès à l’information dans les microblogs
Dans ce paragraphe, nous listons les travaux de l’état de l’art sur la problématique
de l’accès à l’information via Twitter. Nous classons ces travaux en fonction
du type d’information recherché.
2.1 Recherche temps-réel de microblogs
Pour cette tâche, l’utilisateur souhaite obtenir de l’information pertinente la plus
fraîche possible vis-à-vis d’un besoin en information (Ounis et al., 2011). Générale-
45CHAPITRE 2. RI DANS LES MICROBLOGS
ment, un certain temps s’écoule avant que cette information soit disponible sur le
web et qu’elle soit indexée par les moteurs de recherche (Dong, Zhang, et al., 2010).
Dans la RI temps-réel, la date de publication d’un document est considérée comme
un facteur de pertinence très important, si ce n’est pas le plus pertinent. Une interprétation
possible de cette tâche consiste à trier anti-chronologiquement tous les
documents publiés avant la date de soumission de la requête, et ensuite, à écarter
les documents non pertinents (Ounis et al., 2011). La tâche se réduit donc à l’identi-
fication des caractéristiques des documents pertinents à restituer. Plusieurs travaux
ont proposé des critères utilisés comme facteurs de pertinence supplémentaires à la
pertinence textuelle : la fraîcheur (Magnani et al., 2012 ; Vosecky et al., 2012), la
popularité de l’auteur (Zhao et al., 2011 ; Massoudi et al., 2011), la présence d’URLs
(Vosecky et al., 2012). . . Des études empiriques ont montré que ces critères reflètent
la pertinence lorsqu’ils sont employés en plus de la pertinence textuelle (Damak et
al., 2013). Nous présenterons dans la section suivante un état de l’art des différentes
approches de recherche de microblogs et des approches qui ont utilisé les critères
de pertinence supplémentaires. Nous détaillerons également les différentes manières
avec lesquelles ces critères de pertinences ont été employés.
2.2 Recherche de microbloggeurs
La recherche de microbloggeurs s’apparente à la tâche de recherche d’experts de
la RI classique. Les objectifs sont l’identification des utilisateurs les plus populaires,
ceux qui ont les mêmes centres d’intérêts que l’utilisateur courant, ou bien les experts
dans des domaines spécifiques.
Plusieurs travaux se sont focalisés sur l’identification des utilisateurs les plus populaires
dans les plate-formes de microblogging. Ils se basent sur des méthodes telles
que la centralité calculée au travers du graphe social. À titre d’exemple, TwitterRank
(Weng et al., 2010) est une approche inspirée de l’algorithme PageRank (Brin
et Page, 1998) qui mesure l’influence des utilisateurs sur Twitter. Le score de chaque
utilisateur est mesuré en fonction des scores de ses abonnés. Cette approche prend en
compte les similarités des sujets discutés entre les utilisateurs, ainsi que la structure
des liens d’abonnements. Ben Jabeur, Tamine, et Boughanem (2012) ont mesuré
la popularité d’un auteur en proposant un algorithme semblable à PageRank. Cet
algorithme mesure la popularité d’un auteur dans un réseau formé par les retweets,
les mentions et les réponses. Tunkelang 17 a proposé un modèle qui se base également
sur l’algorithme PageRank. Cependant, il a introduit le facteur de renvoi des
17. http://thenoisychannel.com/2009/01/13/a-twitter-analog-to-pagerank/
46CHAPITRE 2. RI DANS LES MICROBLOGS
messages par les abonnés d’un utilisateur :
P opularité(u) = X
v ∈ abonnés(u)
1 + p ∗ popularité(v)
||Abonnements(v)|| (2.1)
avec abonnés(u) est l’ensemble des utilisateurs abonnés à u, Abonnements(v)
est l’ensemble des utilisateurs auxquels v est abonné et p est la probabilité que
l’utilisateur v va retweeter les tweets de u.
D’autres approches mesurent l’importance des utilisateurs autrement. En analysant
les habitudes de diffusion d’information dans Twitter, Lee et al. (2010) ont
découvert que la diffusion d’information atteint son maximum à son apparition. Le
pic dans le taux de publication est observé au moment de l’apparition de l’information.
Ensuite, ce taux diminue en avançant dans le temps. Par conséquent, ils
ont proposé une approche considérant l’ordre temporel de diffusion de l’information
pour détecter le meilleur diffuseur d’information. L’utilisateur le plus important est
celui qui diffuse souvent les informations en premier.
La majorité des approches proposées prend en compte un ordonnancement statique
de l’importance des utilisateurs. Cependant, Cappelletti et Sastry (2012) considèrent
que, dans un environnement temps-réel, l’importance d’un utilisateur doit
être évolutive. Ainsi, ils ont proposé un modèle qui se base sur le potentiel d’un
utilisateur à amplifier la diffusion d’une information. Cette importance varie avec
l’évolution du réseau social de l’utilisateur. Un utilisateur est d’autant plus important
que l’information qu’il partage est susceptible d’atteindre un grand nombre
d’utilisateurs. Concrètement, ceci est calculé en fonction de deux facteurs : le premier
calcule à quel degré un utilisateur peut être retweeté ou cité par ses abonnés et le
deuxième mesure la taille de l’audience des retweets et des citations de l’utilisateur.
2.3 Détection d’opinions
La détection d’opinion a été souvent étudiée en recherche d’information, particulièrement
dans la recherche de blogs (Pang et Lee, 2008 ; Missen et al., 2009). L’objectif
est de retrouver les documents exprimant des opinions sur le sujet de la requête. La
majorité des approches proposées se basent sur des ressources lexicales comportant
les termes d’opinions telles qu’opinionFinder (Wilson et al., 2005), General Inquirer
lexicon (Hatzivassiloglou et McKeown, 1997) ou SentiWordnet (Baccianella et Sebastiani,
2010). La plupart des approches spécifient des critères (présence de termes
et leurs fréquences, Parts of speech, de syntaxe, de négation. . . ) et exploitent des
techniques d’apprentissage automatique. Les mêmes principes ont été ainsi utilisées
sur les microblogs.
Comme les blogs, les microblogs expriment des opinions (Jansen et al., 2009a).
Shamma et al. (2009) ont montré que la plupart des tweets ont un ton négatif, et
47CHAPITRE 2. RI DANS LES MICROBLOGS
que les microblogs permettent d’obtenir des opinions immédiates et des réactions
sur des produits. Ils ont trouvé également que les tweets peuvent être utilisés pour
annoter les débats politiques avec les opinions des téléspectateurs. Plus précisément,
ils ont constaté que le taux de messages contenant des opinions dans Twitter peut
servir comme un prédicateur de l’évolution des sujets dans l’événement médiatisé.
Bollen et al. (2009) ont modélisé les phénomènes socio-économiques à travers
l’analyse des opinions dans les tweets. Leur liste de phénomènes est composée de
vingt événements de la vie quotidienne, en intégrant le comportement des marchés
boursiers correspondant à l’indice Dow Jones Industrial Average et les indices des
prix du pétrole de West Texas Intermediate. Ils ont trouvé que l’humeur globale
des gens est corrélée avec ces événements. Par exemple, à Thanksgiving, il y avait
plutôt une humeur de joie et rarement des sentiments de fatigue. Durant les élections
présidentielles aux États Unis, il y avait au début beaucoup de doute avant les
élections (sentiments de confusion et de dépression), suivi de sentiments de joie et
de bonheur après la publication des résultats. Un dernier exemple est celui de la
baisse de l’indice de Dow Jones qui coïncide avec les sentiments de dépression.
2.4 Classification thématique des microblogs
L’objectif de la classification thématique de microblogs est de créer des filtres thé-
matiques sur les flux d’information. Ceci est réalisé en identifiant les sujets discutés
dans les microblogs. La classification thématique des microblogs nous permettra,
par extension, de classer les utilisateurs en fonction de leurs centres d’intérêts.
Une première solution pour ce type de problème est de regrouper les microblogs
en fonction des hashtags qu’ils contiennent (Efron, 2010). Ramage et al. (2010)
ont utilisé une implémentation étiquetée et évolutive de Latent Dirichlet Allocation
(Blei et al., 2003) afin d’extraire les tags et de les utiliser pour caractériser les
utilisateurs et les microblogs. Song et al. (2010) se sont basés sur des informations
spatio-temporelles afin d’identifier des tags corrélés. Ces tags sont utilisés par la suite
pour regrouper les tweets et les classifier. Enfin, Bernstein et al. (2010) ont proposé
un algorithme pour détecter précisément les sujets des microblogs. Ce dernier consiste
à détecter les entités nommées dans un microblog et les soumettre à un moteur de
recherche. Le sujet du microblog correspondra alors au terme le plus important dans
les résultats, calculé à travers un algorithme de pondération (T F IDF (Robertson,
2004)).
2.5 Détection de tendances
La détection de tendances vise à identifier automatiquement les thèmes émergeant
qui apparaissent dans le flux de microblogs en temps-réel (R. Li et al., 2012).
48CHAPITRE 2. RI DANS LES MICROBLOGS
Les tendances sont généralement des événements émergents, les dernières nouvelles
et les sujets qui attirent l’attention des utilisateurs. La détection des tendances revêt
donc une grande utilité pour les journalistes et les analystes, car elle leur permet
d’être rapidement actifs sur les sujets « tendances ». Par exemple, lors de l’annonce
de la mort de Michael Jackson le 25 juin 2009, Twitter a été immédiatement inondé
par un énorme volume de commentaires. La détection de tendances est également
importante pour les professionnels du marketing en ligne et les sociétés de suivi
d’opinion, puisque les tendances indiquent des sujets qui captent l’attention du public.
Plusieurs applications ont été développées pour détecter les tendances à partir
de Twitter : Trendsmap 18, What The Trend 19, Twinitor 20 et Twendr 21. D’autres
travaux ont même utilisé Twitter comme un système préventif aux catastrophes. Par
exemple, Sakaki et al. (2010) se sont basés sur Twitter pour créer un système d’avertissement
des tremblements de terre et Lampos et Cristianini (2010) ont utilisé les
tweets pour suivre la propagation des épidémies.
3 Recherche adhoc de microblogs
Le principe de la recherche adhoc de microblogs est similaire à la RI adhoc classique.
Il s’agit de répondre à une requête via un index de microblogs et sélectionner
ceux qui sont pertinents (Efron, 2011a). La différence entre la RI adhoc dans les
tweets et la RI adhoc dans les documents du Web réside dans la nature de l’information
traitée et des sessions de recherches. Ces différences sont principalement
dues aux spécificités des microblogs par rapport aux autres sources d’information et
les motivations des utilisateurs pour chercher dans cette source d’information.
Efron (2011a) a posé la question : quels sont les facteurs reflétant la pertinence
dans la recherche de microblogs ? Les facteurs tels que la popularité de l’auteur et
l’horodatage ont probablement leur importance pour juger l’utilité d’un microblog
par rapport à un autre. Cependant, la manière de considérer ces qualités n’est pas
évidente.
Ainsi, il existe plusieurs facteurs de pertinence à prendre en compte dans la
conception des approches de recherche de microblogs, en plus de la pertinence textuelle
: facteurs sociaux, facteurs de popularité des auteurs, facteurs de fraîcheur,
facteurs liées aux URLs. . . Nous présentons dans cette section les principaux facteurs
de pertinence employés dans la recherche de microblogs ainsi que leurs différents objectifs.
18. http://trendsmap.com/
19. http://whatthetrend.com/
20. http://twinitor.com/
21. http://twendr.com/
49CHAPITRE 2. RI DANS LES MICROBLOGS
3.1 Facteur de pertinence textuelle
Le problème principal de la pertinence textuelle dans la recherche de microblogs
réside dans leur faible longueur. Les modèles de RI classiques qui, de manière géné-
rale, se basent sur des facteurs tels que la fréquence des termes dans les documents
et la longueur des documents, sont limités par la faible longueur des microblogs, où
les termes n’apparaissent pas plus d’une fois.
La majorité des approches de RI dans les microblogs ne tiennent ainsi pas compte
des facteurs de normalisation et de fréquence utilisés dans les modèles de RI classique
: par exemple Che Alhadi et al. (2011) emploient le modèle vectoriel en éliminant
le facteur de la normalisation de la longueur. Massoudi et al. (2011) de leur
coté utilisent uniquement la présence ou l’absence du terme dans le modèle de langue
(LM) à la place de sa fréquence dans le document.
Ferguson et al. (2012) ont étudié l’impact des fréquences et leur normalisation
dans la mesure de la pertinence avec le modèle BM25. Ils ont trouvé que ces facteurs
sont non seulement inefficaces, mais dégradent aussi les résultats d’une tâche de
recherche de microblogs.
Certains travaux ont proposé des méthodes plus sophistiquées pour résoudre le
problème de fréquences et de normalisation. Lin et al. (2012) emploient une méthode
qui se base sur la co-occurrence des termes. Ils construisent un graphe pondéré dont
les nœuds représentent les termes et les liens représentent leurs co-occurrences dans
les tweets de la collection. Ainsi, le score de chaque terme de la requête dans un
microblog est calculé en fonction des poids des liens de ce terme avec les termes du
tweet.
Au lieu d’ignorer les facteurs de fréquences, certaines approches ont essayé d’amé-
liorer la représentation des termes, que ce soit des requêtes ou des microblogs afin de
réduire l’effet de leur faible taille. Plusieurs techniques d’expansion de requêtes ont
été proposées. Kumar et Carterette (2013) ont étendu les requêtes avec les termes
les plus fréquents dans les résultats de la requête initiale. D’autres approches ont exploitées
des critères temporels dans le choix des termes d’extension (Efron, 2011b ;
Miyanishi et al., 2013). Du côté des microblogs, Efron et al. (2012) ont proposé
deux approches pour améliorer leur représentation. La première consiste à enrichir
chaque microblog dans l’index avec les microblogs ayant des contenus similaires.
La deuxième approche exploite les microblogs similaires à chaque microblog pour
lui créer un profil temporel. Ce profil sera utilisé au moment de la restitution des
résultats. McCreadie et Macdonald (2013) et Ben Jabeur et al. (2013), quant à eux,
ont fusionné le contenu du microblog avec le contenu de l’URL, s’il existe.
50CHAPITRE 2. RI DANS LES MICROBLOGS
3.2 Facteur de pertinence social
Étant donné que le microblogging est une forme de réseau social, il est ainsi possible
de traiter le problème de tri des microblogs en exploitant un critère particulier
qui n’est pas (aussi facilement) disponible dans la recherche sur le Web traditionnel,
à savoir le réseau social sous-jacent aux plate-formes. Cette catégorie d’approches
considère que la pertinence est liée à la crédibilité de la source d’information.
La plupart des approches exploitant le réseau social ont défini des critères de
pertinence reflétant l’importance des utilisateurs. Ces critères sont : le nombre de
tweets d’un auteur, le nombre de fois qu’un utilisateur a été retweeté, le nombre de
citations, le nombre d’abonnements, le nombre d’abonnés. . . Si certains travaux ont
combiné ces critères linéairement (Nagmoti et al., 2010 ; Zhao et al., 2011 ; Damak
et al., 2011), d’autres ont utilisé des techniques d’apprentissage : SVM (Joachims,
2005) et Linear Regression dans l’approche de Duan et al. (2010) et RankSVM dans
l’approche de Cheng et al. (2013).
Dans une deuxième catégorie d’approches, des graphes représentant les liens sociaux
ont été générés à partir des plate-formes. Ces graphes représentent différents
types de liens comme le montre la figure 2.7 : utilisateur × utilisateur et dans ce cas
les liens sont les relations d’amitiés (abonnements ou abonnés ou citation), utilisateur
× tweet et dans ce cas les liens représentent les statuts des utilisateurs, tweet
× tweet et dans ce cas les liens représentent les retweets. . . L’approche présentée
dans (Yamaguchi et al., 2010) utilise, par exemple, l’algorithme PageRank (Brin et
Page, 1998) pour mesurer l’importance d’un microbloggeur dans un graphe composé
par les utilisateurs et les tweets. Jabeur et al. (2012) utilisent un modèle bayésien
pour mesurer la pertinence d’un tweet représenté dans un graphe composé par les
termes, les tweets, les utilisateurs et même des périodes temporelles. Ravikumar et
al. (2012), quant à eux, représentent les URLs publiées dans les tweets et les liens
d’hypertextualité entre elles en plus des tweets et des utilisateurs.
Les approches de la deuxième catégorie ont exploité des liens sociaux, de tout
genre, mais en relation avec le tweet lui même. Une troisième catégorie d’approches
exploite les informations sociales de celui qui cherche l’information en plus des informations
sociales reliées aux tweets. L’idée ainsi est de comparer les informations
sociales des deux côtés afin de restituer des résultats personnalisés. Uysal et Croft
(2011) ont mesuré la distance entre l’auteur du tweet et le chercheur d’information
à travers plusieurs critères tels que : l’existence d’une relation directe entre eux,
l’existence d’un retweet ou d’une citation de l’un à l’autre, l’emploi de mêmes hashtags,
la publication de mêmes URLs dans leurs tweets. . . C’est le principe aussi de
l’approche proposée dans (Feng et Wang, 2013). Les auteurs ont utilisé des critères
comme la similarité entre les abonnés de l’auteur du tweet et celui qui le cherche,
puis la similarité entre la date de la dernière interaction entre eux.
51CHAPITRE 2. RI DANS LES MICROBLOGS
Disciple
Retweet
Hypertexte
Microbloggeurs
Tweets Web
Termes
Périodes
Co-occurences
Tweeté par
URL
Cite
Figure 2.7 – Les réseaux constituables à partir des données de Twitter
Les intuitions diffèrent d’une méthode à une autre. Cependant, peu de travaux
ont essayé de comparer les différentes approches. Kwak et al. (2010) ont comparé
deux approches pour mesurer l’importance des utilisateurs. Dans la première approche,
ils ont appliqué l’algorithme PageRank sur le réseau composé par les liens
d’amitié. La deuxième approche estime l’importance d’un utilisateur en fonction de
la fréquence des messages d’un utilisateur retweetés par ces abonnés. L’analyse a
montré un désaccord total entre les résultats de ces deux approches, ce qui montre
que la définition de l’importance d’un utilisateur, dans le cas des microblogs, nécessite
encore beaucoup de recherche.
3.3 Facteur de pertinence temporelle
Pour les requêtes qui concernent les événements et les « buzz », il est crucial de
prendre en compte la fraîcheur des résultats dans la mesure pertinence. Le microblogging,
système temps-réel par excellence, incite les utilisateurs à exprimer leurs
opinions et discuter en temps-réel. Ainsi, la prise en compte du temps est primordiale
dans la recherche de microblogs.
La caractéristique temporelle des microblogs a été employée de différentes manières
et avec différentes intuitions. Les premiers travaux ont tout simplement essayé
de favoriser les microblogs récents. Plus un microblog est proche de la requête, plus
il est susceptible d’être pertinent. Cette intuition est concrétisée en calculant un
score de fraîcheur du document, en termes de différence temporelle entre la date
de la soumission de la requête et la date de publication du document. Ce score est
ensuite intégré dans le modèle de recherche (Massoudi et al., 2011) ou bien utilisé
52CHAPITRE 2. RI DANS LES MICROBLOGS
comme un attribut parmi d’autres dans un modèle d’apprentissage (Cheng et al.,
2013).
Le facteur temporel a été employé également dans les modèles de RI classiques.
Par exemple, Efron et Golovchinsky (2011) se sont basés sur les microblogs récents
pour lisser les scores dans le modèle de langue : le degré de lissage des résultats les
plus éloignés temporellement était plus élevé, afin de favoriser les résultats récents.
Enfin, les résultats récents ont été utilisés pour sélectionner les microblogs représentant
le modèle de pertinence (Efron et Golovchinsky, 2011 ; Kumar et Carterette,
2013).
Outre pour le calcul de pertinence, le temps a été employé dans l’extension des
requêtes. Plus précisément, il est utilisé pour sélectionner le fragment de temps
contenant les documents susceptibles d’avoir des termes utiles pour l’extension. La
meilleure période contenant les documents les plus prometteurs pour l’extension a
été choisie en fonction du taux de tweets publiés sur le sujet de la requête (Efron,
2011b), du taux des tweets retweetés sur le sujet de la requête (Choi et Croft, 2012),
ou bien des tweets qui sont proches temporellement de la requête (Massoudi et al.,
2011). D’autres travaux sont allés plus loin en analysant les variations temporelles
dans la liste des résultats initiaux (Miyanishi et al., 2013). Ainsi, le nombre de
résultats utilisés pour étendre les requêtes de chaque période est proportionnel au
taux de tweets publiés dans cette période sur le sujet de la requête.
Finalement, le temps a été utilisé pour enrichir la représentation et extraire
de l’information supplémentaire des microblogs et des requêtes. En considérant les
dates de publication des microblogs similaires à un microblog, Efron et al. (2012)
génèrent le profil temporel d’un microblog. Ce profil permet de mesurer l’implication
du microblog à des événements qui ont été discutés à différents moments dans le
temps. Ensuite, cette mesure va être comparée avec la distribution temporelle de la
requête en tant que mesure de similarité.
3.4 Facteur de pertinence d’hypertextualité
Les microbloggeurs peuvent partager plusieurs URLs dans leurs microblogs. En
fait, les microbloggeurs partagent également des URLs dans leurs statuts pour attirer
l’attention de leurs amis sur une nouvelle information contenue dans une page
web, souvent pas encore indexée par les moteurs de recherche classiques. Ces pages
représentent ainsi de l’information enrichissante par rapport au seul contenu du
tweet.
Les URLs ont souvent été utilisées dans la restitution des microblogs en réponse
à une requête. La finalité est d’améliorer la qualité des résultats, certes, mais les
manières d’intégrer ces URLs diffèrent d’une approche à une autre. Les URLs ont
été employées dans un premier temps comme facteur de pertinence. En réalité, c’est
53CHAPITRE 2. RI DANS LES MICROBLOGS
leur présence qui reflète la pertinence du tweet pour (Cheng et al., 2013). D’autres
approches ont raffiné le critère en calculant la fréquence plutôt que la présence d’une
URL (Zhao et al., 2011 ; Duan et al., 2010). Ces deux critères ont été employés
avec d’autres, que ce soit dans des combinaisons linéaires ou dans des algorithmes
d’apprentissage. Malgré leur simplicité, ces critères ont montré un fort impact dans
l’amélioration de la qualité des résultats (Damak et al., 2013).
D’autre part, les URLs ont été utilisées comme des éléments parmi d’autres pour
caractériser l’écosystème des plate-formes de microblogging. Le réseau formé par ces
éléments est utilisé pour mesurer la centralité des tweets, ainsi que leur fiabilité
(Ravikumar et al., 2012).
Enfin, le contenu des URLs est utilisé pour enrichir le vocabulaire des tweets,
limités en longueur. Certaines approches ont utilisé le contenu dans la définition du
modèle du document avec le modèle de langue (Zhongyuan et al., 2012). D’autres,
comme McCreadie et Macdonald (2013), ont représenté chaque microblog comme
une composition multidimensionnelle dont les dimensions sont le contenu du microblog
et le contenu des URLs si elles existent. . . . Généralement, quelle que soit la
manière avec laquelle les URLs sont exploitées, elles améliorent remarquablement la
qualité des résultats.
3.5 Autres facteurs de pertinence
D’autres facteurs peuvent être utilisés pour la recherche de microblogs. Les facteurs
de qualité des microblogs sont indépendants de la requête. Avec les particularité
des microblogs (qualité du langage, longueur faible . . . ), ces critères sont essentiels
pour estimer la qualité d’un microblog. Voici les critères les plus populaires dans la
littérature :
– Longueur du microblog : nombre de termes dans le microblog. La longueur
d’une phrase reflète la quantité d’information qu’elle véhicule (Zhao et al.,
2011 ; Magnani et al., 2012 ; Metzler et Cai, 2011 ; Duan et al., 2010).
– Fréquence de Retweets : nombre de fois qu’un tweet a été retweeté. Si un
utilisateur repartage un tweet, alors ceci suggère qu’il a trouvé son contenu
intéressant (Zhao et al., 2011 ; Magnani et al., 2012 ; Vosecky et al., 2012 ;
Duan et al., 2010).
– Fréquence de hashtags : nombre de hashtags dans un tweet. Les hashtags
sont utilisés pour définir un topic pour le tweet, ou bien pour s’intégrer à une
conversation (Duan et al., 2010).
– Réponse : indique que le microblog est une réponse à un autre. Ceci montre
qu’il ne s’agit pas d’un message isolé et sans interaction (Vosecky et al., 2012 ;
Metzler et Cai, 2011 ; Duan et al., 2010).
– Qualité du langage : les microbloggeurs ne font pas en général très attention
54CHAPITRE 2. RI DANS LES MICROBLOGS
en écrivant les tweets. Il peuvent également abréger certains mots à cause de la
contrainte liée à la longueur restreinte des tweets. Ce critère calcule le ratio des
termes correctement orthographiés par rapport à tous les termes du microblogs
(Metzler et Cai, 2011). Han et Baldwin (2011) ont proposé d’améliorer la
qualité des microblogs en corrigeant les termes mal-orthographiés. Ils tiennent
compte du contexte du tweet pour proposer les corrections convenables pour
les termes erronés.
– Sentiment : les microblogs reflétant des sentiments sont pertinents lorsqu’un
utilisateur cherche des avis sur des produits ou des événements. Ce critère est
mesuré en calculant le ratio des termes exprimant des sentiments par rapport
à la longueur du tweet (Cheng et al., 2013).
3.6 Bilan
Le tableau 2.2 résume la majorité des critères de pertinence que nous venons
de décrire, souvent utilisés en complément de la pertinence textuelle. Certaines approches
qui les emploient les combinent linéairement (Zhao et al., 2011 ; Massoudi
et al., 2011). D’autres approches ont employé des techniques d’apprentissage pour
les considérer dans la restitution (Duan et al., 2010 ; Cheng et al., 2013 ; Uysal et
Croft, 2011).
4 Évaluation de la RI dans les microblogs
Comme nous l’avons vu au chapitre 1, l’évaluation en RI se fait principalement
à travers les collections de tests, souvent construites dans le cadre de campagnes
d’évaluation. La RI dans les microblogs ne déroge pas à cette règle, avec la mise en
place de la tâche Microblog dans la campagne d’évaluation TREC.
4.1 La tâche TREC Microblog
Il s’agit, pour un moteur de recherche, de fournir les tweets dont le contenu
satisfait un besoin en information exprimé sous forme de mots clés (tâche adhoc).
Les systèmes proposés doivent retrouver les résultats pertinents, mais aussi les plus
récents, par rapport à la date de soumission de la requête (real-time retrieval). Les
résultats doivent être publiés avant la date de la soumission de la requête. Depuis
2011, trois versions de cette tâche ont été mises en œuvre (2011, 2012 et 2013).
La collection de test Tweets2011 comprend :
– 16 millions de tweets (0,5 Go) exprimés dans diverses langues et publiés sur
Twitter entre le 23 janvier 2011 et le 8 février 2011,
55CHAPITRE 2. RI DANS LES MICROBLOGS
Tableau 2.2 – Critères de pertinence
Critère Références
Popularité du tweet dans la liste de résultats (Duan et al., 2010 ;
Ben Jabeur, Damak,
et al., 2012)
Nombre de termes en commun entre le tweet et la requête (Damak et al., 2011)
Nombre de fois que le tweet à été retweeté (Zhao et al., 2011 ;
Magnani et al., 2012 ;
Vosecky et al., 2012 ;
Duan et al., 2010)
Nombre de hashtags dans le tweet (Duan et al., 2010)
Présence de hashtags dans le tweet (Vosecky et al., 2012 ;
Metzler et Cai, 2011)
Popularité des hashtags dans la collection (Vosecky et al., 2012)
Longueur du tweet (Zhao et al., 2011 ;
Magnani et al., 2012 ;
Metzler et Cai, 2011 ;
Duan et al., 2010)
Présence d’URLs dans le tweet (Vosecky et al., 2012 ;
Massoudi et al., 2011 ;
Metzler et Cai, 2011 ;
Duan et al., 2010)
Nombre D’URLs dans le tweet (Zhao et al., 2011)
Popularité de l’URL dans la collection (Vosecky et al., 2012)
Le tweet est-il une réponse ? (Vosecky et al., 2012 ;
Metzler et Cai, 2011 ;
Duan et al., 2010)
Nombre de tweets de l’auteur (Zhao et al., 2011)
Nombre d’abonnés de l’auteur (Magnani et al., 2012 ;
Massoudi et al., 2011 ;
Duan et al., 2010 ;
Zhao et al., 2011)
Nombre de mentions de l’auteur (Vosecky et al., 2012 ;
Duan et al., 2010)
Différence temporelle entre le tweet et la requête (Magnani et al., 2012 ;
Vosecky et al., 2012 ;
Metzler et Cai, 2011)
Qualité du language du tweet (Metzler et Cai, 2011)
Sentiment positif/négatif dans le tweet (Cheng et al., 2013)
– 49 topics dont on trouvera un exemple en figure 2.8. La balise title décrit
le besoin exprimé à un moment donné (querytime). Ce moment correspond
concrètement à la date de publication du tweet le plus récent de la requête,
56CHAPITRE 2. RI DANS LES MICROBLOGS
– les jugements de pertinence (qrels) associées aux 49 topics. La pertinence de
chaque tweet est ternaire : non pertinent, moyennement pertinent et hautement
pertinent. Tout tweet exprimé dans une langue autre que l’anglais est non
pertinent. Il en est de même pour les retweets et les tweets identifiés comme
spam par les assesseurs.
< top >
< num > Number: MB007 num >
< title > Pakistan diplomat arrest murder title >
< querytime > Tue Feb 08 22 :56:33 +0000 2011 querytime >
< querytweettime > 35109758973255680 querytweettime >
top >
Figure 2.8 – Exemple de topic pour la tâche Microblog
La collection de test Tweets2012 comprend :
– le même corpus de tweets que celui de 2011,
– 60 nouvelles requêtes avec leurs jugements de pertinence. Seuls les tweets hautement
pertinents ont été considérés dans l’évaluation des systèmes.
La collection de test Tweets2013 comprend :
– une nouvelle collection de 240 millions de tweets (70 Go), publiés dans la
période du 1er février 2013 au 31 mars 2013. Cette collection est accessible
uniquement à travers une API (contrairement à l’ancienne collection).
– 60 nouvelles requêtes avec les jugements de pertinence associés.
En 2012, une deuxième évaluation a été introduite, real-time filtering. L’objectif
est d’évaluer la capacité des systèmes à indexer le flux des tweets en temps reél et d’en
extraire les tweets pertinents pour un besoin en information. Cette tâche n’entrant
pas dans notre problématique de recherche, nous ne la détaillons pas davantage.
4.2 Discussion sur les mesures d’évaluation
De façon usuelle, les moteurs de recherche trient les résultats en fonction du
score de pertinence des documents. Ce n’est pas le cas dans la tâche Microblog de
TREC, qui promeut la recherche temps réel (real-time search). Cela se traduit par
une préférence pour les tweets les plus proches temporellement de la requête. Au
niveau de la procédure d’évaluation en 2011, cette contrainte est mise en œuvre en
réordonnant les résultats (runs) d’un moteur de recherche en fonction de l’attribut
querytweettime des tweets (le champ sim – score de similarité – du run est recalculé
en fonction). Cette prise en compte a suscité une ambiguïté dans l’interprétation des
scores des participants : il n’y a pas de moyen pour identifier les systèmes qui ont
considéré la fraîcheur dans la mesure de pertinence. Nous notons, à titre indicatif,
que les meilleurs systèmes de cette édition sont les systèmes qui se basent sur la
57CHAPITRE 2. RI DANS LES MICROBLOGS
pertinence textuelle en réalisant une coupure (cut-off ) agressive (càd. X tweets).
Cette prise en compte temporelle a été écarté à partir de l’édition de 2012.
Deux mesures officielles ont été considérées dans les trois versions de la tâche :
la précision à 30 documents (P@30) et la précision moyenne (AP). Notons que ces
mesures ont été calculées en considérant tous les tweets pertinents (all-rel) en 2011 et
2013 ou uniquement les tweets hautement pertinents (high-rel) en 2012. Les valeurs
de ces mesures, pour chaque requête, sont moyennées pour obtenir le score global
d’un système (P@30 moyennée et MAP). Le classement des systèmes a été réalisé
sur la P@30 moyennée, la MAP étant uniquement donnée à titre indicatif. En 2012,
les courbes ROC ont été également données à titre indicatif. Notons également que
les systèmes ont des caractéristiques différentes : intervention manuelle ou pas (run
automatique), utilisation de sources externes ou pas, utilisation de sources futures
(dont la publication est postérieure à la date de la requête) ou pas. Bien évidemment,
les résultats sont à apprécier en groupant au préalable les systèmes possédant des
caractéristiques similaires.
5 Bilan et limites de l’état de l’art
Le microblogging est une nouvelle source d’information en pleine croissance,
fortement exploitée par les utilisateurs pour partager et trouver de l’information.
Plusieurs chercheurs se sont focalisés sur l’accès à l’information à partir de cette
source. Les travaux réalisés extraient différents types d’informations (personnes,
tendance, opinion. . . ). Dans cette thèse, nous nous concentrons uniquement sur la
recherche adhoc de microblogs. Pour ce type d’information, plusieurs approches avec
différentes intuitions ont été proposées. La grande majorité des travaux ont défini
des facteurs de pertinence supplémentaires par rapport à celui de la seule pertinence
textuelle. Cependant, les chercheurs n’ont pas examiné de près les problèmes des
approches de la RI classique.
C’est pourquoi, dans nos travaux, nous avons commencé dans un premier temps
par (i) la réalisation d’une analyse de défaillance des modèles de RI classiques afin
d’identifier les facteurs principaux limitant leur efficacité sur ce type de contenu
(chapitre 3). Nous avons trouvé que la majorité des problèmes sont dus au vocabulaire
limité induit par la faible longueur des tweets. C’est pourquoi (ii) nous avons
compensé ce problème en appliquant des techniques d’expansion de requêtes et de
microblogs (chapitre 4).
Nous avons montré dans l’état de l’art que la majorité des approches emploient
une multitude de facteurs de pertinence en plus de la pertinence textuelle. Cependant,
peu de travaux ont essayé d’évaluer leurs impact réel dans la restitution. Nous
avons ainsi (iii) réalisé une étude des critères souvent utilisés dans les travaux afin
58CHAPITRE 2. RI DANS LES MICROBLOGS
de déterminer ceux qui reflètent vraiment la pertinence (chapitre 5). Par définition,
la recherche d’information dans les microblogs implique automatiquement la prise
en compte de la fraîcheur dans la mesure de la pertinence. Le dernier chapitre de
notre contribution (chapitre 6) (iv) traite particulièrement ce facteur et l’impact de
son emploi sur la qualité des résultats.
59ContributionChapitre 3
Analyse de défaillance des modèles
de RI classique sur les microblogs
1 Introduction
La majorité des approches présentées dans la littérature pour la recherche de microblogs
emploient différents facteurs de pertinence en plus de la pertinence textuelle
comme, par exemple, la popularité de l’auteur du microblog, la qualité du langage
utilisé, la fraîcheur, etc. Toutefois, la pertinence textuelle est toujours considérée
comme le facteur principal de pertinence. Cette pertinence textuelle est généralement
calculée avec des modèles de RI classiques (Ounis et al., 2011, 2012). Ces
modèles se basent principalement sur les fréquences des termes et les longueurs des
documents (modèles sac de mots). Cependant, dans le cas des microblogs, le nombre
de termes par microblog est en moyenne égal à 15 et chaque terme n’apparaît qu’une
seule fois.
Dans ce chapitre, nous présentons une analyse de défaillance réalisée pour dé-
terminer le comportement des modèles de RI classiques sur les microblogs. Les observations
tirées de cette analyse nous permettront d’identifier les pistes à exploiter
pour gérer cette forme de contenu de façon plus pertinente.
2 Méthodologie
Notre analyse a pour but de déterminer les facteurs pénalisant les modèles de
RI classiques dans la restitution de microblogs. Pour ce faire, nous avons analysé
les microblogs pertinents mais non restitués avec un modèle de RI classique. Nous
nous sommes basés, dans notre analyse, sur la collection TREC Microblog et sur les
requêtes des tâches de 2011 et 2012. Nous avons employé le modèle vectoriel comme
modèle de RI classique, et ce pour deux raisons : d’une part, ce modèle est souvent
utilisé en RI et a toujours prouvé son efficacité (Baeza-Yates et Ribeiro-Neto, 1999).
61CHAPITRE 3. ANALYSE DE DÉFAILLANCE DES MODÈLES DE RI CLASSIQUE
SUR LES MICROBLOGS
En outre, ce modèle est considéré comme baseline dans les éditions 2011 et 2012 de
la tâche Microblog de TREC.
La question de recherche liée à cette analyse est la suivante : les facteurs limitant
les modèles de recherche classiques sont-ils dus :
– à la taille réduite des microblogs ?
– au vocabulaire limité des microblogs ?
– à la syntaxe (@mention et #hashtag) fréquemment utilisée dans les microblogs
?
– à la qualité du langage utilisé par les utilisateurs ?
Dans un deuxième temps, nous avons examiné le contenu pointé par les URLs
accompagnant les tweets. L’objectif est d’avoir une idée de l’impact de leur prise
en compte dans la restitution et de leur potentiel d’enrichissement du contenu des
tweets.
3 Expérimentations
3.1 Cadre expérimental
Nos expérimentations ont reposé sur le moteur de recherche open source Lucene 1
,
qui implémente une version modifiée du modèle vectoriel présentée dans (Cohen et
al., 2007). La version de Lucene que nous utilisons intègre le lemmatiseur Porter
(1980) et utilise une liste de mots vides. Nous avons modifié cette version de sorte
que la recherche ne tienne compte que des tweets publiés avant le querytime de
chaque topic, que ce soit dans la mesure de la pertinence ou bien au niveau de la
restitution des résultats. En effet, dans la recherche de microblogs et afin de respecter
la contrainte de recherche en temps-réel, nous devons nous positionner à l’instant où
la requête est soumise. Dans un contexte réaliste d’emploi du moteur de recherche de
microblogs, les tweets publiés après le querytime de la requête ne sont évidemment
pas connus !
Pour nos analyses, nous avons conservé les 1500 premiers tweets restitués par
Lucene pour chaque requête.
3.2 Observations
Lucene, dans sa configuration décrite ci-dessus, obtient un rappel moyen de
0,7188 avec les requêtes de 2011 et de 0,6340 avec les requêtes de 2012. Même si le
modèle vectoriel arrive à restituer une bonne proportion des documents pertinents,
le nombre des documents pertinents non restitués varie d’une requête à une autre.
1. http://lucene.apache.org
62CHAPITRE 3. ANALYSE DE DÉFAILLANCE DES MODÈLES DE RI CLASSIQUE
SUR LES MICROBLOGS
Les deux figures 3.1 et 3.2 montrent les proportions des tweets pertinents restitués
par le modèle vectoriel par rapport à tous les tweets pertinents pour les requêtes des
éditions de 2011 et de 2012.
Feuille1_2
Page 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
0
20
40
60
80
100
120
140
160
180
200
Pertinents non retrouvés Pertinents retrouvés
Nombre de tweets
Figure 3.1 – Répartition des tweets pertinents restitués avec le modèle vectoriel
par rapport à tous les tweets pertinents connus pour chaque requête de 2011
Feuille1
Page 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
0
100
200
300
400
500
600
700
Pertinents non retrouvés Pertinents retrouvés
Nombre de tweets
Figure 3.2 – Répartition des tweets pertinents restitués avec le modèle vectoriel
par rapport à tous les tweets pertinents connus pour chaque requête de 2012.
Dans la suite, on note chaque requête par « son numéro »/« édition de TREC ».
Sur l’ensemble des 109 requêtes de 2011 et 2012, le modèle vectoriel restitue tous les
tweets pertinents de 22 requêtes. Pour 30 requêtes, moins de 5 documents pertinents
63CHAPITRE 3. ANALYSE DE DÉFAILLANCE DES MODÈLES DE RI CLASSIQUE
SUR LES MICROBLOGS
sont manquants. C’est le cas par exemple des requêtes BBC World Service staff
cuts (1/2011), MSNBC Rachel Maddow (34/2011), release of "Known and Unknown"
(14/2011), Starbucks Trenta cup (12/2012) et Tea Party caucus (53/2012).
Pour les autres requêtes, le nombre de documents pertinents non retrouvés
varie d’une requête à une autre. Par exemple, sept documents pour Giffords’
recovery (37/2011), 23 pour Holland Iran envoy recall (42/2011), 68 pour
Mexico drug war (4/2011), 78 pour release of "The Rite" (14/2011) , 179
pour smartphone success (31/2012) et 345 pour fishing guidebooks (10/2012)
qui représentent le nombre le plus grand de tweets non restitués pour une requête.
Nous notons également que le nombre de tweets non restitués n’est pas proportionnel
avec le nombre de tweets pertinents de la requête. Par exemple, le modèle
vectoriel n’a pas restitué uniquement 5 tweets pertinents pour la requête Moscow
airport bombing (36/2011) ayant pourtant 151 documents pertinents et 44 documents
pour la requête reduce energy consumption (27/2011) ayant pourtant
74 documents pertinents en totalité. Ou encore, pour la requête farmers markets
opinion (21/2012), le modèle vectoriel identifie 68 tweets pertinents sur 76, soit
90 % de rappel. Cependant, pour le topic The daily (4/2012) 66 tweets pertinents
parmi les 266 ont été restitués, soit un rappel de 25 %.
Nous avons analysé les résultats requête par requête pour identifier les problèmes
auxquels les modèles de RI sont confrontés et qui pénalisent notamment le rappel.
Le problème le plus remarquable observé à l’issue de notre analyse est la différence
de vocabulaire (vocabulary mismatch) entre la requête et les tweets pertinents. Ce
problème est bien connu en recherche d’information (Furnas et al., 1988). Dans notre
cas, on le rencontre sous plusieurs formes.
1. Absence totale des termes de la requête dans les documents pertinents.
Nous avons observé qu’un nombre important de tweets traite du
sujet de la requête sans avoir, pour autant, aucun terme en commun avec
cette dernière. C’est le cas par exemple de la requête Amtrak train service
(23/2011). Ce phénomène concerne 29 documents pertinents parmi 35 non
retrouvés. Ces documents traitent des fonds réservés pour construire une nouvelles
ligne de train ou relatent les difficultés des voyageurs. C’est le cas également
de la requête Obama birth certificate (41/2011). Certains documents
évoquent des confusions sur la nationalité du président. Nous pouvons
également citer le topic British Government Cuts (1/2012), pour lequel ont
été jugés pertinents des tweets qui traitent des licenciements dans le secteur
public, de la baisse des salaires des employés dans certains secteurs, des coupes
de budgets consacrés aux Jeux Olympiques, etc.
Ce phénomène est présent pour 58 requêtes sur 109 (53 %), à hauteur de 40 %
64CHAPITRE 3. ANALYSE DE DÉFAILLANCE DES MODÈLES DE RI CLASSIQUE
SUR LES MICROBLOGS
des tweets pertinents non restitués. Plus précisément, ce problème apparaît
pour au moins 1 800 tweets pertinents non restitués parmi les 4 448 tweets
pertinents non restitués que nous avons au total sur toutes les requêtes.
2. Problèmes des noms propres et des entités nommées. Une première
remarque concerne les noms propres orthographiés de différentes manières.
Par exemple, pour le topic Glen Beck (9/2012), dans certains tweets pertinents
les utilisateurs emploient Glenn plutôt que Glen. Également, pour le
topic Bieber and Stewart trading places (13/2012), les utilisateurs emploient
les prénoms justin et jon. Les entités nommées peuvent également
être écrites de différentes manières : dans le topic anti-bullying (40/2012)
les tweets non restitués contiennent cyberbulling plutôt que bullying. C’est
le cas également du topic Superbowl commercials (49/2012), pour lequel les
auteurs utilisaient généralement super bowl en deux termes, ou encore Bed
bug au lieu de bedbug (2/2012).
D’autre part, nous avons remarqué que certaines requêtes contiennent des entités
nommées contenant des prépositions. Cependant, Lucene prend en compte
les prépositions comme des termes vides et les élimine, ce qui modifie le sens
de la requête. C’est le cas par exemple de la requête release of "the Rite"
(14/2011). C’est la cas également de la requête the daily, le moteur de recherche
a extrait des tweets contenant le terme daily plutôt que des tweets
traitant du journal the daily (266 tweets pertinents non retrouvés parmi les
332 pertinents du topic). Ceci résulte de notre utilisation d’une liste de mots
vides. Cette requête aurait probablement conduit à de meilleurs résultats si
elle avait été traitée sous forme d’expression.
Les problèmes liés aux entités nommées sont présents dans 7 topics sur 119
(5 %), à hauteur de 50 % des tweets pertinents non restitués. Plus précisé-
ment, au moins 546 tweets pertinents non restitués sur les 4 448 présentent ce
phénomène.
3. Problèmes de lemmatisation. Une première remarque est que des termes
différents ne sont pas appariés, alors qu’ils relèvent d’une même racine. Par
exemple, pour la requête somalian piracy (57/2012) étaient présents dans
les tweets jugés pertinents les termes pirates ou pirate. La requête global
warming and weather (29/2011) contient le terme « warmism » et non pas
« warming ».
Nous avons constaté également ce problème avec les requêtes contenant des
termes qui reflètent la nationalité ou des noms de pays. Les documents pour
ces requêtes contiennent les noms des pays et non pas les nationalités telles
qu’elles apparaissent dans les requêtes ou l’inverse. C’est le cas par exemple de
la requête Mexico drug wars (4/2011). Les documents non restitués de cette
65CHAPITRE 3. ANALYSE DE DÉFAILLANCE DES MODÈLES DE RI CLASSIQUE
SUR LES MICROBLOGS
requête contiennent souvent le terme « Mexican ». C’est le cas également de la
requête Pakistan diplomat arrest (7/2011) où les documents contiennent
le terme « pakistani ».
D’autre part, nous avons remarqué l’apparition des termes de la requête concaténés
sous forme de #hashtags ou de @citation. Par exemple, dans le topic
texting and driving (54/2012) tous les tweets pertinents non restitués
contiennent les termes de la requête mais concaténés en un hashtag
(#donttextanddrive). C’est le cas de la requête BBC World Service staff
cuts (1/2011) le document non restitué contient le hashtag #BBCWorldService.
Pour la requête Taco Bell filling lawsuit (20/2011) certains documents
non restitués contiennent le hashtag #TacoBell ou la citation @TacoBell. . .
Les lemmatiseurs utilisés par les moteurs de recherche — Porter (1980) dans
notre cas — sont incapables de résoudre ce type de problème, ce qui explique
l’impossibilité de Lucene à restituer ces tweets.
Ce phénomène est clairement présent dans 13 topics sur 109. Plus précisément,
cela représente au moins 210 tweets pertinents non retrouvés sur les 4 448.
4. Acronymes écrits de différentes manières. C’est le cas du topic FDA
approval of drugs (8/2012), pour lequel les tweets pertinents contenaient
également l’acronyme USFDA. Nous avons également constaté que pour le topic
NCIS (27/2012) plusieurs tweets pertinents contenaient la signification de
l’acronyme : Naval Criminal Investigative Service. Ce phénomène est
présent clairement dans deux topics sur 109, à hauteur de 50 % des tweets
pertinents non restitués. Cela représente au moins 50 tweets pertinents non
restitués sur les 4 448.
Outre la différence de vocabulaire, nous avons remarqué que tous les termes des
requêtes n’apparaissent pas avec la même importance dans les requêtes.
Certains termes des requêtes n’aident ainsi pas à sélectionner les tweets pertinents.
Ce phénomène apparaît de trois manières : (i) des requêtes contenant des termes
qui n’apparaissent pas dans la majorité des documents pertinents non restitués,
(ii) des requêtes contenant des termes qui apparaissent toujours, même dans les
document non pertinents retrouvés et (iii) des requêtes composées uniquement de
termes concernés par (i) ou (ii).
Par exemple du premier cas (i), les documents non retrouvés de la requête 2022
FIFA soccer (2/2011) ne contiennent jamais le terme “soccer”. Les documents
non retrouvés de la requête phone hacking British politicians (7/2011) ne
contiennent jamais le terme “politicians”. Dans la requête fishing guidebooks
(10/2012), 345 tweets pertinents non retrouvés parmi les 524 pertinents du topic
66CHAPITRE 3. ANALYSE DE DÉFAILLANCE DES MODÈLES DE RI CLASSIQUE
SUR LES MICROBLOGS
ne contiennent pas le terme guidebooks, ni un dérivé de ce terme.
Comme exemple du deuxième cas, les documents non retrouvés de la requête
Super Bowl, seats (24/2011) où Super bowl apparaît dans tous les documents
restitués et les documents pertinents non restitués. Toutefois, ce phénomène n’a été
observé que pour cette requête. Pour le troisième cas, les documents non restitués de
la requête Emanuel residency court rulings (21/2011) ne contiennent jamais
les termes Emanuel, residency et ruling, mais contiennent tous le terme court.
C’est également le cas de la requête reduce energy consumption (27/2011) pour
lequel les documents non restitués ne contiennent jamais les termes reduce et
consumption mais contiennent toujours le terme energy. Ce phénomène a été observé
dans 17 requêtes sur les 50 et a empêché la restitution d’au moins 200 documents
pertinents.
De façon identique, nous avons constaté que, dans le cas des requêtes contenant
des entités nommées, les tweets pertinents non retrouvés contiennent ces entités
nommées, mais sans les autres termes des requêtes. Par exemple, pour le topic
McDonalds food (28/2012), tous les tweets non restitués contiennent seulement le
terme McDonalds parmi tous les termes de la requête (350 tweets pertinents non
restitués parmi 572 tweets pertinents de cette requête).
Suite à ces observations, nous avons voulu savoir pour combien de tweets la prise
en compte des contenus des URL qu’ils contiennent permettrait de régler ce problème
de vocabulaire. En d’autres termes, nous avons voulu savoir si les termes des requêtes
non présents dans des tweets pertinents étaient présents dans les documents pointés
par les URL. Nous avons donc analysé le contenu des URL des tweets pertinents
non restitués et nous avons constaté que leur prise en compte aiderait à retrouver
des tweets pertinents dans 41 topics sur 109 (37 %). Cela représente au moins 800
tweets pertinents non restitués.
4 Synthèse
Le tableau 3.1 résume les différentes observations de notre analyse, qui sont
des problèmes classiques de la RI. Leurs effets sont cependant amplifiés avec les
microblogs à cause de leur faible longueur, ce qui implique un vocabulaire limité.
Quel que soit le modèle de RI utilisé, mesurer la similarité entre une requête qui
ne dépasse souvent pas quatre termes et un microblog composé en moyenne de 15
termes revient à une présence ou absence des termes de la requête dans un microblog,
dans la majorité des cas.
Au niveau des analyses des facteurs limitant l’efficacité du modèle de recherche
sur les microblogs, nous avons montré que le problème principal, comme attendu,
67CHAPITRE 3. ANALYSE DE DÉFAILLANCE DES MODÈLES DE RI CLASSIQUE
SUR LES MICROBLOGS
Cause de la défaillance Pourcentage de
tweets non restitués
sur 4 448
pertinents au total
Pourcentage de
requêtes
concernées sur
109 requêtes
Absence totale des termes des topics
dans les tweets pertinents
' 40,46 % 51,21 %
Termes des requêtes avec des
importances différentes
' 20,12 % 16,51 %
Termes des requêtes à traiter sous
forme d’expression et/ou sans liste de
mots vides
' 7,77 % 2,75 %
Noms propres et entités nommées
orthographiés de différentes manières
' 4,49 % 4,58 %
Termes non appariés mais dérivant
d’une même racine
' 4,04 % 8,25 %
Termes de la requête concaténés sous
forme de hashtag ou de citation
' 1,79 % 6,42 %
Acronymes écrits de différentes manières
' 1,12 % 1,83 %
Tableau 3.1 – Récapitulatif des différents facteurs limitant l’efficacité du modèle de
recherche sur les microblogs
provient de la concision des microblogs. Cette concision engendre une correspondance
limitée entre les termes des microblogs et les termes des requêtes, même s’ils
sont sémantiquement similaires. Ce fait est apparu de différentes manières : absence
totale des termes de certaines requêtes dans les tweets pertinents, noms propres et
entités nommés orthographiés de différentes manières. . . Nous avons fréquemment
identifié des problèmes de lemmatisation : termes non appariés même si dérivant
d’une même racine ou des termes concaténés pour former des hashtags ou des citations.
Outre les problèmes de vocabulaire, nous avons remarqué que, pour certaines
requêtes, les termes n’ont pas un caractère discriminant. Ces termes sont fréquemment
présents dans les documents pertinents et les documents non pertinents ou
bien ils n’apparaissent jamais.
De manière générale, les problèmes soulevés avec les requêtes de 2011 sont les
mêmes pour les requêtes de 2012. Cependant, les requêtes de 2012 contiennent un
nombre plus important de tweets pertinents, ce qui les rend plus difficiles (2 864
68CHAPITRE 3. ANALYSE DE DÉFAILLANCE DES MODÈLES DE RI CLASSIQUE
SUR LES MICROBLOGS
tweets pertinents pour les 49 requêtes de 2011 / 6 286 tweets pertinents pour les 60
requêtes de 2012).
Nous avons montré que la plupart des problèmes de la recherche d’informations
dans les microblogs ne dépend pas du modèle de recherche. Ces problèmes ne
concernent pas les fréquences des termes dans les microblogs, ou bien la distribution
des termes dans les microblogs. Ce sont plutôt des problèmes de vocabulaire et des
problème de lemmatisation. Le problème de vocabulaire, avec ses différentes formes
observées, ou bien les problèmes de lemmatisation, peuvent affecter l’efficacité de
n’importe quel modèle qui se base uniquement sur le contenu textuel brut des microblogs
et avec les requêtes avec leurs descriptions initiales. Cependant, un problème,
tel que les termes de requêtes qui ont des importances différentes, regarde exactement
le fonctionnement des modèles de recherche, et sa gravité dépend fortement
de la manière avec laquelle un modèle calcule les scores de pertinence. La prise en
compte de la fréquence du terme dans la collection (IDF) joue ainsi un rôle très
important ici.
Le problème de vocabulaire semble surmontable avec l’expansion de requêtes et
de documents. Les termes à caractère non discriminant peuvent être pondérés en
exploitant le feedback. C’est pourquoi, dans le chapitre suivant, nous présenterons
les différentes méthodes d’expansion de requêtes et de documents que nous avons
appliquées pour surmonter le problème du vocabulaire souvent rencontré dans la
recherche d’information dans les microblogs.
69CHAPITRE 3. ANALYSE DE DÉFAILLANCE DES MODÈLES DE RI CLASSIQUE
SUR LES MICROBLOGS
70Chapitre 4
Expansion de requêtes et de
documents pour la recherche de
microblogs
1 Introduction
À travers l’analyse de défaillance conduite et présentée dans le chapitre précé-
dent, nous avons montré que le vocabulaire limité lié à la taille réduite des microblogs
est le facteur empêchant le plus les SRI de restituer des microblogs pertinents.
Notre objectif, dans ce chapitre, est de proposer des éléments de solutions pour
surpasser ces limites : absence de termes en commun entre les requêtes et
les microblogs, termes des requêtes n’ayant aucun caractère discriminant,
entités-nommées orthographiées de différentes manières, problèmes de
lemmatisation, termes concaténés. . .
Une solution au problème du vocabulaire est l’expansion de requêtes ou de documents
(technique connue en RI). Nous proposons ici d’améliorer la représentation
des requêtes. Dans un premier temps, nous exploitons des ressources externes
pour étendre les requêtes. Ces ressources comprennent des articles d’actualité ainsi
que la base lexicale WordNet. Nous testons également l’impact de méthodes de
ré-injection de pertinence (telles que Rocchio et BM25). Nous proposons également
d’améliorer la représentation des microblogs. Nous testons quelques méthodes
pour améliorer la représentation des microblogs, telles que l’expansion des hashtags
et l’exploitation des contenus des URLs publiées dans les microblogs.
2 Expansion de requêtes
Pour améliorer la représentation des requêtes, nous avons considéré différentes
ressources. Certaines sont externes par rapport à la collection de tweets. L’infor-
71CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
mation dans les tweets étant très dépendante du temps, nous avons employé des
ressources sensibles au temps pour étendre les requêtes, telles que les articles des
actualités publiés dans les journaux les plus populaires dans le monde. D’autre part,
nous avons exploité la base lexicale WordNet pour trouver les différents aspects des
requêtes et l’API de correction orthographique du moteur de recherche Bing pour
trouver les différentes formes des entités nommées. En outre, nous avons étendu les
requêtes à partir des tweets en appliquant des techniques de ré-injection de pertinence
(relevance feedback).
Pour réaliser les expérimentations qui suivent , nous nous sommes basés sur les
60 requêtes de TREC Microblog 2012. Pour chaque requête, nous avons considéré
les 1500 premiers tweets restitués avec le modèle vectoriel. La validation des améliorations
ou des dégradations est réalisée selon le test t de Student pairé et bilatéral
avec p < 0,05. Nous nous sommes basés sur le run obtenu avec le modèle vectoriel
implémenté dans Lucene comme baseline.
2.1 Exploitation des articles d’actualités
La première source que nous avons considérée est constituée des actualités publiées
de façon concomitante aux requêtes. Nous avons en effet remarqué que la
majorité des topics des requêtes portent sur des actualités (50 % des topics). Pour
cette raison, nous proposons d’étendre les requêtes avec des mots-clés extraits à
partir des articles de presse publiés sur le sujet du topic. Les API du NYTimes 1
et
du Guardian 2 permettent d’obtenir des articles de ces journaux en fonction d’une
requête. Étant donné que les articles restitués sont classés selon leur pertinence dé-
croissante, nous avons considéré les cinq premiers articles restitués par chaque source
et publiés avant la date du topic pour produire un méga-document (Klas et Fuhr,
2000). Ensuite, nous avons utilisé l’API Alchemy 3 pour extraire les mots-clés représentatifs
de ce méga-document. L’API Alchemy réalise une analyse linguistique,
un traitement du langage naturel et un apprentissage automatique pour analyser
le contenu et en extraire des mots-clés. Nous avons évalué l’extension de la requête
avec trois (3Act) ou sept(7Act) termes renvoyés par Alchemy. Les nouvelles requêtes
sont formées par les termes initiaux des requêtes et les termes d’expansion. Dans un
premier temps, nous ne pondérons pas les termes ajoutés dans la requête (tous les
termes de la requête étendue ont un poids égal à 1). Dans un second temps, nous
pondérons uniquement les termes ajoutés aux requêtes (3Act(pond) et 7Act(pond))
avec un poids de 0,8 (choix arbitraire pour ces premières expérimentations). Les ré-
sultats sont présentés dans le tableau 4.1. La colonne Run contient le nom des runs.
1. http://developer.nytimes.com/
2. http://www.guardian.co.uk/open-platform/
3. http://www.alchemyapi.com/
72CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
Ils sont présenté sous la forme Modèle-Requête-Champ utilisé. Le champ utilisé spé-
cifie le contenu employé pour la restitution. À ce niveau, nous utilisons uniquement
le contenu textuel des tweets (Tweets) dans la restitution. Notons dès à présent que
dans les sections suivantes, nous exploiterons d’autres contenus pour la restitution
des résultats, hormis le contenu textuel des tweets.
Run Modèle Requête étendue Champ utilisé P@30 Rappel MAP
Baseline VSM — Tweets 0,2842 0,6340 0,1871
VSM-3Act-Tweets VSM 3Act Tweets 0,2689 0,5691 0,1699
VSM-7Act-Tweets VSM 7Act Tweets 0,3040* 0,5985 0,1923*
VSM-3Act(pond)-Tweets VSM 3Act(pond) Tweets 0,2785 0,5923 0,1806
VSM-7Act(pond)-Tweets VSM 7Act(pond) Tweets 0,3079* 0,6156 0,1962*
Tableau 4.1 – Emploi des articles de type actualité pour l’expansion de requêtes
(avec et sans pondération des termes d’expansion, 1500 résultats par requête). Un
astérisque indique une amélioration significative par rapport à la baseline.
Concernant le rappel, nous constatons que la pondération améliore les résultats
par rapport à la non pondération (runs Modèle-X(pond)-Champ par rapport aux
runs Modèle-X-Champ). Par exemple le run « VSM-3Act(pond)-Tweets » améliore
le run « VSM-3Act-Tweets » de 3,91 %. Cependant, aucune amélioration significative
n’est à remarquer par rapport au run Baseline utilisant la requête originale.
Concernant la P@30 et la MAP, le fait d’étendre les requêtes avec trois termes
uniquement dégrade les résultats, que ce soit avec ou sans pondération. Cependant,
en étendant les requêtes avec sept termes, nous observons des améliorations significatives
par rapport à la « baseline ». Cette amélioration est légèrement plus importante
en pondérant les termes d’expansion. Le run « VSM-7Act(pond)-Tweets » est celui
qui a obtenu la meilleure amélioration par rapport à la baseline : 8,33 % en p@30 et
4,86 % en MAP.
De manière générale, l’emploi des articles d’actualités comme source pour étendre
les requêtes a amélioré la précision et a dégradé le rappel. En d’autre termes, cette
approche a amélioré les rangs des premiers microblogs pertinents (P@30 améliorée
de 8,33 %), sans pouvoir retrouver autant de nouveaux tweets pertinents. Nous avons
comparé les tweets pertinent des runs « VSM-7Act(pond)-Tweets » et « Baseline » :
sont également présent 91 % des tweets pertinents du run « Req7ActPondTweet »
dans le run « Baseline ». Nous avons également remarqué que cette méthode d’expansion
a renforcé la pertinence d’une partie des documents pertinents. Cette partie
se compose des microblogs contenant totalement ou partiellement les termes initiaux
des requêtes. Cependant, elle n’a pas aidé à restituer de nouveaux tweets pertinents,
en particulier ceux qui ne contiennent pas les termes des requêtes.
La dernière observation peut être expliquée par le fait que nous nous sommes
basés sur les premiers articles d’actualités résultant d’une recherche avec les termes
73CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
des requêtes sur les deux API (NYTimes et Guardian). Ces APIs utilisent leurs
moteurs de recherche pour trouver des articles en fonction des termes de nos requêtes.
Ceci implique que les termes les plus importants retrouvés à partir de ces
articles correspondent en premier lieu aux termes initiaux des requêtes, ou bien aux
termes fortement dépendant des termes des requêtes (les termes présentant l’aspect
sémantique général des requêtes). Ainsi, cette méthode permet de mieux représenter
les requêtes initiales, sans donner d’autres aspects sémantiques des requêtes,
permettant ainsi de restituer les microblogs pertinents et portant sur les sujets des
requêtes, tout en n’ayant aucun terme en commun avec elles. Ceci explique ainsi la
dégradation du rappel et l’amélioration de la précision.
Afin de retrouver des termes d’expansion représentant d’autres aspects des requêtes,
nous avons testé l’expansion avec la base lexicale WordNet.
2.2 Exploitation de la base lexicale WordNet
La base de données lexicale WordNet a été souvent utilisée en RI comme un
moyen de désambiguïsation et d’extension de requêtes. Nous avons testé cette stratégie
en étendant chaque terme de la requête avec le premier synset retrouvé. Chaque
requête étendue va ainsi être composée des termes de la requête initiale et des termes
d’expansion. De la même manière que dans le paragraphe précédent, dans un premier
temps, nous ne pondérons pas les termes ajoutés dans la requête. Tous les termes
ont un poids égal à 1. Dans un second temps, nous avons pondéré (WN(pond))
uniquement les termes ajoutés aux termes initiaux des requêtes avec un poids de
0,8 (choix arbitraire pour observer l’impact de la pondération). Les résultats sont
présentés dans le tableau 4.2.
Run Modèle Requête étendue Champ utilisé P@30 Rappel MAP
Baseline VSM — Tweets 0,2842 0,6340 0,1871
VSM-WN-Tweets VSM WN Tweets 0,2797 0,6305 0,1854
VSM-WN(Pond)-Tweets VSM WN(pond) Tweets 0,2881 0,6362 0,1878
Tableau 4.2 – Récapitulatif des différents runs testés sans pondération des termes
ajoutés aux requêtes.
L’expansion avec WordNet n’améliore non plus pas les résultats par rapport à
la baseline (0,37 % d’amélioration sur la MAP, 1,37 % sur la P@30 et 0,34 % sur
le rappel entre le run « Baseline » et « VSM-WN(pond)-Tweets »). En outre, les
améliorations sur les trois mesures ne sont pas significatives. En fait, au niveau des
tweets pertinents restitués, 59/60 des requêtes ont renvoyé exactement les mêmes
tweets pertinents. La différence est uniquement présente au niveau de la requête
somalian piracy. Avec l’expansion, cette requête s’est transformée en somalian somali
piracy. En réalité, WordNet a compensé une faiblesse de Porter. Dans l’analyse de
74CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
défaillance, nous avons signalé ce problème : plusieurs tweets pertinents de cette
requête contiennent le terme somalia ou somalis. Porter n’arrive pas à traiter et
correspondre ces variances. Ainsi, l’ajout du terme somali dans la requête a permis
la restitution de 42 nouveaux tweets pertinents. D’où la faible amélioration globale.
Concernant la pondération, nous avons observé le même impact que celui observé
dans le paragraphe précédent. Elle améliore les résultats par rapport à la non pondération.
Nous avons comparé les runs « VSM-WN-Tweets » et « VSM-WN(pond)-
Tweets » et nous avons trouvé que 100 % des tweets pertinents du premier run
apparaissent dans le deuxième run. En contre partie, le deuxième run a restitué
uniquement 14 nouveaux tweets pertinents par rapport au premier run.
De manière générale, l’emploi de WordNet n’a servi à améliorer ni le rappel ni
la précision. Pour 59 requêtes parmi 60, aucun nouveau tweet pertinents n’a été
observé. Nous avons également testé l’emploi de plusieurs termes d’expansion mais
ceci n’a fait que dégrader les résultats.
2.3 Suggestions orthographiques
Nous avons remarqué, dans certaines requêtes, des entités nommées orthographiées
de manières différentes à celles dans les tweets pertinents. C’est pourquoi
nous avons testé l’outil « Bing spelling suggestions 4 ». Cette API permet de corriger
les termes mal orthographiés et de retrouver les autres écritures des entités
nommées. Pour chaque terme d’une requête, nous avons ajouté ses autres formes
d’écriture dans la requête initiale (sans pondération). Cependant, seules deux requêtes
parmi les 60 ont été modifiées. Ce sont la requête « Bedbug epidemic » qui
est devenue « Bedbug epidemic bed bug » et la requête « Glen Beck » qui est devenue
« Glen Beck Glenn ». Les résultats de ces deux requêtes ont un rappel plus élevé
que celui de la baseline (19,91 % et 2,08 % respectivement). En considérant toutes
les requêtes, nous avons obtenu une amélioration du rappel de 0,28 % (tableau 4.3).
Cependant, ni cette amélioration, ni les améliorations des autres mesures ne sont
significatives.
Run Modèle Requête étendue Champ utilisé P@30 Rappel MAP
Baseline VSM — Tweets 0,2842 0,6340 0,1871
VSM-ReqBing-Tweet VSM ReqBing Tweets 0,2893 0,6358 0,1884
Tableau 4.3 – Test de l’amélioration des performance via la correction orthographique
des requêtes.
4. http://www.bing.com/developers/
75CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
2.4 Réinjection de pertinence
Une source typique pour étendre les requêtes est constituée de l’ensemble des
termes présents dans les premiers documents restitués en réponse aux requêtes initiales.
Cette technique s’appelle la réinjection de pertinence (Relevance Feedback).
Nous avons testé et analysé l’impact de deux approches classiques de la RI afin de
voir leur efficacité sur ce genre de documents : Rocchio et le modèle BM25.
2.4.1 Expansion de requêtes avec Rocchio
Nous avons utilisé la version améliorée (Salton et Buckley, 1997) de la formule
originale de Rocchio (1971). Cette version prend en compte uniquement les documents
qui ont obtenu les meilleures scores dans la reformulation. La formule est la
suivante :
Qnouv = α.Qorig +
β
|R|
.
X
~r∈R
~r (4.1)
Qnouv est le vecteur des termes pondérés de la requête étendue. Qorig est le
vecteur de termes pondérés de la requête initiale. R est l’ensemble des documents
pertinents. ~r est le vecteur des termes obtenus de R pour l’expansion. Nous avons
gardé les valeurs par défaut des paramètres : α = 1 and β = 0, 75. La taille de R
est fixée à 10. Ce choix est consistant à la vu des expérimentations réalisées sur
les collections de TREC (Carpineto et al., 2001). Le nombre de termes ajoutés est
également limité à 10. Ce choix correspond au résultat d’une étude sur l’expansion
de requête à partir du feedback, pour la recherche de microblogs. Cette étude est
réalisée par Aboulnaga et Clarke (2012).
L’objectif de l’emploi de Rocchio est double : d’une part, il permet de résoudre
le problème de vocabulaire en améliorant la représentation des requêtes avec un
vocabulaire plus riche. D’autre part, il permet, au travers des meilleurs résultats de
la première restitution, de pondérer les termes des requêtes. Ceci pourrait résoudre
le problème noté dans l’analyse de défaillance : les termes de la requête n’ont pas
tous la même importance.
Dans un premier temps, le poids des termes d’expansion dans le vecteur ~r ont
été calculés avec TF-IDF (Rocch(TF.IDF)). Les résultats sont présentés dans le
tableau 4.4.
Nous remarquons que la technique de Rocchio améliore significativement les ré-
sultats par rapport à la baseline, que ce soit au niveau du Rappel, de la P@30 ou
la MAP : respectivement 8,00 %, 13,72 % et 18,17 %. Nous avons comparé les tweets
pertinents du run « VSM-Rocch(TF.IDF)-Tweets » avec les tweets pertinents du
run « Baseline ». Nous avons trouvé que 14 % des tweets pertinents du run « VSMRocch(TF.IDF)-Tweets
» n’existaient pas dans le run « Baseline ». Ceci correspond
76CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
Run Modèle Requête étendue champ utilisé P@30 Rappel MAP
Baseline VSM — Tweets 0,2842 0,6340 0,1871
VSM-Rocch(TF.IDF)-Tweets VSM Rocch(TF.IDF) Tweets 0,3232* 0,6822* 0,2211*
Tableau 4.4 – Expansion de la requête initiale avec Rocchio. Les poids des termes
d’expansion sont calculés avec TF.IDF. Un astérisque indique une amélioration significative
par rapport à la baseline.
à 589 nouveaux tweets pertinents. Ces nouveaux tweets pertinents sont répartis sur
42 requêtes parmi les 60. Ce sont souvent des tweets contenant un seul terme de
la requête initiale et certains termes d’expansion. Cependant, l’expansion a ignoré
77 tweets pertinents qui existaient déjà dans le run « Baseline ». Ces tweets sont
répartis sur toutes les requêtes avec un ou deux tweets non retrouvés pour chacune.
Dans un deuxième temps, les poids des termes d’expansion sont calculés avec le
modèle BM25.
Run Modèle Requête étendue champ utilisé P@30 Rappel MAP
Baseline VSM — Tweets 0,2842 0,6340 0,1871
VSM-Rocch(TF.IDF)-Tweets VSM Rocch(TF.IDF) Tweets 0,3232* 0,6822* 0,2211*
VSM-Rocch(BM25)-Tweets VSM Rocch(BM25) Tweets 0,3311* 0,6764* 0,2304*
Tableau 4.5 – Expansion de la requête initiale avec Rocchio. Les poids des termes
d’expansion sont calculés avec BM25. Un astérisque indique une amélioration signi-
ficative par rapport à la baseline.
Le tableau 4.5 présente les nouveaux résultats. Par rapport à la « baseline », nous
avons obtenu des améliorations significatives sur les trois mesures : 6,70 %, 16,50 %
et 23,14 % respectivement sur le rappel, la P@30 et la MAP. Par rapport au run
qui emploie TF.IDF pour pondérer les termes d’expansion (« VSM-Rocch(TF.IDF)-
Tweets »), nous remarquons des améliorations significatives uniquement sur la P@30
et la MAP : 2,44 % et 4,20 % respectivement. Les tweets pertinents du run « VSMRocch(BM25)-Tweets
» sont à 99 % ceux du run « VSM-Rocch(TF.IDF)-Tweets ».
Ce sont également les mêmes termes d’expansion qui ont été sélectionnés et ajoutés
dans les requêtes initiales en calculant les poids avec BM25, que ceux sélectionnés
avec TF.IDF. Toutefois, la pondération des termes d’expansion avec les scores de
BM25 à permis de mieux classer les tweets pertinents, ce qui a amélioré la précision
et la MAP.
2.4.2 Expansion de requêtes via le modèle BM25
Une des méthodes classiques de réinjection de pertinence est le mécanisme « naturel
» du modèle BM25. Naturellement, le facteur approximatif de IDF dans le
77CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
modèle BM25 est :
IDF∗∗ = log
r + 0.5/n − r + 0.5
R − r + 0.5/N − R − n + r + 0.5
!
(4.2)
avec r est le nombre de documents pertinents contenant le terme t, R est le nombre de
tous les documents contenant le terme t, n est le nombre de documents pertinents et
N est la taille de la collection. En absence d’information de pertinence au préalable,
ce facteur devient :
IDF∗ = log N − R
R
(4.3)
L’emploi de IDF∗∗ nécessite une connaissance préalable des documents pertinents.
Ainsi, l’idée est de considérer les premiers résultats de la première restitution
réalisée en considérant IDF∗
. Cet ensemble est supposé être l’ensemble de pertinence
(feedback). Ensuite, on réalise une deuxième restitution, mais toujours avec
la requête initiale, en considérant IDF∗∗ et le feedback pour le calcul des scores. En
se basant sur des expérimentations réalisées sur les collections de TREC (Carpineto
et al., 2001), le feedback est constitué des 10 premiers tweets restitués avec la requête
initiale.
Pour étudier l’impact de l’expansion de requêtes avec le modèle BM25, il est
évident de comparer les différentes propositions (emploi du feedback et expansion)
avec les résultats du modèle BM25 de base (équation 5.12). Ceci nous a permis
également de comparer les résultats des modèles BM25 et vectoriel.
Le tableau 4.6 montre les résultats. BMX25fb indique que le modèle emploie le
feedback dans le calcul du score de pertinence.
La première remarque est que le modèle BM25 (run « BM25- — -Tweets ») a
obtenu des résultats plus faibles que le modèle vectoriel.
Run Modèle Requête étendue champ utilisé P@30 Rappel MAP
Baseline VSM — Tweets 0,2842 0,6340 0,1871
BM25- — -Tweets BM25 — Tweets 0,2836 0,6043 0,1654
BM25fb- — -Tweets BM25fb — Tweets 0,2655 0,5940 0,1604
BMX25- — -Tweets BMX25 — Tweets 0,3186* 0,6643* 0,2170*
BMX25fb- — -Tweets BMX25fb — Tweets 0,3135 0,6364 0,2163
BMX25fb-Reqexp-Tweets BMX25fb Reqexp Tweets 0,3571* 0,6369 0,2300*
Tableau 4.6 – Différentes configurations du modèle BM25. * montre une amélioration
significative par rapport à configuration de base (run BM25).
Motivés par le travail de Ferguson et al. (2012), nous avons modifié les paramètres
initiaux du modèle BM25 afin de limiter au maximum la prise en compte des
facteurs de normalisation et la fréquence des termes dans le calcul du score. En fait,
78CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
comme nous l’avons déjà mentionné, dans la recherche de microblogs, la fréquence
des termes n’améliore vraiment pas les résultats. De plus, la normalisation de la
longueur des documents dégrade les résultats 5
. Nous avons ainsi paramétré k1 =
0,1 et b = 0. BMX25 indique la prise en compte de ces paramètres dans le modèle
BM25. « BMX25- — -Tweets » et « BMX25fb- — -Tweets » représentent respectivement
les runs sans et avec l’emploi du feedback, mais avec les nouveaux paramètres.
On peut remarquer, dans un premier temps, que le nouveau paramétrage améliore
considérablement les résultats : 10,0 %, 12,3 % et 31,2 % d’amélioration respectivement
pour le rappel, la p@30 et la MAP, entre le run « BM25- — -Tweets » et le
run « BMX25- — -Tweets ». Le run « BMX25- — -Tweets » est également meilleur
que le run « Baseline ». Les améliorations sont respectivement de 4,8 %, 12,1 % et de
16,0 % dans le rappel, la p@30 et la MAP. Le run « BMX25- — -Tweets » contient
707 nouveaux tweets pertinents par rapport au run « Baseline » et contient 92,0 %
des tweets pertinents du run « Baseline ». Ceci correspond à 390 tweets pertinents
non retrouvés. Ces tweets se caractérisent de manière générale par leur longueur
très réduite (un ou deux termes et une URL). La différence au niveau du nombre
de tweets restitués entre les run « BMX25- — -Tweets » et « Baseline » correspond
approximativement au nombre de tweets non restitués à la cause des différences dans
les importance des termes des requêtes (695 sur les requêtes de 2012), observé dans
le chapitre précédent. Le fait de se baser principalement sur le facteur IDF dans la
restitution de microblog a résolu ce problème.
Le run « BM25fb- — -Tweets » est celui qui emploie le feedback avec le modèle
BM25 de base. À ce niveau, aucune amélioration n’a été constatée. Concernant
le run « BMX25fb- — -Tweets », les résultats montrent que, encore une fois, le
feedback n’améliore pas les résultats. Nous avons comparé les tweets pertinents des
runs « BMX25- — -Tweets » et « BMX25fb- — -Tweets ». 99% des tweets pertinents
du run « BMX25fb- — -Tweets » existaient dans le run « BMX25- — -Tweets » (13
nouveaux tweets). Cependant, l’emploi du feedback a négligé 161 tweets pertinents.
En réalité, 110 de ces tweets non restitués avaient un rang supérieur à 1500. Pour
cette raison, ils n’ont pas été considérés dans le rappel. Nous pouvons ainsi constater
que l’emploi du feedback ne permet pas de restituer de nouveaux tweets pertinents
et ne résout pas le problème de vocabulaire.
Au lieu de fournir simplement une méthode de pondération des termes de la
requête d’un utilisateur, la réinjection de pertinence peut également impliquer l’expansion
de la requête avec certains termes (dans ce cas dix termes pour les raisons
expliquées dans le paragraphe précédent) à partir du feedback (dix premiers tweets
de la première restitution). Ces termes sont choisis par le facteur de pertinence de
5. Ceci coïncide avec les résultats du chapitre suivant où nous allons montrer que la longueur
des microblogs est un facteur de pertinence dans la recherche de microblogs.
79CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
l’équation 4.2. Le run réalisant l’expansion et le feedback est « BMX25fb-ReqexpTweets
». Au niveau du rappel, aucune amélioration n’a été observée par rapport au
run « BMX25- — -Tweets ». Cependant, la p@30 a progressé de 12,0 % et la MAP de
6,3 %. Nous avons comparé les tweets pertients des deux runs « BMX25fb-ReqexpTweets
» et « BMX25- — -Tweets ». Même si le rappel s’est dégradé de manière
significative, le run « BMX25fb-Reqexp-Tweets » contient 467 nouveaux tweets pertinents
(13 %). En contrepartie, il a négligé 813 tweets pertinents qui existaient dans
le run « BMX25- — -Tweets ».
Nous avons comparé également les runs « BMX25fb-Reqexp-Tweets » et « BMX25fb-
— -Tweets ». Même si ces deux runs ont pratiquement le même nombre de tweets
pertinents, ils diffèrent d’un ensemble considérable de tweets pertinents (de l’ordre
de 470 tweets pertinents). L’expansion améliore considérablement le rang des tweets
pertinents.
Ainsi, pour le modèle BM25 employé dans le cas de recherche de microblogs,
nous pouvons conclure que le feedback dégrade le rappel. En outre, il n’améliore
ni la MAP ni la précision, tant qu’il n’est pas accompagné d’une expansion de
requêtes. L’expansion de requêtes améliore les rangs des tweets pertinents et réduit
partiellement l’effet négatif du feedback au niveau du rappel.
3 Expansion de microblogs
Outre l’expansion des requêtes, nous avons évalué l’impact de l’expansion de
microblogs, et ce de plusieurs façons : expansion de hashtags et emploi des URLs.
3.1 Expansion de hashtags dans les tweets
Dans l’analyse de défaillances du chapitre 2, nous avons constaté qu’un nombre
important de tweets pertinents non restitués contient les termes de la requête collés
ensemble sous forme de hashtags (par exemple, #TextAndDrive). Nous avons
mis l’index à jour en étendant chaque hashtag composé avec les termes qui le composent.
Nous avons remarqué que les auteurs mettaient parfois le premier caractère
de chaque terme composant en majuscule. Ainsi, nous nous sommes basés sur cette
observation pour étendre les hashtags composés. Pour chaque tweet contenant un
hashtag composé, nous avons ajouté les termes composants au tweet (champ utilisée
: TweetsHashExp). Une légère amélioration mais non significative dans le rappel
(tableau 4.7) est constatée.
80CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
Run Modèle Requête étendu champ utilisée P@30 Rappel MAP
BMX25- — -Tweets BMX25 — Tweets 0,3186 0,6643 0,2170
BMX25- — -TweetsHashExp BMX25 — TweetsHashExp 0,3198 0,6681 0,2166
Baseline VSM — Tweets 0,2825 0,6340 0,1871
VSM- — -TweetsHashExp VSM — TweetsHashExp 0,2785 0,6361 0,1859
Tableau 4.7 – Résultats après l’expansion de hashtags, avec le modèle vectoriel et le
modèle BM25 (sans et avec paramétrage).
3.2 Emploi des URLs
À l’issue de notre analyse de défaillances et plus particulièrement de l’analyse
des URLs publiées dans les tweets pertinents, nous avons remarqué que la prise en
compte des pages web pointées par les URLs en complément des contenus des tweets
pourrait améliorer la restitution des tweets pertinents. Le contenu des URLs présente
souvent les termes des requêtes, même si le tweet ne les contient pas. Une première
proposition consiste alors à la prise en compte d’un tweet selon 1) son contenu
(champ utilisée : Tweets) ainsi que 2) le contenu des documents pointés par les URLs
(champ utilisée : Tweets+URL) présentes dans le tweet (2 646 611 tweets contiennent
une URL dans la collection). Nous avons commencé par considérer les deux champs
(Tweets+URL) dans la recherche avec les requêtes originales. Le tableau 4.8 montre
que l’emploi les URLs dans la restitution améliore significativement les résultats,
que ce soit avec le modèle vectoriel ou bien BM25.
Run Modèle Requête étendue Champ utilisé P@30 Rappel MAP
Baseline VSM — Tweets 0,2825 0,6340 0,1869
VSM- — - Tweets+URL VSM — Tweets+URL 0,3814* 0,7171* 0,2593*
BM25- — -Tweets BM25 — Tweets 0,2836 0,6043 0,1654
BM25- — -Tweets+URL BM25 — Tweets+URL 0,3816* 0,6686* 0,2267*
BMXx25- — -Tweets+URL BMXx25 — Tweets+URL 0,3944* 0,6879* 0,2360*
Tableau 4.8 – Apport de l’emploi des URLs avec le modèle vectoriel et le modèle
BM25. * montre une amélioration significative par rapport au run précédent.
Dans le cas du modèle vectoriel, le run « VSM- — - Tweets+URL » a eu des
améliorations de 13,1 %, 35,0 % et 38,7 % sur le rappel, la P@30 et la MAP. En
comparant les tweets pertinents des runs « VSM- — - Tweets+URL » et « baseline
», nous avons remarqué que l’effet des URLs n’était pas totalement positif,
en particulier au niveau de la sélection des tweets pertinents. Le run « VSM- — -
Tweets+URL » contient 1013 (22,85 %) nouveaux tweets pertinents par rapport au
run « Baseline ». Cependant, 275 tweets pertinents du run « Baseline » n’ont pas
été de nouveau restitués.
81CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
Les mêmes améliorations sont constatées avec le modèle BM25 : 10,6 %, 34,6 %
et 37,0 % respectivement sur le rappel, la p@30 et la MAP. Encore une fois, nous
pouvons affirmer que l’effet des URLs n’est pas totalement positif sur la sélection
des tweets pertinents. Cette observation est plus claire avec le modèle BM25. Le run
« BM25- — -Tweets+URL » contient 1039 nouveaux tweets pertinents par rapport
au run « BM25- — -Tweets ». Cependant, 670 tweets pertinents du run « BM25-
— -Tweets » n’ont pas été de nouveau restitués.
Le double effet de l’emploi des URLs revient au fait qu’une quantité importante
de tweets non pertinents contient les termes des requêtes dans les contenus des URLs.
Nous avons remarqué cette observation même au niveau des contenus des tweets :
plusieurs tweets non pertinents contiennent les termes des requêtes et traitent les
sujet des requêtes. . .
Finalement, nous avons testé une configuration qui définit les paramètres du
modèle BM25 en fonction du champ recherché. Les paramètres k1 et b sont initialisés
respectivement à 1,2 et 0,75 lorsque la recherche des termes d’une requête est
effectuée sur le champ UrlText (BMXx25 ). Ils ont été initialisés à 0,1 et 0 lorsque
la recherche est effectuée sur le champ Tweets. Le run avec cette configuration est
« BMXx25- — -Tweets+URL ». Nous pouvons observer des améliorations de 2,9 %,
3,3 % et de 4,1 % respectivement sur le rappel, la P@30 et la MAP, par rapport
au run « BM25- — -Tweets+URL ». Le parametrage a permis de restituer 215
nouveaux tweets pertinent. Cependant, 166 tweets pertinents du run « BM25- —
-Tweets+URL » n’ont pas été de nouveau restitués.
De manière générale, nous pouvons remarquer que le modèle BM25 est plus performant
au niveau de la précision. En d’autre termes, les rangs des tweets pertinents
avec le modèle BM25 sont meilleurs (plus proche de la tête de liste) que les rangs
des tweets pertinents avec le modèle vectoriel. En contrepartie, le modèle vectoriel
restitue une quantité plus importante de tweets pertinents : il est meilleur au niveau
du rappel. Concernant l’emploi des URLs, les résultats montrent qu’elles ont un rôle
très important et améliorent les résultats de manière remarquable, même si elles
sont la cause de la perte d’une quantité non négligeable de tweets pertinents.
Nous avons montré dans la section 2 que l’expansion des requêtes améliore les
performances, et dans cette section, que l’emploi des URLs améliore les résultats.
Dans la section suivante, nous présenterons les résultats de la combinaison de ces
deux facteurs.
4 Expansion de requêtes et de documents
À ce niveau, nous avions le choix entre l’expansion des requêtes avec le feedback
composé uniquement par le contenu des premiers tweets restitués ou bien avec le
82CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
feedback composé par le contenu des tweets et des URLs ensemble.
Le tableau 4.9 montre les résultats de l’emploi du contenu des tweets uniquement
dans l’expansion et du contenu des tweets et des URLs dans la restitution
(première de nos possibilités). Nous avons testé trois configurations : les deux premières
se basent sur le modèle vectoriel comme modèle de restitution. La diffé-
rence réside au niveau de l’expansion. (i) Dans un premier temps nous calculons
les poids des termes avec TF.IDF (« VSM-Rocch(TF.IDF)-Tweets+URL ») et (ii)
dans un deuxième temps avec BM25 (« VSM-Rocch(BM25)-Tweets+URL »). (iii) La
troisième configuration emploie le modèle BM25 dans la restitution (« BMXx25fbReqexp-Tweets+URL
»). Pour le run « BMXx25fb-Reqexp-Tweets+URL », nous
avons initialisé les paramètres en fonction du champ de restitution comme expliqué
dans le paragraphe précédent.
Run Modèle Requête étendue Champ utilisé P@30 Rappel MAP
VSM-Rocch(TF.IDF)-Tweets VSM Rocch(TF.IDF) Tweets 0,3232 0,6822 0,2211
VSM-Rocch(TF.IDF)-Tweets+URL VSM Rocch(TF.IDF) Tweets+URL 0,3894* 0,7506* 0,2777*
VSM-Rocch(BM25)-Tweets VSM Rocch(BM25) Tweets 0,3311 0,6764 0,2304
VSM-Rocch(BM25)-Tweets+URL VSM Rocchio(BM25) Tweets+URL 0,3960* 0,7524* 0,2869*
BMX25fb-Reqexp-Tweets BMX25fb Reqexp Tweets 0,3571 0,6369 0,2300
BMXx25fb-Reqexp-Tweets+URL BMXx25fb Reqexp Tweets+URL 0.3712* 0,6294 0.2333
Tableau 4.9 – Emploi des tweets et des URLs et expansion de requêtes uniquement
à partir des tweets.* montre une amélioration significative par rapport au run
précédent.
La première observation que nous pouvons tirer est que les runs considérant
les URLs et les tweets en plus de l’expansion de requêtes sont meilleurs que les
runs considérant les tweets. Toutefois, l’intensité de cette amélioration dépend du
modèle de restitution. Nous pouvons remarquer des améliorations importantes avec
le modèle vectoriel sur les trois mesures. Cependant, les améliorations avec le modèle
BM25 sont moins importantes (notons même une dégradation du rappel).
Lorsqu’on utilise le modèle vectoriel pour la restitution, nous remarquons encore
une fois que la pondération des termes d’expansion avec BM25 donne de meilleurs
résultats qu’avec TF.IDF. Nous avons comparé les tweets pertinents des deux runs
« VSM-Rocch(BM25)-Tweets+URL » et « VSM-Rocch(BM25)-Tweets ». L’emploi
des URLs a résulté des améliorations de 11,2 %, 19,6 % et de 24,5 % respectivement
sur le rappel, la P@30 et la MAP. Le run « VSM-Rocch(BM25)-Tweets+URL »
contient 809 nouveaux tweets pertinents (17 %) et a échoué à restituer 259 (6 %)
tweets qui existaient dans « VSM-Rocch(BM25)-Tweets ». Nous remarquons ainsi de
nouveau le double effet de l’emploi des URLs pour les mêmes raisons précédemment
expliquées. Toutefois, la quantité de nouveaux tweets pertinents dépasse la quantité
83CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
des tweets non restitués.
Concernant le modèle BM25, l’emploi des URLs a amélioré de manière significative
uniquement la P@30 (4,0 %). Les deux runs « BMXx25fb-Reqexp-Tweets+URL »
et « BMX25fb-Reqexp-Tweets » contiennent pratiquement le même nombre de
tweets pertinents. Cependant, ces deux runs diffèrent d’un certain nombre de tweets
pertinents (de l’ordre de 650 tweets). Nous pouvons ainsi conclure que, avec le modèle
BM25, le double effet de l’emploi des URLs est plus important. Il n’y a pas
ainsi d’effet positif sur le rappel. Cependant, ce facteur améliore considérablement
le rang des documents pertinents (effet positif sur la précision).
Finalement, nous avons voulu tester l’impact de l’emploi des URLs même dans
l’expansion de requêtes (deuxième de nos propositions citées au début de la section
4). En d’autres termes, les termes d’expansion seront sélectionnés à partir du
contenu des tweets et des URLs des résultats formant le feedback. Le tableau 4.10
montre les résultats de l’emploi du contenu des tweets et des URLs dans l’expansion
de requêtes avec le modèle vectoriel (Rocchio(BM25)(T+U)) et avec le modèle BM25
(Reqexp(T+U)). (T+U) indique l’emploi de Tweets et des URLs dans l’expansion.
Run Modèle Requête étendue Champ utilisé P@30 Rappel MAP
VSM-Rocchio(BM25)-Tweets+URL VSM Rocchio(BM25) Tweets+URL 0,3960 0,7524 0,2869
VSM-Rocchio(BM25)(T+U)-Tweets+URL VSM Rocchio(BM25)(T+U) Tweets+URL 0,2633 0,5892 0,1841
BMXx25fb-Reqexp-Tweets+URL BMXx25fb Reqexp Tweets+URL 0,3712 0,6294 0,2333
BMXx25fb-Reqexp(T+U)-Tweets+URL BMXx25fb Reqexp(T+U) Tweets+URL 0,3966* 0,5208 0,2143
Tableau 4.10 – Emploi des tweets et des URLs pour l’expansion et pour la restitution.
* montre une amélioration significative par rapport au run précédent.
Pour le modèle vectoriel, nous avons remarqué une dégradation remarquable en
employant les URLs dans l’expansion. Cependant, avec le modèle BM25, l’emploi
des URLs conduit à des effets différents. D’une part, le rappel et la MAP se sont
dégradés considérablement. D’autre part, la P@30 s’est améliorée pour atteindre le
meilleur score parmi toutes nos configurations précédentes. Ces observations sont
expliquées ainsi : le fait de considérer les URLs dans l’expansion a dévié le sens des
requêtes et généré des dégradations. Cependant, cette dégradation s’est transformée
en amélioration, en particulier avec le modèle BM25, étant donné que ce modèle
exploite le feedback (composé par les tweets et les contenus des URLs) dans la
nouvelle restitution. Ceci a conduit, d’une part, à une perte importante dans le
nombre de tweets pertinents restitués, mais, d’autre part, à une mise en valeur
maximale des tweets pertinents restitués (reclassement vers la tête de la liste).
84CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
5 Discussion
La conclusion principale des expérimentations de ce chapitre est que l’expansion
de requêtes et la prise en compte des contenus des URL dans la restitution
paraissent indispensables pour la recherche des microblogs, que ce soit au
niveau du rappel ou la précision. Les URLs permettent non seulement de fournir
des informations supplémentaires pour les internautes, mais présentent également
un vocabulaire très utile pour les moteurs de recherche, qui sera utilisé pour mesurer
la pertinence du microblog vis-à-vis d’un besoin en information. L’expansion
de requêtes permet de mieux représenter les besoins d’information (améliore le
rappel), et de mettre en valeur les tweets pertinents (améliore la précision). La
pondération des termes de la requête, elle aussi, joue un rôle très important
dans l’amélioration des résultats. Elle permet de mettre en valeur les tweets pertinents
en relation avec les termes importants des requêtes (améliore la précision).
Ceci est aperçu, d’une part, en regardant les runs utilisant l’expansion de requêtes
avec les articles des actualités (tableau 4.1), avec et sans pondération, ou en comparant
les runs se basant sur TF.IDF avec les runs se basant sur BM25 pour pondérer
les termes d’expansion (tableau 4.5).
Concernant le modèle de restitution, la supériorité d’un modèle par rapport
à un autre dépend des facteurs supplémentaires utilisés et aussi des résultats à
analyser (rappel ou précision). De manière générale, BM25 obtient de meilleures
précisions et VSM obtient les meilleurs rappels.
Le paramétrage est crucial pour le modèle BM25. Le fait d’initialiser k1 à 0,1 et
b à 0 (on ne prend pas en compte la normalisation par la longueur) lui permet de
prendre un avantage par rapport au VSM. Cependant, l’emploi du feedback dégrade
ses résultats, que ce soit avec ou sans paramétrage, à moins que ce feedback soit
accompagné d’une expansion de requêtes (tableau 4.6). Dans ce cas, nous arrivons à
obtenir les meilleures P@30. Cette dernière observation reste valide que ce soit avec
ou sans l’emploi des URLs.
Les améliorations avec le modèle vectoriel sont plus équilibrées. En employant
des facteurs supplémentaires (Rocchio ou URLs), nous apercevons des améliorations
sur le rappel ou bien sur la précision. Concernant l’expansion, la pondération des
termes avec BM25 ou avec TF.IDF fait ressortir, dans la plupart des cas, les mêmes
termes d’expansion. Cependant, la pondération de ces termes avec BM25 permet de
restituer plus de tweets pertinents et de les ranger de façon plus pertinente qu’avec
TF.IDF.
Concernant l’emploi des URLs dans l’appariement, l’impact de ce facteur
dépend du modèle de restitution. De manière générale ce facteur améliore
toutes les mesures avec le modèle vectoriel. Cependant, il améliore uniquement la
P@30 avec le modèle probabiliste (tableau 4.9). L’emploi des URLs, en plus des
85CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
tweets, dans l’expansion de requêtes n’a pas montré un effet positif avec le modèle
vectoriel. Cependant, il a permis d’avoir la meilleure P@30 parmi toutes nos
expérimentations, même s’il a dégradé considérablement le rappel (tableau 4.10).
Nous avons comparé les deux meilleurs runs au niveau de la P@30 « VSMRocch(BM25)-Tweets+URL
» et « BMXx25fb-Reqexp(T+U)-Tweets+URL », avec
les résultats officiels de la tâche Microblog de TREC 2012 (Ounis et al., 2012).
L’évaluation des résultats officiels des participants de la tâche microblogs 2012 est
réalisée en considérant uniquement les tweets hautement pertinents. Le tableau 4.11
montre les résultats de ces deux runs considérant les tweets hautement pertinents.
D’ailleurs, ces deux runs ont conservé leur avantage par rapport aux autres runs,
même avec cette considération.
Run Modèle Requête étendue Champ utilisé P@30 Rappel MAP
VSM-Rocch(BM25)-Tweets+URL VSM Rocchio(BM25) Tweets+URL 0,2531 0,7722 0,2264
BMXx25fb-Reqexp(T+U)-Tweets+URL BMXx25fb Reqexp(T+U) Tweets+URL 0,2531 0,6087 0,2113
Tableau 4.11 – Résultats des meilleurs runs avec les tweets hautement pertinents.
Le tableau 4.12 montre les résultats des deux meilleurs runs officiels des participants
de 2012. Chacun de nos deux runs nous aurait permis de nous placer à la 2ème
position des participants selon la P@30. Nous n’avons bien évidemment considéré
que les runs automatiques dans cette comparaison.
Groupe Run P@30 MAP
HIT MTLAB hitURLrun3 0.2701 0.2642
IRIT VSM-Rocch(BM25)-Tweets+URL 0.2531 0.2264
IRIT BMXx25fb-Reqexp(T+U)-Tweets+URL 0.2531 0.2113
HIT MTLAB hitLRrun1 0.2446 0.2411
Tableau 4.12 – Comparaison avec les résultats officiels de TREC 2012
Run Modèle Requête étendue Champ utilisé P@30 Rappel MAP
VSM-Rocch(BM25)-Tweets+URL VSM Rocchio(BM25) Tweets+URL 0.4701 0.8752 0.4700
Tableau 4.13 – Emploi des tweets pour l’expansion et des tweets et des URLs pour
la restitution sur les topics de TREC 2011.
Le tableau 4.13 montre les résultats du run « VSM-Rocch(BM25)-Tweets+URL »
sur les requêtes de 2011. Les jugements des runs officiels de la tâche de 2011 sont
réalisés en considérant tous les tweets pertinents. Ce run nous aurait permis de nous
86CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
placer à la 1ère position des participants selon la P@30 (tableau 4.14). Notons la
présence de notre run officiel (Damak et al., 2011).
Groupe Run P@30 MAP
IRIT VSM-Rocch(BM25)-Tweets+URL coupé à 30 0,4701 0,2966
isi isiFDL 0,4551 0,1923
FUB DFReeKLIM30 0,4401 0,2348
CLARITY_DCU clarity1 0,4211 0,2139
Purdue_IR myrun2 0,3993 0,2003
IRIT Run officiel (Damak et al., 2011) 0,2565 0,1940
Tableau 4.14 – Comparaison avec les résultats officiels de TREC 2011
6 Bilan
Dans ce chapitre nous avons proposé quelques méthodes pour améliorer la qualité
des résultats d’une tâche de recherche de micrblogs. Nous avons exploité les
articles des actualités et la base lexicale WordNet pour étendre les requêtes. En
outre, nous avons analysé l’impact des techniques de RI classique sur ce nouveau
type de document. Nous avons particulièrement testé le modèle vectoriel et le modèle
probabiliste. Avec le modèle vectoriel, nous avons étendu les requêtes avec la
technique de Rocchio. Avec le modèle BM25, nous avons utilisé son mécanisme naturel
de feedback et d’expansion. Ensuite, nous avons testé l’effet de l’emploi du
contenu des URLs en complément du contenu des tweets. L’emploi des URLs était
avantageux uniquement pour la restitution (et non pour l’expansion). De manière
générale, le modèle BM25 fournit de meilleures précisions. Le modèle vectoriel arrive
à restituer plus de tweets pertinents. L’expansion de requêtes améliore le rappel et la
précision avec le modèle vectoriel. Cependant, avec le modèle BM25, son effet positif
est clair surtout sur la P@30. L’emploi des URLs pour la restitution est primordial.
En contrepartie, elles n’ont pas montré d’intérêt pour l’expansion des requêtes.
87CHAPITRE 4. EXPANSION DE REQUÊTES ET DE DOCUMENTS
88Chapitre 5
Analyse des facteurs de pertinence
de l’état de l’art
1 Introduction
Nous avons montré dans l’état de l’art que les approches de RI dans les microblogs
emploient une multitude de critères de pertinence : critères de fraîcheur, critères
sur les auteurs, critères du réseau social, des différentes données présentes dans
microblogs (hashtags, URLs). . . , en plus de la pertinence textuelle. Ces différents
critères sont concrètement pris en compte dans les modèles de recherche proposés
en combinant des facteurs de pertinence pour mesurer la pertinence des microblogs
vis-à-vis d’un besoin en information. Par exemple, en considérant le critère importance
de l’auteur, les facteurs de pertinence associés pourraient être le nombre de
microblogs de l’auteur et le nombre de ses abonnés (Nagmoti et al., 2010). Nous
pouvons également considérer le nombre de fois qu’un utilisateur a été mentionné
ou bien le score de l’auteur selon un algorithme semblable à PageRank basé sur des
relations de rediffusion des messages (Ben Jabeur et al., 2011).
Même si les intuitions justifiant l’emploi de ces facteurs de pertinence encouragent
leur exploitation, la valeur réelle de ces facteurs de pertinence n’a jamais été
démontrée. En outre, nous avons montré dans le chapitre 3 (analyse de défaillances)
que, dans la recherche de microblogs, la plupart des problèmes remontés par les
modèles de recherche sont des problèmes de vocabulaire (Damak, 2013), problèmes
pour lesquels nous avons proposé des solutions dans le chapitre 4. La question qui se
pose maintenant est : si le modèle arrive à restituer tous les microblogs pertinents,
est-ce que l’emploi de facteurs de pertinence supplémentaires permet de promouvoir
les microblogs pertinents parmi l’ensemble des résultats ?
Dans ce chapitre, nous évaluons l’impact réel des facteurs de pertinence souvent
utilisés dans les approches de l’état de l’art sur la qualité des microblogs restitués
vis-à-vis d’un besoin en information.
89CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
2 Description des facteurs de pertinence
Nous décrivons dans cette section les 14 facteurs de pertinence que nous considé-
rons, classés par groupe. Nous considérons cinq groupes de facteurs de pertinence :
celui lié au contenu des microblogs, celui lié à leur hypertextualité, celui qui se base
sur les hashtags, celui lié aux auteurs des microblogs et enfin un groupe de facteurs
relatifs à la qualité des microblogs. Nous cherchons à évaluer l’impact de ces facteurs
de pertinence comme précédemment, c’est-à-dire sur l’évaluation de la pertinence
d’un tweet par rapport à une requête.
Nous utiliserons les notations suivantes dans la suite :
– q est la requête (composée de mots-clés ‘topic’ et caractérisée par une date),
– Cq est le corpus des tweets publiés avant la date de la requête,
– Tq est l’ensemble des tweets restitués par un moteur de recherche donné calculant
la pertinence par rapport à q uniquement sur le contenu des tweets
(Tq ⊆ Cq),
– t est un tweet ∈ Tq sur lequel on applique le facteur de pertinence.
2.1 Facteurs de pertinence basés sur le contenu des tweets
Nous avons considéré quatre facteurs de pertinence relatifs à certaines spécificités
de contenu des microblogs : la popularité d’un tweet (5.1), la longueur faible des
tweets (5.2), la correspondance des termes entre les tweets et la requête (5.3) et la
qualité du langage d’écriture du tweet (5.4).
– Popularité du tweet (Duan et al., 2010) : ce facteur de pertinence estime la popularité
d’un tweet dans Tq. On suppose qu’un tweet est populaire si on trouve
plusieurs autres tweets ayant un contenu similaire. La similarité sim(ti
, tj )
entre chaque paire de tweets est calculée avec un modele vectoriel qui prend
également en compte la fréquence des termes de la requête dans le tweet (Cohen
et al., 2007). On note le vecteur contenant les termes du tweet courant par ti
.
Ce facteur de pertinence est calculé de la manière suivante :
f1(ti
, q) =
P
tj∈Tq,i6=j sim(ti
, tj )
|Tq| − 1
(5.1)
– Longueur du tweet (Duan et al., 2010) : intuitivement, plus une phrase est
longue, plus elle contient de l’information. Nous avons calculé ce facteur de
pertinence en comptant le nombre de termes dans un tweet. On note l(ti) le
nombre de termes dans un tweet ti dans Tq. Ce facteur de pertinence est calculé
de la manière suivante :
f2(ti) = l(ti)
maxtj∈Tq
l(tj )
(5.2)
90CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
– Correspondance exacte des termes : ce facteur favorise les tweets qui contiennent
les termes de la requête q. La valeur nb(ti
, q) correspond au nombre de termes
en commun entre ti et q :
f3(ti
, q) = nb(ti
, q)
maxtj∈Tqnb(tj
, q)
(5.3)
– Qualité du langage (Duan et al., 2010) : ce facteur de pertinence représente la
proportion des termes qui existent dans un dictionnaire 1 par rapport à tous
les termes du tweet ti
. La valeur dic(term) est binaire : 1 si le terme existe
dans le dictionnaire, 0 sinon :
f14(ti) =
P
term∈ti
dic(term)
l(ti)
(5.4)
2.2 Facteurs de pertinence basés sur l’hypertextualité
Nous considérons trois facteurs de pertinence additionnels qui peuvent indiquer
la qualité de l’information publiée dans les tweets :
– Présence d’une URL dans le tweet (Nagmoti et al., 2010 ; Zhao et al., 2011) :
partager des URLs est une manière de confirmer l’information publiée dans un
tweet. Ceci permet également d’attirer l’attention sur un contenu présent sur
le web. Ainsi, on fait l’hypothèse que la présence d’une URL indique que le
tweet a un caractère informatif renforcé. Ce facteur de pertinence est binaire :
f4(ti) =
1 si ti contient une URL
0 sinon
(5.5)
– Fréquence des URLs (Zhao et al., 2011) : compte le nombre d’URLs publiées
dans un tweet ti
:
f5(ti
, q) = |{w ∈ ti/isURL(w)}|
maxtj∈Tq
|{w ∈ tj/isURL(w)}| (5.6)
– Fréquence de l’URL dans le corpus : ce facteur de pertinence permet de calculer
la popularité des URLs publiées dans un tweet ti dans le corpus Cq. On note
par freq(url) le nombre de fois ou une URL apparaît dans le corpus Cq :
f6(ti
, q) =
P
url∈ti
freq(url)
maxtj∈Tq
P
url∈tj
freq(url)
(5.7)
2.3 Facteurs de pertinence basés sur les hashtags
– Présence de hashtag (Metzler et Cai, 2011).
f7(ti) =
1 si ti contient un hashtag
0 sinon
(5.8)
1. http://code.google.com/p/language-detection/
91CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
– Fréquence de hashtags du tweet (Duan et al., 2010). On note la fréquence d’un
hashtag dans le corpus Cq par freq(h) :
f8(ti) = X
h∈ti
freq(h) (5.9)
– Hashtags de la requête dans le tweet : calcule le nombre de termes d’une
requête q qui apparaissent sous forme d’un hashtag dans un tweet ti
.
f9(ti
, q) = |{w ∈ q/#w ∈ ti}|
maxtj∈Tq
|{w ∈ q/#w0 ∈ tj}| (5.10)
2.4 Facteurs de pertinence basés sur la popularité
des auteurs
Afin de tenir compte de la popularité des auteurs, nous avons considéré deux
facteurs de pertinence spécifiques aux auteurs de microblogs.
– Nombre de tweets de l’auteur (Nagmoti et al., 2010) : l’objectif de ce facteur de
pertinence est de valoriser les tweets publiés par des auteurs actifs par rapport
aux tweets publiés par des auteurs moins actifs. On note par a(ti) l’auteur du
tweet ti et N(a(ti)) le nombre de tweets publiés par l’auteur du tweet ti dans
le corpus Cq.
f10(ti) = N(a(ti)) (5.11)
– Nombre de citations de l’auteur (Zhao et al., 2011) : plus un auteur est mentionné,
plus il est populaire. M(a(ti)) indique combien de fois un auteur du
tweet ti a été mentionné dans le corpus Cq :
f11(ti) = M(a(ti)) (5.12)
2.5 Facteurs de pertinence relatifs à la qualité des tweets
Nous avons également analysé deux autres critères particularisant les tweets :
– Retweet (Metzler et Cai, 2011). Si un utilisateur aime un tweet publié par un
de ses amis, il va probablement le commenter et le partager de nouveau. Dans
ce cas, le nouveau message va être précédé par RT (ou marqué en tant que
retweet).
f12(ti) =
1 si ti contient RT
0 sinon
(5.13)
– Fraîcheur (Magnani et al., 2012). C’est la différence entre la date de la publication
du tweet ti et la date de la soumission de la requête q, mesurée en
secondes. tmp(ti) est le timestamp en seconde d’un tweet ti (c’est-à-dire sa
date de publication).
f13(ti
, q) = tmp(q) − tmp(ti)
maxtj∈Tq
tmp(q) − tmp(tj )
(5.14)
92CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
3 Méthodologie
Notre analyse est réalisée en trois phases : tout d’abord, nous avons évalué les
facteurs de pertinence en nous basant sur les distributions de leurs scores, ensuite,
en combinant linéairement leurs scores avec le score du modèle de restitution, et
finalement en utilisant les techniques de sélection d’attributs pour des algorithmes
d’apprentissage.
3.1 Étude de la distribution des scores
L’intuition derrière cette étude est que les facteurs de pertinence reflétant la
pertinence distinguent les tweets pertinents des non pertinents. Ces facteurs de pertinence
n’aurons pas le même comportement avec les tweets pertinents et les tweets
non pertinents. Pour évaluer un facteur, nous avons observé la distribution de ses
scores dans les tweets. Si la distribution des scores d’un facteur de pertinence est la
même pour les tweets pertinents et non pertinents, ce facteur ne permettra pas ainsi
de différencier les deux classes de tweets, et ne sera pas considéré comme facteur
utile à cette tâche. Dans le cas contraire, lorsque la distribution des scores d’un
facteur de pertinence est différente entre les tweets pertinents et non pertinents, ce
facteur permettra dans ce cas de différencier les deux classes de tweets, et il sera par
conséquent considéré comme facteur utile.
3.2 Étude par la combinaison linéaire des scores
Dans un deuxième temps, nous avons évalué l’impact direct de chacun des facteurs
de pertinence sur la qualité des résultats. Nous avons ainsi combiné linéairement
le score de chaque facteur de pertinence avec le score du modèle de restitution
textuel employé. L’intuition derrière cette étude est que les facteurs de pertinence
utiles vont promouvoir les tweets pertinents dans l’ensemble des résultats et ceci, de
manière générale, va améliorer la qualité des résultats.
Ensuite, nous avons testé la complémentarité des facteurs de pertinence : peuventils
se compléter afin d’améliorer les résultats ? L’idée est de voir si les facteurs de pertinence
ont des comportements différents lorsqu’ils sont combinés avec d’autres facteurs
de pertinence, par rapport à leur comportement lorsqu’ils sont employés seuls.
Afin d’étudier ce dernier point, il faudrait effectuer toutes les combinaisons possibles
des facteurs de pertinence entre eux, ceci impliquant un nombre très important de
runs (C
2
14 +C
3
14 +C
4
14 +C
5
14 +C
6
14 +C
7
14 +C
8
14 +C
9
14 +C
10
14 +C
11
14 +C
12
14 +C
13
14 = 16 368
runs).
Afin de réduire le nombre de cas à prendre en compte, nous avons décidé d’observer
le comportement des différents groupes qu’ils forment :
93CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
– Groupe G1 lié au contenu des tweets, composé des facteurs de pertinence f1,
f2 et f14,
– Groupe G2 lié à l’hypertextualité, composé des facteurs de pertinence f4, f5
et f6,
– Groupe G3 lié aux hashtags publiés dans tweets, composé des facteurs de
pertinence f7, f8, et f9.
– Groupe G4 lié aux auteurs des tweets, composé des facteurs de pertinence f10,
et f11,
– Groupe G5 lié aux critères qualitatifs des tweets, composé des facteurs de
pertinence f12 et f13.
3.3 Étude avec les techniques de sélection d’attributs
Le problème de l’étude précédente réside dans la sélection des groupes des facteurs
de pertinence. Tant que nous n’avons pas essayé toutes les combinaisons des
facteurs de pertinence possible, il est impossible de juger convenablement la complémentarité
des facteurs de pertinence, et d’identifier les meilleures combinaisons.
En outre, l’étude précédente se base simplement sur des combinaisons de scores.
Dans cette troisième étude plus approfondie, nous nous sommes ainsi appuyés
sur des techniques de sélection d’attributs pour déterminer les meilleurs facteurs de
pertinence à considérer dans une tâche de recherche de microblogs.
Les techniques de sélection d’attributs visent à identifier et enlever le maximum
d’information redondante et non pertinente en amont d’un processus à base
d’apprentissage (Hall et Holmes, 2003). Elles permettent également de sélectionner
de manière automatique les sous-ensembles de facteurs de pertinence permettant
d’avoir les meilleurs résultats.
Cette phase a fait ressortir plusieurs ensembles de facteurs. Ensuite, nous avons
évalué l’efficacité de ces ensembles en les appliquant sur des techniques d’apprentissage
dans un contexte de recherche de microblogs.
4 Expérimentations
4.1 Étude par la distribution des scores
4.1.1 Cadre expérimental
Nous nous sommes basés sur le modèle vectoriel comme modèle de restitution.
Les scores des facteurs de pertinence sont ensuite calculés pour chaque tweet résultat.
Nous avons utilisé les requêtes des deux éditions 2011 et 2012 de la tâche microblog
de TREC. Dans les expérimentations de cette étude, nous considérons les
tweets moyennement pertinents et hautement pertinents (qrels all-rel) L’ensemble
94CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
des tweets à analyser est construit de la manière suivante : d’abord, nous avons
sélectionné uniquement les requêtes ayant au moins 100 tweets pertinents (ce qui
représente 14 requêtes de 2011 et 13 requêtes de 2012). Nous avons fait ce choix pour
avoir un nombre suffisant de tweets à étudier. Pour chacune d’entre elles, nous avons
gardé tous les tweets pertinents en nous référant aux jugements de pertinence. Pour
chaque requête, nous avons ajouté le même nombre de tweets non pertinents que de
tweets pertinents. Les tweets non pertinents sont sélectionnés en fonction de leurs
scores du modèle vectoriel. Nous avons gardé ceux ayant les scores les plus importants.
Les tweets de toutes les requêtes ont été fusionnés pour tracer la distribution
globale dans les figures qui suivent.
4.1.2 Résultats
95CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
96CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
Figure 5.1 – Distribution des scores des tweets pertinents et des tweets non pertinents
(requêtes de 2011 à gauche et celles de 2012 à droite).
La figure 5.1 montre la distribution des scores de tweets pertinents et des tweets
non pertinents pour cette première étude. Les intervalles ont été calculés avec la
loi de Sturges (1926). À part le facteur fraîcheur (f13), aucune différence dans les
distributions entre les requêtes de 2011 et de 2012 n’est constatée.
Nous pouvons observer que les facteurs de pertinence popularité du tweet (f1),
longueur du tweet (f2), correspondance exacte des termes (f3), présence d’URL (f2),
fréquence d’URLs (f5), importance d’URLs (f6) et fraîcheur (f13) ne présentent pas
la même distribution des scores entre les tweets pertinents et les tweets non per-
97CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
tinents. Ces critères obtiennent leurs meilleurs scores avec les tweets pertinents et
reflètent probablement ainsi la pertinence. La différence entre les deux populations
de scores (des tweets pertinents et des tweets non pertinents) est statiquement significative
selon le test t pairé et bilatéral avec p < 0, 05.
4.2 Étude par la combinaison linéaire des scores
Dans cette section, nous comparons tout d’abord l’apport des différentes facteurs
de pertinence pour raffiner le processus de RI sur les microblogs. Puis, nous
positionnons nos résultats par rapport aux résultats officiels de la tâche Microblog à
TREC 2011 et 2012. Enfin, nous généralisons nos conclusions en faisant abstraction
du moteur de recherche Lucene utilisé jusqu’alors (Damak et al., 2012).
4.2.1 Cadre expérimental
Le score final d’un tweet (équation 5.16) est calculé en combinant le score du
modèle vectoriel et les scores des facteurs de pertinence (équation 5.15). Le score
facteurs de pertinence est calculé par une combinaison linéaire. On réalise différentes
normalisations de sorte que fn(ti
, q) ∈ [0, 1] et fsources(ti
, q) ∈ [0, 1]. Nous avons exclu
le facteur de pertinence f3 (correspondance exacte de termes) des sources à évaluer
afin de l’utiliser par la suite pour la généralisation des résultats. Cette source est
nommée dans les expérimentations « Base ». Nous avons utilisé les requêtes des
deux éditions 2011 et 2012 de la tâche Microblog.
fsources(ti
, q) = f(f1(ti
, q), f2(ti
, q), f4(ti
, q), f5(ti), ..., f12(ti), f13(ti), f14(ti)) (5.15)
score(ti
, q) = α ∗ V SM(ti
, q) + (1 − α) ∗ fsources(ti
, q) α ∈ [0, 1] (5.16)
Dans nos expérimentations, nous considérons les tweets moyennement pertinents
et hautement pertinents (qrels all-rel). Les résultats présentés par la suite sont évalués
en fonction d’un classement sur le score de pertinence, contrairement à la tâche
Microblog de l’édition de 2011 qui évalue en réordonnant les résultats sur la date
des tweets au préalable, ce qui ne rend pas compte de la qualité des facteurs de
pertinence. Pour nos analyses, nous utilisons les 5000 premiers résultats renvoyés
par Lucene.
4.2.2 Résultats
4.2.2.1 Combinaison source par source. Le tableau 5.1 montre les résultats
obtenus en considérant les facteurs de pertinence décrits dans la section 2 un par
un. Un astérisque indique que la différence est statistiquement significative selon le
test t de Student (1908) pairé et bilatéral avec p < 0, 05.
98CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
Système
édition 2011 édition 2012
P@30 MAP P@30 MAP
VSM 0,3544 0,3141 0,2842 0,1871
VSM + f1 0,3027* 0,2280* 0,1966* 0,1371*
VSM + f2 0,2701* 0,2241* 0,2729* 0,1616*
VSM + f4 0,3986* 0,3348* 0,3463* 0,2202*
VSM + f5 0,3517 0,3062* 0,3260* 0,2062*
VSM + f6 0,3238 0,2570* 0,2469* 0,1645*
VSM + f7 0,1619* 0,1067* 0,1542* 0,0905*
VSM + f8 0,2823* 0,2078* 0,2379* 0,1517*
VSM + f9 0,2275* 0,1903* 0,2246* 0,1478*
VSM + f10 0,1850* 0,1724* 0,2040* 0,1311*
VSM + f11 0,3245* 0,2475* 0,2627* 0,1625*
VSM + f12 0,0299* 0,0867* 0,0362* 0,0845*
VSM + f13 0,3456* 0,3134* 0,2808 0,1860*
VSM + f14 0,3517* 0,3067* 0,2842 0,1813*
Tableau 5.1 – Apport de chaque facteur de pertinence par rapport au modèle vectoriel
(baseline VSM).
Comme nous pouvons le constater, et de façon assez surprenante, l’utilisation de
tous les critères, sauf f4 (2011) et f4, f5 (pour 2012), conduit à une dégradation des
résultats. Concernant f4 (présence d’une URL dans le tweet), on observe une hausse
sensible des résultats (+12,4 % sur la P@30 sur les requêtes de 2011 et +21,85 % sur
les requêtes de 2012).
4.2.2.2 Combinaison de plusieurs facteurs de pertinence. Les résultats
précédents ne nous permettent pas de voir les interactions entre les facteurs de
pertinence. Nous évaluons maintenant les groupes des facteurs de pertinence.
Les résultats sont décrits dans les tableau 5.2. Les combinaisons qui améliorent la
P@30 sont les combinaisons qui mobilisent G2, qui contient le facteur de pertinence
f4. Ceci tend à confirmer que seul le facteur de pertinence f4 a un intérêt dans
notre système. Nous pouvons remarquer également que le groupe G1 n’améliore pas
les résultats lorsqu’il est utilisé seul, mais améliore les résultats lorsqu’il est combiné
avec l’un des autres groupes, en particulier G2. Le contraire de cette observation se
manifeste pour le groupe G3. Ce groupe dégrade les résultats en le combinant avec
n’importe quel autre groupe.
99CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
Système
édition 2011 édition 2012
P@30 MAP P@30 MAP
VSM 0,3544 0,3141 0,2842 0,1871
VSM + G1 0,3449* 0,2996* 0,2938* 0,1816*
VSM + G2 0,3694 0,3233 0,3249 0,2091
VSM + G3 0,1833* 0,1332* 0,1643* 0,0973*
VSM + G4 0,2197* 0,1832* 0,1876* 0,1254*
VSM + G5 0,1578* 0,1797* 0,1390* 0,1134*
VSM + G1 + G2 0,4014* 0,3431* 0,3441* 0,2235*
VSM + G1 + G3 0,2920* 0,2374* 0,2298* 0,1421*
VSM + G1 + G4 0,3374* 0,2965* 0,2864* 0,1770*
VSM + G1 + G5 0,2769* 0,2520* 0,2288* 0,1551*
VSM + G2 + G3 0,2848* 0,2382* 0,2678* 0,1659*
VSM + G2 + G4 0,3306* 0,2947* 0,3085* 0,1968*
VSM + G2 + G5 0,2973* 0,2763* 0,2740* 0,1841*
VSM + G3 + G4 0,1906* 0,1395* 0,1608* 0,0976*
VSM + G3 + G5 0,2159* 0,1793* 0,1596* 0,1111*
VSM + G4 + G5 0,2170* 0,2064* 0,1644* 0,1182*
VSM + G1 + G2 + G3 0,3623* 0,3005* 0,3029* 0,1909*
VSM + G1 + G2 + G4 0,3946* 0,3354* 0,3390* 0,2178*
VSM + G1 + G2 + G5 0,3544* 0,3113* 0,2853* 0,1994*
VSM + G1 + G3 + G4 0,2906* 0,2388* 0,2205* 0,1409*
VSM + G1 + G3 + G5 0,2804* 0,2398* 0,2094* 0,1416*
VSM + G1 + G4 + G5 0,2864* 0,2538* 0,2282* 0,1552*
VSM + G2 + G3 + G4 0,3043* 0,2545* 0,2573* 0,1623*
VSM + G2 + G3 + G5 0,3087* 0,2608* 0,2520* 0,1669*
VSM + G2 + G4 + G5 0,3252* 0,2839* 0,2644* 0,1819*
VSM + G3 + G4 + G5 0,2159* 0,1802* 0,1684* 0,1116*
VSM + G1 + G2 + G3 + G4 0,3638 0,2991 0,2959 0,1859
VSM + G1 + G2 + G3 + G5 0,3478 0,2929 0,2731 0,1822
VSM + G1 + G2 + G4 + G5 0,3517 0,3108 0,2853 0,1977
VSM + G1 + G3 + G4 + G5 0,2906 0,2409 0,2041 0,1403
VSM + G2 + G3 + G4 + G5 0,3109 0,2602 0,2491 0,1629
VSM + G1 + G2 + G3 + G4 + G5 0,3464 0,2909 0,2690 0,1790
Tableau 5.2 – Apport de chaque groupe de facteurs de pertinence et de leurs combinaisons
par rapport modèle vectoriel (baseline VSM).
100CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
4.2.3 Comparaison avec les résultats officiels de TREC
Nous avons comparé notre meilleur run résultat (VSM + G1 + G2) avec les résultats
officiels de la tâche Microblog de TREC 2011. Les résultats sont présentés dans
le tableau 4.1. Afin que la comparaison soit équitable, seuls sont présents dans le
tableau les runs officiels automatiques n’utilisant pas de source externe et fonctionnant
en temps réel, c’est à dire n’utilisant pas d’information future. Nous rappelons
que lors de l’évaluation officielle, les tweets doivent être ordonnés par ordre chronologique
inverse. Notre run est coupé à 30 résultats afin d’éviter le biais introduit
par le tri chronologique, assimilable à l’introduction d’un critère indépendant de la
pertinence qui introduit un paramètre aléatoire non souhaitable. Par conséquent,
les résultats du tableau 5.3 diffèrent sur la MAP par rapport au tableau 5.1. À titre
informatif, les résultats sans coupe de notre run sont également présentés dans le
tableau. On note l’effet négatif sur les résultats du tri chronologique des tweets, et
ce sur les deux mesures.
Groupe Run P@30 MAP
isi isiFDL 0,4551 0,1923
FUB DFReeKLIM30 0,4401 0,2348
CLARITY_DCU clarity1 0,4211 0,2139
IRIT VSM + G1 + G2 coupé à 30 0,4014 0,1857
Purdue_IR myrun2 0,3993 0,2003
IRIT VSM + f4 coupé à 1000 0,1272 0,1549
IRIT Run officiel (Damak et al., 2011) 0,2565 0,1940
Tableau 5.3 – Comparaison avec les résultats officiels de TREC 2011
Le run « VSM + G1 +G2 coupé à 30 » nous aurait permis de nous placer à la 4e
position des participants selon la P@30. Ces résultats améliorent notre participation
officielle dont les détails sont donnés dans (Damak et al., 2011). Sur les requêtes de
2012, le run (VSM + f4) nous aurait permis de nous placer à la 36e position des
participants selon la P@30. Ceci s’explique par le fait que les participants de la tâche
de 2012 ont employé d’autres moyens, en particulier l’exploitation des contenus des
URLs et l’expansion de requêtes dans leurs systèmes, dont nous avons montré leurs
intérêts dans le chapitre précédent, ce qui a mis la barre de la pertinence très haute.
101CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
4.2.4 Généralisation des résultats
Les résultats que nous avons obtenus et présentés dans les sections précédentes
sont liés à la performance du modèle vectoriel : ce sont sur les tweets renvoyés par
ce modèle que nous appliquons les facteurs de pertinence. On pourrait donc penser
que le score final d’un tweet dépend fortement du score du modèle vectoriel. Nous
avons donc cherché à généraliser nos résultats précédents, en mettant en place une
méthodologie d’évaluation indépendante du modèle vectoriel. Pour ce faire, nous
avons sélectionné 5000 tweets avec Lucene, desquels nous avons enlevé le score associé.
Ensuite, nous avons ajouté à cet ensemble les tweets pertinents manquants
obtenus à partir des jugements de pertinence officiels (qrels). Comme il semble obligatoire
d’avoir au moins un facteur de pertinence basé sur le contenu de la requête,
la contribution du modèle vectoriel a été remplacée par un score très simple : le
pourcentage de termes de la requête présents dans le tweet (Base). Ce score correspond
au critère f3. Le score final de chaque tweet est ensuite calculé selon la formule
5.16 dans laquelle le score du modèle vectoriel est remplacé par Base. Les résultats
généralisés sur l’apport des facteurs de pertinence un à un sont présentés dans le
tableau 5.4.
Système
édition 2011 édition 2012
P@30 MAP P@30 MAP
Base 0,2184 0,1785 0,1793 0,1001
Base + f1 0,2034 0,1629* 0,1339 0,0762*
Base + f2 0,1531* 0,1155* 0,1741* 0,0909*
Base + f4 0,2449* 0,2019* 0,2316* 0,1298*
Base + f5 0,2565* 0,1876* 0,2126 0,1216*
Base + f6 0,2095 0,1610* 0,1816 0,1065*
Base + f7 0,1150* 0,0687* 0,1103 0,0638*
Base + f8 0,1755* 0,1214* 0,1586* 0,0871*
Base + f9 0,1884* 0,1424* 0,1591 0,0957*
Base + f10 0,1190* 0,0980* 0,1339* 0,0819*
Base + f11 0,2054 0,1481* 0,1638 0,0866*
Base + f12 0,0245* 0,0634* 0,0241 0,0537*
Base + f13 0,2068* 0,1536* 0,1839 0,1030*
Base + f14 0,2367* 0,1790* 0,1764 0,0945*
Tableau 5.4 – Apport des facteurs de pertinence pour le cas général.
Nous constatons une nouvelle fois que seuls les facteurs de pertinence f4 et f5
semblent avoir un intérêt car les autres dégradent les résultats.
102CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
Système
édition 2011 édition 2012
P@30 MAP P@30 MAP
Base 0,2184 0,1785 0,1793 0,1001
Base + G1 0,2150* 0,1578* 0,1776* 0,0965*
Base + G2 0,2646* 0,2002* 0,2213* 0,1209*
Base + G3 0,1370* 0,0886* 0,1386* 0,0679*
Base + G4 0,1544* 0,1081* 0,1322* 0,0787*
Base + G5 0,0558* 0,0736* 0,0667* 0,0609*
Base + G1 + G2 0,2558* 0,1930 0,2195* 0,1286
Base + G1 + G3 0,2007* 0,1229* 0,1643* 0,0870*
Base + G1 + G4 0,2170* 0,1549* 0,1684* 0,0952*
Base + G1 + G5 0,1646* 0,1245* 0,1402* 0,0822*
Base + G2 + G3 0,2413* 0,1635* 0,1936* 0,1099*
Base + G2 + G4 0,2395* 0,1791* 0,1966* 0,1162*
Base + G2 + G5 0,2027* 0,1537* 0,1741* 0,1076*
Base + G3 + G4 0,1471* 0,0912* 0,1421* 0,0693*
Base + G3 + G5 0,1210* 0,0925* 0,1088* 0,0665*
Base + G4 + G5 0,1136* 0,0978* 0,0908* 0,0639*
Base + G1 + G2 + G3 0,2565* 0,1746* 0,2012* 0,1187*
Base + G1 + G2 + G4 0,2544* 0,1888* 0,2063* 0,1249*
Base + G1 + G2 + G5 0,2306* 0,1741* 0,1885* 0,1157*
Base + G1 + G3 + G4 0,1971* 0,1270* 0,1643* 0,0872*
Base + G1 + G3 + G5 0,1732* 0,1194* 0,1427* 0,0823*
Base + G1 + G4 + G5 0,1782* 0,1294* 0,1414* 0,0829*
Base + G2 + G3 + G4 0,2283* 0,1599* 0,1871* 0,1081*
Base + G2 + G3 + G5 0,2355* 0,1487* 0,1649* 0,1032*
Base + G2 + G4 + G5 0,2061* 0,1603* 0,1816* 0,1076*
Base + G3 + G4 + G5 0,1355* 0,0959* 0,1140* 0,0684*
Base + G1 + G2 + G3 + G4 0,2486 0,1737 0,1994 0,1161
Base + G1 + G2 + G3 + G5 0,2449 0,1637 0,1842 0,1094
Base + G1 + G2 + G4 + G5 0,2374 0,1725 0,1845 0,1140
Base + G1 + G3 + G4 + G5 0,1717 0,1200 0,1392 0,0828
Base + G2 + G3 + G4 + G5 0,2167 0,1483 0,1690 0,1026
Base + G1 + G2 + G3 + G4 + G5 0,2391 0,1629 0,1842 0,1085
Tableau 5.5 – Apport des groupes de facteur de pertinence et de leurs combinaisons
pour le cas général.
Si l’on prend maintenant en compte les différents groupes de facteurs de perti-
103CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
nence (tableau 5.5), le meilleur groupe est G2, contenant le facteur f4. Ces résultats
correspondent aux résultats obtenus dans le paragraphe précédent.
4.2.5 Discussion
La conclusion principale de ces expérimentations est que la présence de liens
hypertextes dans les tweets semble être un indicateur de pertinence, en complément
à la pertinence textuelle. Ceci est cohérent avec les résultats du chapitre 4, dans
lequel nous avons montré l’apport important de la prise en compte des URLs dans
la restitution.
De manière générale, les mêmes observations ont été remarquées avec les requêtes
de 2011 et de 2012. En outre, ces observations persistent, que ce soit avec le modèle
vectoriel ou avec Base, ce qui montre qu’elles ne dépendent pas forcément du modèle
vectoriel et qu’elles sont généralisables.
Concernant maintenant le protocole expérimental utilisé, les résultats que nous
avons présentés dans cet article sont basés sur un ensemble de N = 5000 tweets
renvoyés par Lucene. Nous avons fait ce choix dans le but de maximiser le rappel
des tweets pertinents (environ 80 %). Nous avons également mené d’autres expérimentations
avec une valeur plus petite pour N (1500), sans que nos conclusions ne
changent.
D’autre part, nous avons constaté qu’il n’y a pas au moins 30 tweets pertinents
par topic. Par exemple, le système idéal pour les requêtes de 2011, atteindrait une
P@30 de 0,7619. Par ailleurs, la P@30 étant une mesure ensembliste, elle ne tient
pas compte du classement des résultats. Pour ces deux raisons, la MAP, qui est
une mesure sensible au rang, nous semblerait plus appropriée afin de classer les
participations officielles.
Dans la section suivante, nous présentons une étude plus approfondie sur l’apport
des facteurs de pertinence. Nous allons en effet nous baser sur les techniques de sé-
lection d’attributs afin de détecter les groupes de facteurs de pertinence qui reflètent
la pertinence et qui sont susceptibles d’être utiles dans la recherche de microblogs
avec les techniques d’apprentissage.
4.3 Étude avec les techniques de sélection d’attributs
4.3.1 Cadre expérimental
Nous avons utilisé Weka 2 pour ces expérimentations. Weka est un outil opensource
écrit entièrement en Java et qui rassemble la plupart des techniques d’apprentissage
et des techniques de sélection d’attributs.
2. http://www.cs.waikato.ac.nz/ml
104CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
Nous avons procédé ainsi : les premiers 1500 tweets pour chaque topic ont été restitués
avec le modèle vectoriel. Ensuite, les scores de tous les facteurs de pertinence
ont été calculés pour chaque tweet. Nous avons identifié les tweets pertinents et les
tweets non pertinents. L’ensemble obtenu contient 72 614 tweets, répartis en 2 129
tweets pertinents et 70 485 tweets non pertinents. On peut remarquer que les classes
de cet ensemble sont déséquilibrées. Or lorsque le nombre d’éléments d’une classe
dans une collection d’apprentissage dépasse considérablement les autres échantillons
des autres classes, un classifieur tend à prédire les échantillons de la classe majoritaire
et peut ignorer complètement les classes minoritaires (Yen et Lee, 2006). Pour
cette raison, nous avons appliqué une approche de sous-échantillonnage pour générer
une collection équilibrée composé de 2 129 tweets pertinents et 2,129 tweets non pertinents.
Les tweets non pertinents pour cette étude ont été sélectionnés de manière
aléatoire. Finalement, nous avons appliqué les techniques de sélection d’attributs
sur l’ensemble obtenu.
Cette phase a fait ressortir plusieurs ensembles de critères. Ensuite, nous avons
évalué l’efficacité de ces ensembles en les appliquant sur des techniques d’apprentissage
dans un contexte de recherche de microblogs. Nous avons utilisé dans cette
deuxième phase les requêtes de 2011 pour l’apprentissage et les requêtes de 2012
pour l’évaluation.
4.3.2 Résultats de l’étude
Le tableau 5.6 montre les facteurs de pertinence sélectionnés par les techniques
de sélection d’attributs. Les facteurs de pertinence mis en avant par l’étude de la
distribution des scores (section 3.3) correspondent à ceux ressortissant de cette étude
(f1, f2, f3, f4, f5, f6, f13). Ceci confirme l’importance de cet ensemble par rapport au
reste des facteurs. Nous avons également effectué cette étude sans échantillonnage
du corpus. Nous n’avons remarqué aucune différence sur les résultats de l’étude avec
les techniques de sélection d’attributs.
Nous avons trouvé que les mêmes facteurs de pertinence sont mis en avant par
l’étude de la distribution des scores et l’étude avec les techniques de sélection d’attributs.
Ces facteurs de pertinence sont : facteurs de pertinence de contenu (popularité
du tweet, longueur du tweet, correspondance exacte des termes), facteurs de pertinence
d’hypertextualité (présence d’URL, importance d’URLs, fréquence d’URLs)
et facteur de pertinence temporelle (fraîcheur).
D’autres facteurs de pertinence ont été sélectionnés pas les techniques de sélection
d’attributs, quoique moins fréquemment : facteurs de pertinence de l’auteur (nombre
de tweets, nombre de citations) et la qualité du langage. Finalement, les facteurs de
pertinence des hashtags (popularité du hashtag, présence de hashtags) n’ont jamais
été sélectionnés et semblent complètement non pertinents.
105CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
Algorithme VSM f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14
Cfssubseteval + + + + + + + + +
ChisquaredAtt.Eval + + + + + + + + + + + + +
FilteredAtt.Eval + + + + + + + + + + + + +
FilteredSubsetEval + + + + + + + +
Gain ration att eval + + + + + + + + + + + + +
Info gain att eval + + + + + + + + + + + + +
One att eval + + + + + + + + + + + + +
ReliefFAttribute Eval + + + + + + + + + + + + +
SVM Attribute Eval + + + + + + + + + + + +
SymetricalUncertEval + + + + + + + + + + + + +
Consistency subset Eval + + + + + + + + + + + + +
Wrapper subset Eval + + + + +
LatentSymanticAnalysis + + + +
Total 13 12 12 13 12 12 12 0 0 9 8 9 10 11 9
Tableau 5.6 – Critères sélectionnés avec les techniques de sélection d’attributs
4.3.3 Application des résultats de l’étude dans la recherche
Dans cette section, nous évaluons certaines techniques d’apprentissage avec l’ensemble
de facteurs identifiés lors des études précédentes. L’objectif est double : d’une
part, nous cherchons à valider si la sélection d’attributs améliore effectivement les
résultats d’une tâche de recherche de microblogs. D’autre part, nous cherchons à
mesurer la performance de certaines techniques d’apprentissage dans ce type de
classification.
Pour évaluer les techniques d’apprentissage, nous utilisons les résultats des requêtes
de l’édition de 2011 comme collection d’apprentissage et les résultats de
l’édition de 2012 pour les tests. Les modèles appris prédisent la classe de pertinence
pour chaque tweet (pertinent ou non pertinent). Les tweets classés comme non pertinents
sont ainsi supprimés. Les tweets classés comme pertinents sont triés selon
les scores d’efficacité de la classification produit pas la technique d’apprentissage.
Pour évaluer nos runs obtenus, nous nous basons sur la P@30 (la mesure officielle
des tâches de 2011 et 2012).
Nous avons choisi de tester trois techniques d’apprentissage. Ce choix s’explique
par le fait qu’elles sont les plus utilisées pour classer des documents de faible longueur.
Par ailleurs, elles ont souvent montré leur efficacité dans la recherche de
microblogs : SVM (Duan et al., 2010 ; Vosecky et al., 2012), J48 (Yuan et al., 2012)
et Naive Bayes (Yuan et al., 2012).
Hall et Holmes (2003) ont étudié l’efficacité de certaines techniques de sélection
d’attributs en les confrontant avec les techniques d’apprentissage. Étant donné que la
performance des facteurs diffère d’une technique d’apprentissage à une autre, ils ont
106CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
identifié les meilleures techniques de sélection d’attributs permettant de retrouver les
facteurs les plus performants en fonction des techniques d’apprentissage à utiliser.
En se basant sur leur étude, nous avons utilisé les mêmes couples des techniques
d’apprentissage et des techniques de sélection d’attributs :
– Naive Bayes et Wrapper Subset Evaluation (WRP) qui utilise l’algorithme
d’apprentissage ciblé afin d’estimer les meilleurs attributs. Ainsi, les facteurs
sélectionnés dans ce cas sont le score de Lucene, f3, f4, f5 et f6.
– Naive Bayes et Correlation-based feature Selection (CFS) (Lucene, f1, f2, f3,
f4, f5, f6, f12, f13).
– J48 et ReliefFAttribute Eval (RLF) (Lucene, f1, f2, f3, f5, f6, f9, f10, f11, f12,
f13, f14).
– SVM et SVM Attribute Eval qui évaluent les attributs en utilisant le classifieur
SVM (Lucene, f1, f2, f3, f4, f5, f6, f9, f11, f12, f13, f14).
Lucene 0,2842
Distribution de scores Techniques de sélection Tous les critères
J48 0,1627 0,0983 (RLF) 0,1000
Naive Bayes 0,3305
0,3311 (WRP)
0,2372
0,3356 (CFS)
SVM 0,1689 0,1746 (SVM) 0,1729
Tableau 5.7 – Résultats (P@30), les scores en gras indiquent des améliorations significatives
par rapport à la baseline
Le tableau 5.7 montre les résultats des trois techniques d’apprentissage appris
avec les facteurs issus de l’étude de la distribution des scores, les facteurs ressortis
de l’étude avec les techniques de sélection d’attributs et avec tous les facteurs. Les
résultats ont été comparés avec le run nommé Lucene dans lequel seulement les scores
de Lucene ont été utilisés pour trier les tweets et qui représente notre baseline.
4.3.4 Discussion et limites
L’objectif principal de cette étude était d’identifier la meilleure combinaison de
facteurs de pertinence. Les facteurs de pertinence mis en évidence sont les mêmes
que celles de l’étude par la distribution des scores.
Cette étude nous a permis également de vérifier si la sélection des attributs
améliore l’efficacité des techniques d’apprentissage. Les critères identifiés par SVM
attribute Eval, WRP, CFS, et par l’étude de la distribution des scores confirment
l’hypothèse. À part J48 appris avec les critères sélectionnés avec RLF, tous les résultats
ont été améliorés par rapport aux runs créés avec tous les critères. Nous notons
107CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
également que les techniques d’apprentissage, à part J48, ont été plus efficaces avec
les techniques de sélection d’attributs qu’avec les critères ressortis de la distribution
des scores.
Nous avons pu identifier également la meilleure technique d’apprentissage pour
une tâche de recherche de microblogs. Nous pouvons remarquer que seul Naive Bayes
dépasse Lucene (+18 % avec les critères sélectionnés en utilisant CFS et +16 % avec
les critères ressortis de la distribution des scores). Les autres techniques d’apprentissage
n’ont pas réussi à améliorer les résultats.
Nous avons comparé le run obtenu en utilisant Naive Bayes appris avec les critères
obtenus de CFS avec les autres participants de la tâche Microblog de 2011. Nous
avons fait apprendre Naive Bayes avec les critères de CFS et nous avons réalisé une
validation croisée avec les requêtes de 2011. Nous avons obtenu une P@30 moyenne
de 0,3707, ce qui nous aurait classé à la 5e place parmi tous les participants qui
n’ont pas utilisé des informations futures et qui ont soumis des runs automatiques.
Cette précision est réduite de 10 % en utilisant le même modèle sur les requêtes de
l’édition de 2012. En outre, les techniques d’apprentissage telles que J48 et SVM
ont obtenu un gain de 80 % d’efficacité lorsqu’elles sont testées et croisées sur les
requêtes de l’édition de 2011. Cependant, elles n’ont pas fonctionné comme prévu
sur les requêtes de 2012. Toutes ces observations soulèvent la question suivante :
les requêtes et les jugements de pertinence des tâches des deux années ont-ils été
construits de la même manière ?
Dans le but de contrôler ce biais potentiel de la collection, nous avons fusionné les
requêtes de 2011 et 2012 et nous avons répété les mêmes étapes. Nous avons obtenus
une P@30 moyenne de 0,3435. Ce bon résultat confirme que Naive Bayes appris avec
les critères obtenus avec CFS est le plus adapté à la recherche de microblogs.
5 Conclusion
Nous avons évalué dans ce chapitre les facteurs de pertinence souvent utilisés
pour évaluer la pertinence des microblogs vis-à-vis d’un besoin en information. Nous
avons montré expérimentalement ceux qui reflètent la pertinence. Nous avons calculé
les scores des facteurs de pertinence. Ces scores ont été employés dans des
combinaisons linéaires ou avec des techniques d’apprentissages, ou bien pour étudier
leurs distributions dans les tweets pertinents et dans les tweets non pertinents. Les
trois analyses ont montré l’importance des facteurs de pertinence liés aux URLs des
tweets, ce qui complète encore une fois nos conclusions du chapitre précédent. Les
facteurs liés aux hashtags ou à l’importance des auteurs n’ont cependant pas montré
leur intérêt.
L’emploi de certains facteurs de pertinence permet d’améliorer les résultats d’une
108CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
tâche de recherche de microblogs lorsqu’ils sont utilisés afin de réordonner les résultats
fournis par un modèle de RI classique. Cependant ces améliorations demeurent
dépendantes du modèle de RI : les facteurs interviennent pour le classement des
tweets candidats (identifiés au préalable).
Nous notons que le meilleur résultat de toutes les expérimentations de ce chapitre
est obtenu par la combinaison linéaire du score du modèle vectoriel avec les scores
des facteurs de pertinence des groupes G1 et G2, et non pas avec l’apprentissage.
Notre travail présente cependant quelques limites. D’abord, nous n’avons pas
calculé des poids quantifiant les importances des critères de pertinence (même avec
les techniques de sélection d’attributs). Intuitivement, il semblerait que certains
soient plus pertinents que d’autre pour la restitution de microblogs. De même, nous
n’avons aucune idée de la manière dont les critères sont combinés dans les techniques
d’apprentissage (boite noire). Ensuite, nous n’avons pas pu évaluer d’autres
facteurs utilisés dans certaines approches de recherche de microblogs, tels que la
fréquence de retweet, le nombre d’abonnés d’un auteur. Ces facteurs nécessitent des
informations supplémentaires que nous ne possédons pas dans le corpus utilisé pour
nos expérimentations. Un accès ouvert à Twitter semble nécessaire pour obtenir ces
informations et les évaluer, ce qui n’est pas possible.
La recherche d’information dans les microblogs implique la prise en compte automatique
de la fraîcheur dans la pertinence. Ce facteur à été sélectionné 11 fois par
les 13 techniques de sélection d’attributs que nous avons employé dans la section 4.3
(tableau 5.6). Nous traitons plus finement ce facteur dans le chapitre suivant.
109CHAPITRE 5. ANALYSE DES FACTEURS DE PERTINENCE
110Chapitre 6
Prise en compte du temps dans la
recherche de microblogs
1 Introduction
Ounis et al. (2011) ont défini la recherche de microblogs de la façon suivante :
en cherchant dans les microblogs, l’utilisateur cherche à avoir l’information la plus
récente, et pertinente, par rapport à un besoin d’information. Teevan et al. (2011),
quand à eux, ont également montré que l’une des principales motivations des utilisateurs
qui utilisent un moteur de recherche de microblogs concerne l’information
récente. Nous avons, de notre part, montré dans le chapitre précédent que le facteur
temps est souvent sélectionné comme facteur pertinent pour la recherche de
microblogs.
Ces trois constats suggèrent que la fraîcheur est un facteur de pertinence crucial
pour la restitution de microblogs. Dans un premier temps, nous avons intégré la
fraîcheur de deux manières différentes dans le calcul de la pertinence des tweets.
Nous avons (i) renforcé les scores de pertinence des tweets récents par rapport à
la date de soumission de la requête. Ensuite, nous avons (ii) favorisé les termes
qui apparaissent fréquemment au moment de soumission de la requête. Dans un
deuxième temps (iii) nous avons exploité les distributions temporelles des termes
des tweets potentiellement pertinents dans le calcul de la pertinence. L’idée ainsi est
de promouvoir un tweet restitué contenant des termes fréquemment utilisés le jour
de sa publication.
111CHAPITRE 6. PRISE EN COMPTE DU TEMPS DANS LA RECHERCHE DE
MICROBLOGS
2 Emploi de la fraîcheur dans la restitution
des microblogs
Nous prenons en compte à ce niveau le facteur fraîcheur par rapport à la date de
soumission de la requête dans la mesure de la pertinence. Ce facteur peut être pris en
compte de différentes manières. Dans un premier temps, nous proposons d’amplifier
les scores de pertinence du contenu d’un tweet en fonction de sa proximité temporelle
avec la date de la requête. Dans un deuxième temps, nous proposons de favoriser les
termes fréquemment utilisés au moment de la soumission de la requête. Nous avons
choisi d’utiliser la méthode de Kernel Laplace utilisée dans (Lv et Zhai, 2009) pour
amplifier les scores du modèle de restitution 1
en fonction de la fraîcheur du tweet.
La formule de Kernel est :
k(i, j) = 1
2b
exp
−|i − j|
b
!
avec σ2 = 2b
2
(6.1)
Dans notre cas, i et j représentent respectivement les dates en jour de la soumission
de la requête et la date de publication du tweet. le facteur σ est le facteur
qui permet de modifier le degré d’amplification des scores.
2.1 Favoriser des tweets récents
Une façon simple de prendre en compte la fraîcheur d’un tweet est d’amplifier
son score de pertinence de contenu en fonction de sa date de proximité temporelle
avec la requête. L’intuition ici est que certains tweets, même ayant un score de
pertinence de contenu faible, sont pertinents du fait de leur fraîcheur par rapport à
la date de soumission de la requête. En contrepartie, d’autres tweets, même ayant
des scores de pertinence de contenu élevés, ne sont pas pertinents du fait de leur
distance temporelle importante par rapport à la date de la soumission de la requête.
Le score de chaque tweet devient ainsi :
RSV T1(q, d, σ) = RSV (q, d) ∗ kσ(tq, td) (6.2)
avec kσ(tq, td) est le score du facteur de Kernel. Nous avons fait varier la valeur de
σ pour observer l’impact de l’amplification sur les résultats. Le tableau 6.1 montre
l’ensemble des résultats.
1. Les méthodes que nous proposons sont basées sur le modèle BM25 avec K1 = 0, 1 et
b = 0. Nous avons choisi cette configuration car elle a obtenu de meilleurs résultats que le modèle
vectoriel et que le modèle BM25 de base (chapitre 4). Nous n’avons pas employé d’autres facteurs
comme l’expansion de requêtes ou de documents (l’objectif ici est d’étudier uniquement le facteur
temporel). Nous nous sommes basés sur les 60 requêtes de l’édition 2012 de la tâche Microblog de
TREC.
112CHAPITRE 6. PRISE EN COMPTE DU TEMPS DANS LA RECHERCHE DE
MICROBLOGS
σ Rappel P@30 MAP
RSV (q, d) 0,6643 0,3186 0,2170
RSV T1(q, d, 2) 0,2388 0,0432 0,1175
RSV T1(q, d, 14) 0,4849 0,2305 0,1178
RSV T1(q, d, 18) 0,5427 0,2379 0,1362
RSV T1(q, d, 28) 0,5950 0,2729 0,1695
RSV T1(q, d, 32) 0,6082 0,2797 0,1782
RSV T1(q, d, 50) 0,6295 0,2910 0,1938
RSV T1(q, d, 90) 0,6520 0,2960 0,2024
RSV T1(q, d, 230) 0,6597 0,3119 0,2111
RSV T1(q, d, 350) 0,6633 0,3153 0,2155
Tableau 6.1 – Amplification des scores de pertinence de contenu en fonction de leur
fraîcheur
Comme les résultats le montrent, l’amplification des scores du modèle de restitution
n’a pas amélioré les résultats. En faisant augmenter σ, l’effet de l’amplification
diminue, et les résultats se rapprochent des résultats du modèle de recherche de
base.
2.2 Favoriser les termes récents
L’intuition ici est de considérer que les termes les plus représentatifs pour exprimer
un besoin en information dans les microblogs sont des termes fréquemment
utilisés au moment de la soumission de la requête : un document, même ancien par
rapport à la date de soumission de la requête, contenant des termes fréquemment
utilisés au moment de la requête est plus pertinent qu’un document récent, contenant
des termes fréquemment utilisés dans des périodes lointaines par rapport à la
requête. Pour prendre en compte cette intuition, nous avons modifié le facteur IDF
du modèle de restitution (RSV T2(q, d, σ)) :
IDF = log
N − (Ri)temps
(Ri)temps !
(6.3)
(Ri)temps =
X
t
(|Ri
|t ∗ kσ(tq, t)) (6.4)
avec t correspond à une fenêtre temporelle exprimée en jours et |Ri
|t correspond
au nombre de documents dans cette fenêtre temporelle. Le tableau 6.2 présente les
résultats. Nous avons fait varier σ :
113CHAPITRE 6. PRISE EN COMPTE DU TEMPS DANS LA RECHERCHE DE
MICROBLOGS
σ Rappel P@30 MAP
RSV (q, d) 0,6643 0,3186 0,2170
RSV T2(q, d, 2) 0,6640 0,3130 0,2156
RSV T2(q, d, 10) 0,6647 0,3130 0,2159
RSV T2(q, d, 20) 0,6657 0,3136 0,2160
RSV T2(q, d, 30) 0,6657 0,3136 0,2160
RSV T2(q, d, 40) 0,6659 0,3119 0,2157
RSV T2(q, d, 50) 0,6659 0,3085 0,2128
Tableau 6.2 – Amplification des scores des termes en fonction de leur fréquence
d’apparition dans le temps
Encore une fois, la prise en compte de la fraîcheur n’a pas montré une amélioration
significative (à part une légère amélioration de 0,28 % au niveau du rappel).
2.3 Observations
De manière générale, l’emploi de la fraîcheur dans les deux méthodes proposées
n’apporte pas d’amélioration. Afin de vérifier si la fraîcheur a un impact sur les
résultats, nous avons regardé la distribution temporelle des tweets pertinents et des
tweets non pertinents pour l’ensemble des requêtes.
La figure 6.1 montre les ratios des distributions temporelles des tweets pertinents
et non pertinents de chaque requête, ainsi que la distribution générale des tweets sur
l’ensemble des requêtes (nommée somme). Nous nous sommes basés sur les jugements
de pertinence (qrels) pour sélectionner ces tweets. Les courbes présentent le ratio des
quantités de tweets pertinents (bleu/carrés inclinés) et des non pertinents (rouge)
par jour. Nous pouvons remarquer que les distributions diffèrent d’une requête à une
autre. Les tweets pertinents ne sont pas toujours récents par rapport à la date de
la soumission des requêtes. En analysant chaque requête séparément, nous pouvons
affirmer que la prise en compte de la fraîcheur pénalise les résultats de plusieurs
requêtes dont les dates de la plupart des tweets pertinents sont relativement éloignés
de sept jours de la date de soumission des requêtes (ex. MB088, MB089, MB095. . . ).
Par ailleurs, nous remarquons que les tweets pertinents arrivent par rafales. Les
positions de ces rafales sont différentes d’une requête à une autre. Nous avons ainsi
testé une troisième méthode qui, pour le calcul du score d’un tweet, tient compte de
la fréquence des tweets publiés le jour de sa publication. L’objectif est de promouvoir
un tweet s’il est publié dans une période qui correspond à une rafale de tweets. Par
exemple, pour la requête MB065, la plupart des tweets pertinents sont apparus dix
jours avant la date de soumission de la requête. Ainsi, l’idée est de favoriser les
114CHAPITRE 6. PRISE EN COMPTE DU TEMPS DANS LA RECHERCHE DE
MICROBLOGS
tweets publiés dans cette fenêtre temporelle.
115CHAPITRE 6. PRISE EN COMPTE DU TEMPS DANS LA RECHERCHE DE
MICROBLOGS
116CHAPITRE 6. PRISE EN COMPTE DU TEMPS DANS LA RECHERCHE DE
MICROBLOGS
Figure 6.1 – Distribution temporelle des tweets pertinents et non pertinents pour
les requêtes de TREC Microblog 2012. Les rectangles représentent les tweets pertinents
tandis que les losanges représentent les tweets non pertinents.
3 Prise en compte de la fréquence temporelle
Nous prenons en compte à ce niveau les distributions temporelles des résultats.
Nous essayons ainsi de favoriser les résultats qui apparaissent dans les périodes de
rafales. Cette troisième méthode amplifie le score d’un terme dans un tweet publié
à un instant t en fonction de la fréquence d’emploi de ce terme dans cette période t.
Un même terme aura des scores différents en fonction de la date de soumission du
document auquel il appartient. Ce score sera plus important si le terme appartient
à un document publié dans une période de rafale de ce terme, que dans le cas où il
appartient à un document publié dans une période où le terme n’est pas fréquemment
utilisé. De cette manière, nous favorisons les résultats publiés dans des périodes de
rafales.
Pour mettre en application cette intuition, nous avons employé un nouveau facteur
: IDFnew.
IDFnew = IDF ∗ 1/IDFlocal (6.5)
et
IDFlocal = log
N − (Ri)t
(Ri)t
!
(6.6)
avec (Ri)t est le nombre de tweets contenant le terme i le jour de la publication du
tweet. IDFlocal est le IDF d’un terme, mais sur une fenêtre temporelle d’un jour
(est non pas sur toute la collection). Ainsi, un terme va avoir un IDFlocal différent
117CHAPITRE 6. PRISE EN COMPTE DU TEMPS DANS LA RECHERCHE DE
MICROBLOGS
pour chaque jour. Ce facteur est plus important dans un jour où le terme n’est
pas fréquemment utilisé, que dans un jour où il est fréquemment utilisé (supposé
correspondant à un jour de rafale). Pour cette raison, nous employons l’inverse de
ce facteur : 1/IDFlocal. Le modèle qui prend en compte IDFnew dans le modèle de
restitution est nommé RSV T3(q, d).
Rappel P@30 MAP
RSV (q, d) 0,6643 0,3186 0,2170
RSV T3(q, d) 0.6469 0.3198 0.2087
Tableau 6.3 – Prise en compte de la fréquence temporelle.
Le tableau 6.3 montre que cette méthode n’a pas donné d’amélioration significative
sur l’ensemble des requêtes.
Afin de mieux comprendre l’impact de nos méthodes, nous avons analysé les
résultats requête par requête afin de voir si l’effet négatif de nos méthodes apparaît
sur toutes les requêtes ou uniquement sur certaines. L’objectif est de voir si la prise en
compte de la fraîcheur ou du temps dans la restitution permet d’améliorer certaines
requêtes en particulier, et d’identifier des spécificités de ces requêtes.
4 Analyse requête par requête
Dans cette section, nous analysons l’impact de nos trois méthodes, requête par
requête. Nous considérons la mesure MAP, car elle tient compte à la fois du rappel
et de la précision.
Le tableau 6.4 montre les requêtes pour lesquelles nous avons eu des améliorations
avec chacune des trois méthodes. De manière générale, la modification de σ dans
Kernel ne change pas les différentes observations.
La première remarque est que la deuxième approche améliore 51 requêtes parmi
les 60. Cependant, nous n’avons identifié aucune particularité commune, que ce soit
au niveau des distributions temporelles des résultats ou bien de la sémantique des requêtes,
pour les requêtes n’ayant pas obtenu d’amélioration. Nous n’avons également
pas trouvé de spécificités communes pour les requêtes améliorées avec la première
et la dernière méthode. Par exemple, la première méthode a amélioré les requêtes
MB059 « Glen Beck » et MB085 « Best Buy improve sales ». Ces deux requêtes
n’ont aucune sensibilité temporelle. De même, pour la troisième approche, nous notons
des améliorations pour les requêtes MB060 « fishing guidebook », MB064 « red
light cameras », MB102 « school lunches ». . . Ces requêtes n’ont également aucune
sensibilité temporelle.
118CHAPITRE 6. PRISE EN COMPTE DU TEMPS DANS LA RECHERCHE DE
MICROBLOGS
RSV T1(q, d, σ) MB058, MB059, MB063, MB066, MB067, MB071,
MB075, MB079, MB080, MB085, MB091, MB093,
MB107
RSV T2(q, d, σ) MB051, MB052, MB053, MB054, MB056, MB057,
MB059, MB060, MB062, MB063, MB064, MB065,
MB067, MB069, MB070, MB071, MB072, MB073,
MB074, MB075, MB076, MB077, MB078, MB079,
MB080, MB081, MB083, MB084, MB085, MB086,
MB087, MB088, MB089, MB090, MB091, MB092,
MB093, MB094, MB095, MB098, MB099, MB100,
MB101, MB102, MB103, MB105, MB106, MB107,
MB108, MB109, MB110
RSV T3(q, d) MB051, MB054, MB057, MB059, MB066, MB069,
MB070, MB075, MB077, MB079, MB080, MB081,
MB085, MB086, MB088, MB089, MB092, MB093,
MB094, MB095, MB096, MB098, MB100, MB101,
MB102, MB107, MB108, MB109
Tableau 6.4 – Requêtes améliorées sur la mesure MAP pour les 3 méthodes
Ensuite, nous avons identifié manuellement les requêtes sensibles au temps. L’objectif
est de voir si, pour ces requêtes et avec la prise en compte du temps, les ré-
sultats ont été améliorés. Dans le cas contraire, nous essayons de comprendre les
raisons. Ces requêtes correspondent principalement à des événements (par exemple :
« Hu Jintao visit to the United States », « Autralian Open Djokovic vs. Murray »,
« fashion week in NYC ». . . ). Nous avons sélectionné 13 requêtes qui parlent explicitement
d’événements et qui sont clairement sensibles au temps (MB051, MB057,
MB061, MB065, MB067, MB071, MB075, MB079, MB086, MB093, MB096, MB098,
MB106).
L’impact de la prise en compte du temps pour ces requêtes diffère d’une approche
à une autre :
– 8/13 (MB051, MB057, MB061, MB065, MB086, MB096, MB098, MB106)
n’ont pas été améliorées avec la première approche.
– 11/13 (MB051, MB057, MB065, MB067, MB071, MB075, MB079, MB086,
MB093, MB098, MB106) n’ont pas été améliorées avec la deuxième approche.
– 5/13(MB061, MB065, MB067, MB071, MB106) n’ont pas été améliorées avec
la troisième approche.
La première remarque est que la troisième approche est celle qui arrive à amélio-
119CHAPITRE 6. PRISE EN COMPTE DU TEMPS DANS LA RECHERCHE DE
MICROBLOGS
rer le nombre le plus important de requêtes sensibles au temps (8/13). Concernant
les deux premières approches (se basant sur la fraîcheur par rapport à la date de la
soumission de la requête), la cause principale pour laquelle il n’y avait pas d’amé-
lioration consiste en la concentration des tweets pertinents dans des dates lointaines
par rapport à la date de la requête. C’est la cas des requêtes MB057, MB061, MB065,
MB067, MB079, MB086, MB093, MB098 et MB106. Ainsi, la prise en compte de
la fraîcheur n’a pas montré d’intérêt. Concernant les requêtes MB071, MB075 et
MB096, nous pouvons remarquer à partir des courbes de distributions temporelles
que les tweets pertinents sont proches de la date de la soumission de la requête.
Cependant, nous notons que, pour ces requêtes, les courbes des tweets pertinents
sont très similaires aux courbes des tweets non pertinents. Ainsi, le fait de favoriser
les tweets récents va impliquer les tweets pertinents et les tweets non pertinents, ce
qui explique la dégradation des résultats pour elles. Finalement, la requête MB051
se caractérise par l’apparition de la grande partie des tweets pertinents à une date
récente par rapport à la date de la requête, et les distributions des tweets pertinents
et des tweets non pertinents ne sont pas similaires. Nous avons ainsi regardé les
résultats restitués pour cette requête et nous avons remarqué que le modèle de RI
employé n’a pas restitué une grande partie des tweets pertinents apparus récemment
par rapport à la date de la requête. Ceci est du aux problèmes de vocabulaires étudiés
dans le chapitre 3. Par conséquent, la prise en compte de la fraîcheur n’a pas
montré son effet.
Concernant la troisième approche (qui prend en compte des distributions temporelles
des résultats), nous avons étudié les résultats des requêtes pour lesquelles
il n’y avait pas eu d’amélioration. Nous avons trouvé que le modèle de restitution
de base (sans l’intégration de la fraîcheur) a restitué tous les tweets pertinents apparus
dans les périodes de rafales. Par conséquent, la prise en compte du temps a
favorisé uniquement la restitution des tweets non pertinents, pour ces périodes, ce
qui a engendré une dégradation des résultats.
5 Conclusion
Nous avons étudié l’impact de la prise en compte du temps dans la recherche de
microblogs. Nous avons proposé trois méthodes qui prennent en compte le temps de
façons différentes. De manière générale, nous avons trouvé que la fraîcheur n’est pas
un facteur de pertinence. Ce constat vient à l’encontre la définition de la tâche de
recherche de microblogs dans TREC et aussi de l’état de l’art. Dans la collection utilisée
pour nos expérimentations, la date de la soumission des requêtes correspond à la
date de publication du tweet pertinent le plus récent. Cependant, nous avons trouvé,
que pour plusieurs requêtes, la majorité des tweets pertinents sont publiés sept jours
120CHAPITRE 6. PRISE EN COMPTE DU TEMPS DANS LA RECHERCHE DE
MICROBLOGS
avant la date de soumission de la requête. Nous avons également proposé une mé-
thode qui se focalise sur les fenêtres de concentration temporelle des termes des
requêtes dans la restitution. Cette approche n’a également pas montré d’amélioration
significative. Toutefois, c’est la seule approche qui a obtenu une P@30 meilleure
que celle du modèle BM25. Des études plus approfondies sur ce point doivent être
réalisées. De plus, nous avons regardé les résultats de chaque requête avec chacune
des trois approches. Nous avons trouvé que chaque approche améliore les résultats
de certaines requêtes et dégrade les résultats d’autres. Cependant, nous n’avons pas
trouvé de spécificités communes pour les requêtes ayant obtenu des améliorations,
ni pour celles qui ont subi des dégradations. Finalement, nous avons identifié manuellement
les requêtes sensibles au temps. Nous avons trouvé que c’est la troisième
approche qui a amélioré la plus grande partie de ces requêtes. Ces résultats nous
encouragent à prendre en compte le temps dans la restitution, en particulier avec
les requêtes sensibles au temps. Il reste maintenant à savoir comment les identifier.
121CHAPITRE 6. PRISE EN COMPTE DU TEMPS DANS LA RECHERCHE DE
MICROBLOGS
122Chapitre 7
Conclusion générale
Synthèse
Nous nous sommes intéressés dans ces travaux à la RI adhoc dans les microblogs.
L’objectif est de retrouver les microblogs répondant à un besoin d’information
spécifié par un utilisateur. Pour réaliser nos expérimentations, nous nous sommes
basés sur le corpus fourni par la campagne d’évaluation internationale TREC (Text
Retrieval Conference) dans la tâche Microblog des éditions de 2011 et 2012. Nos différentes
contributions ont également fait l’objet de participations aux trois tâches de
Microblogs de TREC (2011, 2012 et 2013). Nos contributions se situent à plusieurs
niveaux :
– Afin de déterminer exactement les facteurs limitant les performances des modèles
classiques de RI dans un corpus de microblogs, nous avons mené une analyse
de défaillance d’un modèle de recherche usuel. Nous avons sélectionné les
microblogs pertinents mais non retrouvés par le modèle de recherche. Ensuite,
nous avons identifié les facteurs empêchant leur restitution. Nous avons trouvé
que le problème principal vient de la concision des microblogs. Cette
concision engendre une correspondance limitée entre les termes des microblogs
et les termes des requêtes, même s’ils sont sémantiquement semblables. Toutefois,
ce facteur est apparu sous différentes formes : absence totale des
termes de certaines requêtes dans les documents pertinents, caractère
non discriminant des termes de requêtes. . . Nous avons également
identifié des problèmes de lemmatisation : termes non appariés quoique
dérivant d’une même racine, ou des termes concaténés sous formes
de hashtags ou de citations. Outre le problème de vocabulaire, nous avons
remarqué que, pour plusieurs requêtes, certains termes n’ont pas un caractère
discriminant. Par conséquent, ces termes n’aident pas à sélectionner
les résultats pertinents.
– Afin de compenser l’impact de la concision des microblogs, nous avons pro-
123CHAPITRE 7. CONCLUSION GÉNÉRALE
posé et testé plusieurs solutions. Nous avons proposé d’étendre les requêtes
(i) en exploitant des ressources de type actualités, (ii) en utilisant la base
lexicale WordNet, (iii) en appliquant des techniques de réinjection de pertinence
de l’état de l’art. Ces techniques ont souvent prouvé leur efficacité :
Rocchio pour identifier les termes susceptibles de ramener la pertinence ainsi
que pour la pondération des termes de la nouvelle requête, et le mécanisme
naturel d’extension de requêtes du modèle BM25. Dans Rocchio, nous avons
testé différentes méthodes de calcul de poids de termes d’expansion. Nous
avons enfin étendu les microblogs grâce aux liens (URLs) qu’ils contiennent.
Nos expérimentations ont montré que l’emploi des URLs et l’expansion
de requêtes a partir du feedback sont primordiales pour la RI dans
les microblogs. L’expansion de requêtes avec les articles d’actualité améliore
uniquement la précision. La plupart de ces expérimentations (expansion de
requêtes et de microblogs) ont été réalisées en se basant sur le modèle vectoriel
et sur le modèle probabiliste comme modèle de restitution. Ceci nous a
permis de comparer les comportements des deux modèles sur les microblogs
et avec les deux types d’expansion. De manière générale, nous avons trouvé
que le modèle vectoriel est plus performant que modèle probabiliste
au niveau de la sélection des microblogs pertinents (meilleur rappel).
Cependant, le modèle probabiliste met davantage en valeur les microblogs
pertinents restitués par rapport à tous les microblogs restitués
(meilleure précision).
– Un deuxième volet de notre travail concerne l’étude des facteurs de pertinence
utilisés pour identifier les microblogs pertinents. Nous avons repris les facteurs
souvent utilisés dans l’état de l’art (facteurs liés au contenu, facteurs liés aux
auteurs, facteurs liés aux URLs, facteurs liés aux hashtags et facteurs liés à la
qualité des tweets) et nous les avons évalués. Nous avons réalisé cette analyse
selon trois axes. Dans le premier axe, nous avons étudié le comportement des
facteurs de pertinence dans les documents pertinents et les avons comparés à
leur comportement dans les documents non pertinents. Dans le deuxième axe,
nous avons analysé l’impact de la combinaison des scores des facteurs avec le
score de pertinence du contenu, calculé avec un modèle de RI usuel. Dans le
troisième axe, nous avons utilisé des techniques d’apprentissage ainsi que des
algorithmes de sélection d’attributs qui peuvent être utiles en entrée de ces
techniques d’apprentissages. De manière générale, nous avons montré que les
facteurs liés aux URLs publiées dans les tweets sont les plus discriminants.
Les facteurs liés aux auteurs ou aux hashtags ne reflètent
pas la pertinence. Nous avons également comparé différentes techniques
d’apprentissage souvent utilisées dans l’état de l’art pour la recherche de microblogs.
Nous avons trouvé que Naive Bayes est le plus adapté pour ce
124CHAPITRE 7. CONCLUSION GÉNÉRALE
type de recherche et ceci en considérant les meilleurs critères de pertinence
identifiés.
– Afin de prendre en compte l’aspect temporel dans la restitution des microblogs
pertinents vis-à-vis d’un besoin en information, nous avons proposé trois
méthodes qui intègrent le temps dans le calcul de la pertinence. Cette inté-
gration du temps n’a cependant pas montré son intérêt dans nos méthodes.
Une analyse plus poussée, requête par requête, nous a permis de voir que la
fraîcheur ne représente en effet pas un facteur de pertinence pour la restitution
de microblogs.
Limites et perspectives
Nous commençons par présenter nos perspectives à court terme pour arriver à
celles à long terme :
– Dans un premier temps, nous aimerions compléter le traitement des différentes
formes du problème de vocabulaire soulignées dans le chapitre 3. Nous avons
trouvé que, dans plusieurs cas, les tweets pertinents contiennent les termes
des requêtes concaténés sous forme de hashtags. Nous avons testé une mé-
thode pour décomposer ces hashtags. Cette méthode se basait sur les lettres
majuscules pour identifier le début de chaque terme composant. Cependant,
elle ne nous a pas permis d’améliorer les résultats. Une solution à ce problème
consiste à employer l’algorithme de segmentation proposé dans le livre « Beautiful
Data » (Segaran et Hammerbacher, 2009), permettant de décomposer les
termes concaténés. La même approche peut être employée également pour ré-
soudre les problèmes reliés aux lemmatiseurs : termes non appariés dérivant
d’une même racine.
– Dans le chapitre 5, nous n’avons pas pu évaluer certains facteurs de pertinence
tels que le nombre de fois un tweet a été retweeté ou le nombre de fois il a
été favori. Nous n’avons pas ces informations dans la collection d’évaluation
utilisée. La solution ainsi consiste à créer une nouvelle collection contenant
toutes les informations requises.
– Considérer la fraîcheur dans la restitution des microblogs n’a pas montré un
intérêt. Toutefois, nous avons trouvé que, dans la plupart des cas, les tweets
arrivent par rafales. L’idée ainsi est de trouver un moyen pour identifier les
fenêtres temporelles correspondant aux rafales de tweets au préalable et les
utiliser comme feedback ou comme source d’expansion de requêtes.
– La grande majorité des travaux réalisés sur les microblogs, et en particulier nos
travaux, emploient Twitter comme cadre applicatif. Notre objectif est d’étudier
ainsi si nos résultats et nos observations sont valables également sur les autres
125CHAPITRE 7. CONCLUSION GÉNÉRALE
plate-formes de microblogging telles que Blipper et Tumblr.
– La tâche de recherche de microblogs consiste à restituer des microblogs pertinents
vis-à-vis d’un besoin en information. Nous avons trouvé, regardant les
résultats des qrels de la tâche Microblog de TREC, que plusieurs tweets pertinents
ont exactement le même contenu et ramènent les mêmes informations.
Dans le cas idéal, un utilisateur devra ainsi consulter tous les tweets pertinents
(parfois des centaines) pour s’assurer d’avoir vu tous les aspects d’une
requêtes. Pour simplifier la tâche, créer un synthétiseur de résultats permettant
d’une part d’éliminer les informations qui se répètent, et d’autre part de
représenter les résultats d’une manière plus lisible.
– Une des principales caractéristiques des plate-formes de microblogging est leur
aspect social. Les utilisateurs ne produisent pas uniquement du contenu informatif,
mais ils peuvent s’impliquer dans des conversations avec d’autres utilisateurs,
en commentant, aimant et partageant leurs publications. Ainsi, il est
important dans ce cas de pouvoir restituer tout le contexte d’un tweet. Une
méthode de présenter le contexte est d’extraire la conversation à laquelle un
tweet appartient. L’identification des critères permettant d’extraire des conversations
à partir des microblogs représente un vrai défi. Les microbloggeurs discutent
entre eux sans utiliser forcément les moyens explicites de conversations
donnés par les plate-formes (retweet, hashtag, citation, réponse. . . ).
– Finalement, agréger des informations de différentes sources (Web, images, wiki,
actualités. . . ) pour répondre aux besoins en information, a montré son intérêt
(Kopliku et al., 2011). Cette technique permet de présenter à l’utilisateur des
résultats variés et complémentaires. Considérer les microblogs (information
fraîche) en plus des sources employées dans (Kopliku et al., 2011) semble très
utiles, étant donné l’importance des microblogs aujourd’hui, en particulier, en
tant que source d’information. L’objectif ainsi est d’étudier l’apport de la prise
en compte des microblogs en complément des autres sources d’information du
Web, pour répondre aux besoins en informations.
Références
Aboulnaga, Y., et Clarke, C. L. (2012). Frequent Itemset Mining for Query Expansion
in Microblog Ad-hoc Search. In TREC’12 : 21th Text Retrieval Conference.
National Institute of Standards and Technology (NIST).
Attardi, G., et Simi, M. (2006). Blog mining through opinionated words. In
E. M. Voorhees et L. P. Buckland (Eds.), Trec (Vol. Special Publication 500-
272). National Institute of Standards and Technology (NIST).
Baccianella, A. E. S., et Sebastiani, F. (2010). Sentiwordnet 3.0 : An enhanced lexical
126CHAPITRE 7. CONCLUSION GÉNÉRALE
resource for sentiment analysis and opinion mining. In Proceedings of the seventh
conference on international language resources and evaluation (lrec’10).
Valletta, Malta : European Language Resources Association (ELRA).
Baeza-Yates, R. A., et Ribeiro-Neto, B. (1999). Modern information retrieval.
Boston, MA, USA : Addison-Wesley Longman Publishing Co., Inc.
Bai, J., Nie, J.-Y., Cao, G., et Bouchard, H. (2007). Using query contexts in
information retrieval. In Proceedings of the 30th annual international acm
sigir conference on research and development in information retrieval (pp.
15–22). New York, NY, USA : ACM.
Bamman, D., Eisenstein, J., et Schnoebelen, T. (2012). Gender in twitter : Styles,
stances, and social networks. CoRR, abs/1210.4567 .
Bao, S., Xue, G., Wu, X., Yu, Y., Fei, B., et Su, Z. (2007). Optimizing web search
using social annotations. In Proceedings of the 16th international conference
on world wide web (pp. 501–510). New York, NY, USA : ACM.
Belkin, N. J., et Croft, W. B. (1992). Information filtering and information retrieval :
Two sides of the same coin ? Commun. ACM, 35 (12), 29–38.
Ben Jabeur, L., Damak, F., Tamine, L., Cabanac, G., Pinel-Sauvagnat, K., et Boughanem,
M. (2013). IRIT at TREC Microblog Track 2013. In E. M. Voorhees
et (Eds.), Text REtrieval Conference (TREC), Gaithersburg, USA,. National
Institute of Standards and Technology (NIST).
Ben Jabeur, L., Damak, F., Tamine, L., Pinel-Sauvagnat, K., Cabanac, G., et
Boughanem, M. (2012). IRIT at TREC Microblog 2012 : Adhoc Task. In
E. M. Voorhees et L. P. Buckland (Eds.), Text REtrieval Conference (TREC),
Gaithersburg, USA,. National Institute of Standards and Technology (NIST).
Ben Jabeur, L., Tamine, L., et Boughanem, M. (2011). Un modèle de recherche
d’information sociale dans les microblogs : cas de twitter. In Conférence sur les
modèles et l’analyse des réseaux : Approches mathématiques et informatique.
Ben Jabeur, L., Tamine, L., et Boughanem, M. (2012). Active microbloggers :
Identifying influencers, leaders and discussers in microblogging networks. In
L. Calderón-Benavides, C. González-Caro, E. Chávez, et N. Ziviani (Eds.),
String processing and information retrieval (Vol. 7608, p. 111-117). Springer
Berlin Heidelberg.
Bernstein, M., Suh, B., Hong, L., Chen, J., Kairam, S., et Chi, E. (2010). Eddi :
interactive topic-based browsing of social status streams. In Acm symposium
on user interface software and technology (p. 303-312). New York, NY : ACM.
Blei, D. M., Ng, A. Y., et Jordan, M. I. (2003). Latent dirichlet allocation. J. Mach.
Learn. Res., 3 , 993–1022.
Bollen, J., Pepe, A., et Mao, H. (2009). Modeling public mood and emotion : Twitter
sentiment and socio-economic phenomena. CoRR, abs/0911.1583 .
Brin, S., et Page, L. (1998). The anatomy of a large-scale hypertextual web search
127CHAPITRE 7. CONCLUSION GÉNÉRALE
engine. Comput. Netw. ISDN Syst., 30 , 107–117.
Buckley, C., et Voorhees, E. M. (2000). Evaluating evaluation measure stability.
In Proceedings of the 23rd annual international conference on research and
development in information retrieval (pp. 33–40). New York, NY, USA : ACM
SIGIR.
Cai, Y., et Li, Q. (2010). Personalized search by tag-based user profile and resource
profile in collaborative tagging systems. In Proceedings of the 19th acm international
conference on information and knowledge management (pp. 969–978).
New York, NY, USA : ACM.
Cappelletti, R., et Sastry, N. (2012). Iarank : Ranking users on twitter in near realtime,
based on their information amplification potential. In Proceedings of the
2012 international conference on social informatics (pp. 70–77). Washington,
DC, USA : IEEE Computer Society.
Carmel, D., Zwerdling, N., Guy, I., Ofek-Koifman, S., Har’el, N., Ronen, I., et al.
(2009). Personalized social search based on the user’s social network. In Proceedings
of the 18th acm conference on information and knowledge management
(pp. 1227–1236). New York, NY, USA : ACM.
Carpineto, C., Mori, R. de, Romano, G., et Bigi, B. (2001). An information-theoretic
approach to automatic query expansion. ACM Trans. Inf. Syst., 19 (1), 1–27.
Che Alhadi, A., Gottron, T., Kunegis, J., et Naveed, N. (2011). Livetweet : Microblog
retrieval based on interestingness and an adaptation of the vector space model.
In Proc. text retrieval conference (TREC).
Cheng, F., Zhang, X., He, B., Luo, T., et Wang, W. (2013). A survey of learning
to rank for real-time twitter search. In Proceedings of the 2012 international
conference on pervasive computing and the networked world (pp. 150–164).
Berlin, Heidelberg : Springer-Verlag.
Choi, J., et Croft, W. B. (2012). Temporal models for microblogs. In Proceedings
of the 21st acm international conference on information and knowledge
management (pp. 2491–2494). New York, NY, USA : ACM.
Cleverdon, C. W., Mills, J., et Keen, M. (1966). Factors determining the performance
of indexing systems.
Cohen, D., Amitay, E., et Carmel, D. (2007). Lucene and juru at trec 2007 : 1-million
queries track. In TREC’07 : 7th Text Retrieval Conference (pp. -1–1).
Damak, F. (2013). Recherche d’information dans les microblogs : que manque-til
aux approches classiques ? In Rencontres Jeunes Chercheurs en Recherche
d’Information (RJCRI), Neuchâtel, 03/04/2013-05/04/2013 (pp. 475–480).
Association Francophone de Recherche d’Information et Applications (ARIA).
Damak, F., Jabeur, L. B., Cabanac, G., Pinel-Sauvagnat, K., Lechani, L., et Boughanem,
M. (2011). IRIT at TREC Microblog 2011. In E. M. Voorhees
et (Eds.), Text REtrieval Conference (TREC), Gaithersburg, USA,. National
128CHAPITRE 7. CONCLUSION GÉNÉRALE
Institute of Standards and Technology (NIST).
Damak, F., Pinel-Sauvagnat, K., et Cabanac, G. (2012). Recherche de microblogs :
quels critères pour raffiner les résultats des moteurs usuels de RI ? In Confé-
rence francophone en Recherche d’Information et Applications (CORIA), Bordeaux,
France, 21/03/2012-23/03/2012 (pp. 317–328). LABRI.
Damak, F., Pinel-Sauvagnat, K., Cabanac, G., et Boughanem, M. (2013). Effectiveness
of State-of-the-art Features for Microblog Search. In SAC’13 : ACM
Symposium on Applied Computing. ACM.
Diakopoulos, N. A., et Shamma, D. A. (2010). Characterizing debate performance
via aggregated twitter sentiment. In Proceedings of the sigchi conference on
human factors in computing systems (pp. 1195–1198). New York, NY, USA :
ACM.
Dong, A., Chang, Y., Zheng, Z., Mishne, G., Bai, J., Zhang, R., et al. (2010). Towards
recency ranking in web search. In Proceedings of the third acm international
conference on web search and data mining (pp. 11–20). New York, NY, USA :
ACM.
Dong, A., Zhang, R., Kolari, P., Bai, J., Diaz, F., Chang, Y., et al. (2010). Time is
of the essence : improving recency ranking using twitter data. In In www.
Duan, Y., Jiang, L., Qin, T., Zhou, M., et Shum, H.-Y. (2010). An empirical study on
learning to rank of tweets. In Proceedings of the 23rd international conference
on computational linguistics (pp. 295–303).
Efron, M. (2010). Hashtag retrieval in a microblogging environment. In Proceedings
of the 33rd international acm sigir conference on research and development in
information retrieval (pp. 787–788). New York, NY, USA : ACM.
Efron, M. (2011a). Information search and retrieval in microblogs. In (Vol. 62, pp.
996–1008). New York, NY, USA : John Wiley & Sons, Inc.
Efron, M. (2011b). The university of illinois graduate school of library and information
science at TREC 2011. In TREC’11 : 20th Text Retrieval Conference.
National Institute of Standards and Technology (NIST).
Efron, M., et Golovchinsky, G. (2011). Estimation methods for ranking recent
information. In Proceedings of the 34th international acm sigir conference on
research and development in information retrieval (pp. 495–504). New York,
NY, USA : ACM.
Efron, M., Organisciak, P., et Fenlon, K. (2012). Improving retrieval of short texts
through document expansion. In Proceedings of the 35th international acm
sigir conference on research and development in information retrieval (pp.
911–920). New York, NY, USA : ACM.
Endarnoto, S., Pradipta, S., Nugroho, A., et Purnama, J. (2011). Traffic condition
information extraction amp ; visualization from social media twitter for
android mobile application. In Electrical engineering and informatics (iceei),
129CHAPITRE 7. CONCLUSION GÉNÉRALE
2011 international conference on (p. 1-4).
Feng, W., et Wang, J. (2013). Retweet or not ? : Personalized tweet re-ranking. In
Proceedings of the sixth acm international conference on web search and data
mining (pp. 577–586). New York, NY, USA : ACM.
Ferguson, P., O’Hare, N., Lanagan, J., Phelan, O., et McCarthy, K. (2012). An
investigation of term weighting approaches for microblog retrieval. In Proceedings
of the 34th european conference on advances in information retrieval
(pp. 552–555). Berlin, Heidelberg : Springer-Verlag.
Frank, J. R., Bauer, S. J., Kleiman-Weiner, M., Roberts, D. A., Tripuraneni, N.,
Zhang, C., et al. (2013). Evaluating stream filtering for entity profile updates
for trec 2013. In TREC’13 : 22th Text Retrieval Conference.
Frank, J. R., Kleiman-Weiner, M., Roberts, D. A., Niu, F., Zhang, C., Re, C., et al.
(2012). Building an Entity-Centric stream filtering test collection for TREC
2012. In Proc. of trec. National Institute of Standards and Technology (NIST).
Furnas, G. W., Deerwester, S., Dumais, S. T., Landauer, T. K., Harshman, R. A.,
Streeter, L. A., et al. (1988). Information retrieval using a singular value
decomposition model of latent semantic structure. In Proceedings of the 11th
annual international acm sigir conference on research and development in information
retrieval (pp. 465–480). New York, NY, USA : ACM.
Furnas, G. W., Landauer, T. K., Gomez, L. M., et Dumais, S. T. (1987). The vocabulary
problem in human-system communication. Commun. ACM, 30 (11),
964–971.
Gudivada, V., Raghavan, V., Grosky, W. I., et Kasanagottu, R. (1997). Information
retrieval on the world wide web. Internet Computing, IEEE, 1 (5), 58-68.
Hall, M. A., et Holmes, G. (2003). Benchmarking attribute selection techniques
for discrete class data mining. IEEE Trans. on Knowl. and Data Eng., 15 (6),
1437–1447.
Han, B., et Baldwin, T. (2011). Lexical normalisation of short text messages : Makn
sens a #twitter. In Proceedings of the 49th annual meeting of the association
for computational linguistics : Human language technologies - volume 1 (pp.
368–378). Stroudsburg, PA, USA : Association for Computational Linguistics.
Hatzivassiloglou, V., et McKeown, K. R. (1997). Predicting the semantic orientation
of adjectives. In Proceedings of the 35th annual meeting of the association
for computational linguistics and eighth conference of the european chapter of
the association for computational linguistics (pp. 174–181). Stroudsburg, PA,
USA : Association for Computational Linguistics.
Jabeur, L., Tamine, L., et Boughanem, M. (2012). Featured tweet search : Modeling
time and social influence for microblog retrieval. In IEEE/WIC/ACM International
Conference on Web Intelligence, Macau, China (pp. 166–173). IEEE
Computer Society - Conference Publishing Services.
130CHAPITRE 7. CONCLUSION GÉNÉRALE
Jansen, B. J., Zhang, M., Sobel, K., et Chowdury, A. (2009a). Micro-blogging
as online word of mouth branding. In Chi ’09 extended abstracts on human
factors in computing systems (pp. 3859–3864). New York, NY, USA : ACM.
Jansen, B. J., Zhang, M., Sobel, K., et Chowdury, A. (2009b). Twitter power :
Tweets as electronic word of mouth. J. Am. Soc. Inf. Sci. Technol., 60 (11),
2169–2188.
Java, A., Song, X., Finin, T., et Tseng, B. (2007). Why we twitter : understanding
microblogging usage and communities. In WebKDD’07 : Proceedings of the
9th webkdd and 1st sna-kdd 2007 workshop on web mining and social network
analysis (pp. 56–65).
Joachims, T. (2005). A support vector method for multivariate performance measures.
In Proceedings of the 22nd international conference on machine learning
(pp. 377–384). New York, NY, USA : ACM.
Jones, K. S., et Rijsbergen, C. van. (1976). Information retrieval test collections
(Rapport technique).
Karamuftuoglu, M. (1998). Collaborative information retrieval : toward a social
informatics view of ir interaction. J. Am. Soc. Inf. Sci., 49 (12), 1070–1080.
Kazai, G., et Milic-Frayling, N. (2008). Trust, authority and popularity in social
information retrieval. In Proceedings of the 17th ACM conference on information
and knowledge management (pp. 1503–1504). New York, NY, USA :
ACM.
Klas, C.-P., et Fuhr, N. (2000). A new effective approach for categorizing Web
documents. In Proceedings of the 22th bcs-irsg colloquium on ir research.
Koolen, M., Kazai, G., et Craswell, N. (2009). Wikipedia pages as entry points for
book search. In In proceedings of the second acm international conference on
web search and data mining (wsdm 2009). ACM Press.
Kopliku, A., Damak, F., Pinel-Sauvagnat, K., et Boughanem, M. (2011). Interest
and Evaluation of Aggregated Search. In IEEE/WIC/ACM International
Conference on Web Intelligence, Lyon. ACM.
Korfiatis, N., Poulos, M., et Bokos, G. (2006). Evaluating authoritative sources
using social networks : an insight from wikipedia. Online Information Review,
30 (3), 252-262.
Kumar, N., et Carterette, B. (2013). Time based feedback and query expansion for
twitter search. In Proceedings of the 35th european conference on advances in
information retrieval (pp. 734–737). Berlin, Heidelberg : Springer-Verlag.
Kwak, H., Lee, C., Park, H., et Moon, S. (2010). What is twitter, a social network
or a news media ? In Proceedings of the 19th international conference on world
wide web (pp. 591–600). New York, NY, USA : ACM.
Lampos, V., et Cristianini, N. (2010). Tracking the flu pandemic by monitoring the
social web. In Cognitive information processing (cip), 2010 2nd international
131CHAPITRE 7. CONCLUSION GÉNÉRALE
workshop on (p. 411-416).
Lee, C., Kwak, H., Park, H., et Moon, S. (2010). Finding influentials based on the
temporal order of information adoption in twitter. In Www’10 : Proceedings
of the 19th international conference on world wide web (pp. 1137–1138). New
York, NY, USA : ACM.
Li, R., Lei, K. H., Khadiwala, R., et Chang, K.-C. (2012). Tedas : A twitter-based
event detection and analysis system. In Data engineering (icde), 2012 ieee
28th international conference on (p. 1273-1276).
Li, Y., Luk, W. P. R., Ho, K. S. E., et Chung, F. L. K. (2007). Improving weak ad-hoc
queries using wikipedia asexternal corpus. In Proceedings of the 30th annual
international acm sigir conference on research and development in information
retrieval (pp. 797–798). New York, NY, USA : ACM.
Lin, Y., Li, Y., Xu, W., et Guo, J. (2012). Microblog retrieval based on term
similarity graph. In Computer science and network technology (iccsnt), 2012
2nd international conference on (p. 1322-1325).
Lv, Y., et Zhai, C. (2009). Positional language models for information retrieval.
In Proceedings of the 32nd international acm sigir conference on research and
development in information retrieval (pp. 299–306). New York, NY, USA :
ACM.
Macdonald, C., et Ounis, I. (2006). Voting for candidates : Adapting data fusion
techniques for an expert search task. In Proceedings of the 15th acm international
conference on information and knowledge management (pp. 387–396).
New York, NY, USA : ACM.
Magnani, M., Montesi, D., et Rossi, L. (2012). Conversation retrieval for microblogging
sites. Inf. Retr., 15 (3-4), 354-372.
Mandl, T. (2007). Recent developments in the evaluation of information retrieval
systems : Moving towards diversity and practical relevance.
Manning, C. D., Raghavan, P., et Schütze, H. (2008). Introduction to information
retrieval. New York, NY, USA : Cambridge University Press.
Massoudi, K., Tsagkias, E., Rijke, M. de, et Weerkamp, W. (2011). Incorporating
query expansion and quality indicators in searching microblog posts. In
Ecir 2011 : 33rd european conference on information retrieval (pp. 362–367).
Dublin : Springer.
Mayfield, J., et McNamee, P. (2003). Single n-gram stemming. In Proceedings of
the 26th annual international ACM SIGIR conference on research and development
in informaion retrieval (pp. 415–416). New York, NY, USA : ACM.
McCreadie, R., et Macdonald, C. (2013). Relevance in microblogs : Enhancing tweet
retrieval using hyperlinked documents. In Proceedings of the 10th conference
on open research areas in information retrieval (pp. 189–196). Paris, France,
France : Le centre de hautes études internationales d’informatique documen-
132CHAPITRE 7. CONCLUSION GÉNÉRALE
taire.
Metzler, D., et Cai, C. (2011). USC/ISI at TREC 2011 : Microblog Track (Notebook
Version). In TREC’11 : 20th Text Retrieval Conference. National Institute of
Standards and Technology (NIST).
Missen, M. M. S., Boughanem, M., et Cabanac, G. (2009, juin). Challenges for
Sentence Level Opinion Detection in Blogs (regular paper). In International
Conference on Computer and Information Science (ICIS), Shanghai, China,
01/06/2009-03/06/2009 (pp. 347–351). IEEE Computer Society.
Miyanishi, T., Seki, K., et Uehara, K. (2013). Combining recency and topicdependent
temporal variation for microblog search. In Ecir (p. 331-343).
Nagmoti, R., Teredesai, A., et De Cock, M. (2010). Ranking approaches for microblog
search. In Proceedings of the 2010 ieee/wic/acm international conference
on web intelligence and intelligent agent technology (pp. 153–157). Washington,
USA : IEEE Computer Society.
O’Connor, B., Balasubramanyan, R., Routledge, B. R., et Smith, N. A. (2010).
From tweets to polls : Linking text sentiment to public opinion time series. In
Icwsm.
Okazaki, M., et Matsuo, Y. (2010). Semantic twitter : analyzing tweets for real-time
event notification. In Proceedings of the 2008/2009 international conference on
social software : recent trends and developments in social software (pp. 63–74).
Berlin, Heidelberg : Springer-Verlag.
Ounis, I., Lin, J., et Soboroff, I. (2011). Overview of the TREC-2011 Microblog
Track. In TREC’11 : 20th Text Retrieval Conference.
Ounis, I., Lin, J., et Soboroff, I. (2012). Overview of the TREC-2012 Microblog
Track. In TREC’12 : 21th Text Retrieval Conference.
Pang, B., et Lee, L. (2008). Opinion mining and sentiment analysis. Found. Trends
Inf. Retr., 2 (1-2), 1–135.
Peters, I., Kipp, M. E. I., Heck, T., Gwizdka, J., Lu, K., Neal, D. R., et al. (2011).
Social tagging & folksonomies : Indexing, retrievingâĂę and beyond ? Proceedings
of the American Society for Information Science and Technology, 48 (1),
1–4.
Phelan, O., McCarthy, K., et Smyth, B. (2009). Using twitter to recommend realtime
topical news. In Recsys’09 : Proceedings of the third acm conference on
recommender systems (pp. 385–388). New York, NY, USA : ACM.
Porter, M. (1980). An algorithm for suffix stripping. Program, 14 (3), 130-137.
Ramage, D., Dumais, S. T., et Liebling, D. J. (2010). Characterizing microblogs
with topic models. In ICWSM’10 (pp. -1–1).
Ravikumar, S., Balakrishnan, R., et Kambhampati, S. (2012). Ranking tweets considering
trust and relevance. In Proceedings of the ninth international workshop
on information integration on the web (pp. 4 :1–4 :4). New York, NY, USA :
133CHAPITRE 7. CONCLUSION GÉNÉRALE
ACM.
Robertson, S. (2004). Understanding inverse document frequency : On theoretical
arguments for idf. Journal of Documentation, 60 , 2004.
Robertson, S., et Sparck Jones, K. (1988). Document retrieval systems. In P. Willett
(Ed.), (pp. 143–160). London, UK, UK : Taylor Graham Publishing.
Robertson, S., Walker, S., Jones, S., Hancock-Beaulieu, M., et Gatford, M. (1996).
Okapi at trec-3. In (pp. 109–126).
Rocchio, J. J. (1971). Relevance feedback in information retrieval.
Sakaki, T., Okazaki, M., et Matsuo, Y. (2010). Earthquake shakes twitter users :
real-time event detection by social sensors. In Proceedings of the 19th international
conference on world wide web (pp. 851–860). New York, NY, USA :
ACM.
Salton, G. (1968). A comparison between manual and automatic indexing methods
(Rapport technique). Ithaca, NY, USA.
Salton, G., et Buckley, C. (1997). Readings in information retrieval. In
K. Sparck Jones et P. Willett (Eds.), (pp. 355–364). San Francisco, CA, USA :
Morgan Kaufmann Publishers Inc.
Salton, G., Wong, A., et Yang, C. S. (1975). A vector space model for automatic
indexing. Commun. ACM, 18 (11), 613–620.
Sanderson, M. (2010). Test collection based evaluation of information retrieval
systems. Foundations and Trends in Information Retrieval, 4 (4), 247-375.
Sankaranarayanan, J., Samet, H., Teitler, B. E., Lieberman, M. D., et Sperling, J.
(2009). Twitterstand : news in tweets. In Proceedings of the 17th acm sigspatial
international conference on advances in geographic information systems (pp.
42–51). New York, NY, USA : ACM.
Schmid, H. (1994). Probabilistic part-of-speech tagging using decision trees. In
International conference on new methods in language processing (p. 44-49).
Manchester, UK.
Segaran, T., et Hammerbacher, J. (2009). Beautiful Data : The Stories Behind
Elegant Data Solutions (Original éd.). O’Reilly Media. Paperback.
Shamma, D. A., Kennedy, L., et Churchill, E. F. (2009). Tweet the debates :
Understanding community annotation of uncollected sources. In Proceedings
of the first sigmm workshop on social media (pp. 3–10). New York, NY, USA :
ACM.
Song, S., Li, Q., et Zheng, N. (2010). A spatio-temporal framework for related topic
search in micro-blogging. In Proceedings of the 6th international conference
on active media technology (pp. 63–73). Berlin, Heidelberg : Springer-Verlag.
Student. (1908). The probable error of a mean. Biometrika, 6 (1), 1–25.
Sturges, H. A. (1926). The Choice of a Class Interval. Journal of the American
Statistical Association, 21 (153), 65–66.
134CHAPITRE 7. CONCLUSION GÉNÉRALE
Teevan, J., Ramage, D., et Morris, M. R. (2011). #twittersearch : a comparison
of microblog search and web search. In Wsdm’11 : Proceedings of the fourth
acm international conference on web search and data mining (pp. 35–44). New
York, NY, USA : ACM.
Tumasjan, A., Sprenger, T. O., Sandner, P. G., et Welpe, I. M. (2010). Predicting
elections with twitter : What 140 characters reveal about political sentiment.
In Icwsm.
Uysal, I., et Croft, W. B. (2011). User oriented tweet ranking : a filtering approach
to microblogs. In C. Macdonald, I. Ounis, et I. Ruthven (Eds.), Cikm (p. 2261-
2264). ACM.
Vechtomova, O., et Wang, Y. (2006). A study of the effect of term proximity on
query expansion. J. Information Science, 32 (4), 324-333.
Voorhees, E. M. (2006). Overview of the trec 2006. In TREC’06 : 6th Text Retrieval
Conference.
Vosecky, J., Leung, K. W.-T., et Ng, W. (2012). Searching for quality microblog
posts : Filtering and ranking based on content analysis and implicit links. ,
397-413.
Weng, J., Lim, E.-P., Jiang, J., et He, Q. (2010). Twitterrank : finding topic-sensitive
influential twitterers. In Wsdm’10 : Proceedings of the third acm international
conference on web search and data mining (pp. 261–270). New York, NY,
USA : ACM.
Wilson, T., Wiebe, J., et Hoffmann, P. (2005). Recognizing contextual polarity
in phrase-level sentiment analysis. In Proceedings of the conference on human
language technology and empirical methods in natural language processing (pp.
347–354). Stroudsburg, PA, USA : Association for Computational Linguistics.
Xu, S., Bao, S., Cao, Y., et Yu, Y. (2007). Using social annotations to improve language
model for information retrieval. In Proceedings of the sixteenth acm
conference on conference on information and knowledge management (pp.
1003–1006). New York, NY, USA : ACM.
Yamaguchi, Y., Takahashi, T., Amagasa, T., et Kitagawa, H. (2010). Turank :
Twitter user ranking based on user-tweet graph analysis. In Wise’10 (p. 240-
253).
Yen, S.-J., et Lee, Y.-S. (2006). Under-sampling approaches for improving prediction
of the minority class in an imbalanced dataset. In Intelligent control and
automation (Vol. 344, p. 731-740). Springer Berlin / Heidelberg.
Yuan, Q., Cong, G., et Thalmann, N. M. (2012). Enhancing naive bayes with
various smoothing methods for short text classification. In Proceedings of the
21st international conference companion on world wide web (pp. 645–646).
New York, NY, USA : ACM.
Zhao, L., Zeng, Y., et Zhong, N. (2011). A weighted multi-factor algorithm for
135CHAPITRE 7. CONCLUSION GÉNÉRALE
microblog search. In Proceedings of the 7th international conference on active
media technology (pp. 153–161). Berlin, Heidelberg : Springer-Verlag.
Zhongyuan, H., Xuwei, L., Muyun, Y., Hoaliang, Q., Sheng, L., et Tiejun, Z. (2012).
HIT at Trec 2012 Microblog Track. In TREC’12 : 21th Text Retrieval Conference.
National Institute of Standards and Technology (NIST).
136Résumé
Notre travail se situe dans le contexte de recherche d’information (RI) sociale et s’inté-
resse plus particulièrement à la recherche de microblogs. Les microblogs sont des messages
de faible longueur à travers lesquels les utilisateurs publient des informations sur différents
sujets : des opinions, des événements, des statuts... Les microblogs occupent aujourd’hui
une part considérable de l’information générée sur le web. Dans Twitter, la plate-forme
de microblogging la plus populaire, le nombre de microblogs par jour peut atteindre 500
millions. Les microblogs ont une forme différente des traditionnels documents. Leur taille
est réduite par rapport aux blogs et aux articles publiés sur le web (140 caractères pour
Twitter). De plus, les microblogs peuvent contenir une syntaxe spécifique telle que les
#hashtags, les @citations ou bien encore des URLs. Les plateformes de microblogging représentent
également un modèle de réseau social différent des autres réseaux sociaux. Les
relations entre les utilisateurs ne sont pas forcément réciproques et les abonnements sont
sans restrictions entre microbloggeurs.
Les utilisateurs de plateformes de microblogging, outre la publication de microblogs,
effectuent également des recherches. Les motivations de ces recherches sont diverses. Certaines
sont similaires à la recherche sur le web (comme par exemple la recherche d’actualités),
et d’autres sont spécifiques à la recherche de microblogs (comme par exemple la
recherche temps réel ou d’informations sociales). Dans Twitter, 1,6 milliards de requêtes
sont ainsi émises chaque jour.
Les modèles de RI doivent s’adapter aux spécificités des microblogs : fraîcheur, aspect
social et spécificités syntaxiques doivent ainsi être pris en compte. C’est dans ce contexte
de recherche d’information dans les microblogs que se situent plus particulièrement nos
travaux. Nous nous plaçons plus précisément dans le cadre de la recherche adhoc. L’objectif
est de retrouver les microblogs répondant à un besoin d’information spécifié par un
utilisateur.
Nos travaux visent à améliorer la qualité des résultats de recherche d’information adhoc
dans les microblogs. Nos contributions se situent à plusieurs niveaux :
-Afin de déterminer exactement les facteurs limitant les performances des modèles de
recherche classiques dans un corpus de microblogs, nous avons mené à une analyse de dé-
faillance d’un modèle de recherche usuel. Nous avons sélectionné les microblogs pertinents
mais non retrouvés par le modèle de recherche. Ensuite, nous avons identifié les facteurs
empêchant leur restitution. Nous avons trouvé que le problème principal vient de la concision
des microblogs. Cette concision engendre une correspondance limitée entre les termes
des microblogs et les termes des requêtes, même s’ils sont sémantiquement similaires.
-Afin de compenser l’impact de la concision des microblogs, nous avons proposé et
testé plusieurs solutions. Nous avons proposé d’étendre les requêtes (i) en exploitant des
ressources de type actualités, (ii) en utilisant la base lexicale Wordnet, (iii) en applicant
des techniques de réinjection de pertinence de l’état de l’art qui ont souvent prouvé leur
efficacité : Rocchio pour identifier les termes susceptibles de ramener la pertinence ainsi que
pour la pondération des termes de la nouvelle requête, et le mécanisme naturel d’extensionCHAPITRE 7. CONCLUSION GÉNÉRALE
de requêtes du modèle BM25. Dans Rocchio, nous avons testé différentes méthodes de
calcul de poids de termes d’expansion. Nous avons enfin étendu les microblogs grâce aux
liens (URLs) qu’ils contiennent. Nos expérimentations ont montré que l’emploi des URLs et
l’expansion de requêtes sont primordiales pour la RI dans les microblogs. La plupart de ces
expérimentations (expansion de requêtes et de microblogs) ont été réalisées en se basant sur
le modèle vectoriel et sur le modèle probabiliste comme modèle de restitution. Ceci nous a
permis de comparer les comportements des deux modèles sur les microblogs et avec les deux
types d’expansion. De manière générale, nous avons trouvé que le modèle vectoriel est plus
performant que modèle probabiliste au niveau de la sélection des microblogs pertinents
(meilleur rappel). Cependant, le modèle probabiliste met plus en valeur les microblogs
pertinents restitués par rapport à tous les microblogs restitués (meilleure précision).
-Un deuxième volet de notre travail concerne l’étude des critères utilisés pour identifier
les microblogs pertinents. Nous avons repris les critères souvent utilisés dans l’état de l’art
(critères de contenu, critères sur l’importance des auteurs, critères sur les URLs) et nous
les avons évalués. Nous avons réalisé cette analyse selon 3 axes. Dans le premier axe, nous
avons analysé l’impact de la combinaison des scores des critères avec le score de pertinence
du contenu, calculé avec un modèle de RI usuel. Dans le deuxième axe, nous avons étudié
le comportement des critères dans les documents pertinents et les avons comparés avec
leurs comportements dans les documents non pertinents. Dans le troisième axe, nous avons
utilisé des techniques d’apprentissage ainsi que des algorithmes de sélection de critères qui
peuvent être utiles en entrée de ces techniques d’apprentissages. De manière générale, nous
avons montré que les critères en relation avec les URLs publiées dans les tweets sont les
plus discriminants. Les critères liés aux auteurs ne reflètent pas la pertinence.
-Afin de prendre en compte l’aspect temporel dans la restitution des microblogs pertinents
vis-à-vis d’un besoin d’information, nous avons proposé trois méthodes qui intègrent
le temps dans le calcul de la pertinence. Cette intégration du temps n’a cependant pas
montré son intérêt dans nos méthodes.
Pour réaliser nos expérimentations, nous nous sommes basés sur le corpus fourni par
la campagne d’évaluation internationale TREC (Text Retrieval Conference) dans la tâche
Microblogs des années 2011 et 2012. Nos différentes contributions ont également fait l’objet
de participations aux trois tâches de Microblogs de TREC (2011, 2012 et 2013).
Title
Étude des facteurs de pertinence dans la recherche de microblogs.
Abstract
This work deals with the context of social information retrieval (IR), more particularly
the retrieval of microblogs. Microblogs are messages of short length. They contain information
on various topics :opinions, events, articles... Microblogs represent a significant part of
the information generated on the Web. In the case of Twitter, the most popular platform,
the number of microblogs can reach 500 million per day. Microblogs have a different form
from traditional documents. Their length is reduced compared to traditional blogs and
3CHAPITRE 7. CONCLUSION GÉNÉRALE
articles on the web (only 140 characters in the case of Twitter). Moreover, microblogs can
have specific syntax such as #hashtags, @mentions or shortened URLs... Microblogging
platforms are a social network model different from other social networks. Relationships
between users are not necessarily reciprocal and subscriptions are unrestricted between
microbloggers. Users of microblogging platforms do not only produce but they also search
for information. The motivations of this research are diverse. Some are inspired from Web
search (e.g. the search for news) and others are specific to the search for microblogs (e.g.
real-time search or social information). In Twitter, 1.6 billion queries are issued every day.
Though, the IR models must adapt to the specificities of microblogs : freshness, social
aspect and syntactic characteristics must therefore be taken into account. The aim of our
work is to improve the quality of the results of adhoc information retrieval in microblogs.
Our contributions are at several levels :
- In order to accurately determine the factors limiting the performance of conventional
models of search in a corpus of microblogs, we conducted an analysis of failure of a
conventional model search. We selected relevant microblogs. However, they are not found
by the search pattern. Then, we identified the factors preventing their return. We found
that the main problem is the shortness of microblogs.
- To offset the impact of the shortness of microblogs, we proposed and tested several
solutions : to extend the queries by (i) exploiting news articles, (ii) using the WordNet
lexical database, (iii) applying techniques of relevance feedback of the state of art which
often proved effective : Rocchio to identify terms likely to bring relevance and for weighting
the terms of the new query, and the natural extension mechanism queries of the BM25
model. Using Rocchio, we tested different methods of calculating the weight of expansion
terms. We finally extended microblogs thanks to the links (URLs) they contain. Our
experiments have shown that the use of URLs and the expansion of the query are crucial
for IR in microblogs. Most of these experiments (expansion of queries and microblogs)
were performed on the basis of the vector model and the probabilistic model, as a model
of restitution. This allowed us to compare the behavior of the two models on microblogs
and with the two types of expansion. In general, we found that the Vector Space Model
is more efficient than the probabilistic one in the selection of relevant microblogs (better
recall). However, the probabilistic model puts more value on relevant microblogs returned
over all returned microblogs (better precision).
- A second part of our work is concerned with the study of the features used to
identify relevant microblogs. We selected the features often used in the state of art (content
features, features on the importance of authors, URLs features and quality features).Then,
we evaluated them. We conducted this analysis in 3 axes. In the first axis, (i) we studied
the behavior of the features in the relevant documents and compared them with their
behavior in non-relevant documents. In the second axis, (ii) we analyzed the impact of
the combination of the features scores with the content’s score, calculated with a model of
conventional IR. In the third axis, (iii) we used learning techniques as well as algorithms
of feature selection that may be useful as input to the learning techniques. In general, we
have shown that the features related to URLs posted in tweets are the most discriminating.
4CHAPITRE 7. CONCLUSION GÉNÉRALE
The features related to the authors do not reflect the relevance.
- To take into account the temporal aspect when selecting relevant microblogs, we have
proposed three methods that incorporate time in the calculation of relevance. However,
this integration of time did not show any positive impact in our methods.
To perform our experiments, we used the corpus provided by TREC (Text Retrieval
Conference) international survey in the task Microblogs for the years 2011 and 2012. Our
various contributions have also been the subject of participations for the three tasks of
Microblogs TREC (2011, 2012 and 2013).
ISBN : t t t t t t t t t t t t t
5
Evaluation de la sˆuret´e de syst`emes dynamiques hybrides
complexes. Application aux syst`emes hydrauliques
Perrine Broy
To cite this version:
Perrine Broy. Evaluation de la sˆuret´e de syst`emes dynamiques hybrides complexes. Application
aux syst`emes hydrauliques. Modeling and Simulation. Universit´e de Technologie de Troyes,
2014. French. .
HAL Id: tel-01006308
https://tel.archives-ouvertes.fr/tel-01006308
Submitted on 15 Jun 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.THESE
pour l’obtention du grade de
DOCTEUR de l’UNIVERSITE
DE TECHNOLOGIE DE TROYES
Spécialité : OPTIMISATION ET SURETE DES SYSTEMES
présentée et soutenue par
Perrine BROY
le 12 mars 2014
Evaluation de la sûreté de systèmes dynamiques hybrides complexes.
Application aux systèmes hydrauliques
JURY
M. F. PÉRÈS PROFESSEUR DES UNIVERSITES Président
M. C. BERENGUER PROFESSEUR DES UNIVERSITES Directeur de thèse
M. N. BRINZEI MAITRE DE CONFERENCES Examinateur
M. M. CEPIN PROFESSOR Rapporteur
M. H. CHRAIBI INGENIEUR CHERCHEUR Directeur de thèse
M. Y. DIJOUX MAITRE DE CONFERENCES Examinateur
M. J.-M. THIRIET PROFESSEUR DES UNIVERSITES Rapporteur
Personnalité invitée
M. R. DONAT INGENIEUR CHERCHEUR 2Remerciements
Faire une thèse CIFRE, c’est bénéficier d’un double encadrement, académique et
industriel. Mais lorsque chacun de ces encadrements est assuré par deux personnes,
toutes compétentes et sympathiques, cela fait beaucoup de remerciements à rédiger, et
personne ne m’a dit si j’avais le droit de quadrupler le nombre de pages de remerciements
ou d’occurrences du mot « merci »...
Mes premiers remerciements vont donc à mon « comité encadrant » constitué de
Christophe Bérenguer, Yann Dijoux, Hassane Chraïbi et Roland Donat. Christophe,
merci d’avoir accepté la direction de cette thèse, merci pour ta disponibilité sans faille
et pour ton suivi malgré l’éloignement. Yann, merci de m’avoir aidée lors des calculs
analytiques douloureux, mais aussi pour la découverte d’un bon nombre de restaurants
troyens ! Hassane, merci pour ta patience et ta gentillesse ; l’initiation au fonctionnement
des évacuateurs de crues ou à la structure de PyCATSHOO n’était pas une affaire
gagnée d’avance. Roland, merci de m’avoir guidée et motivée si souvent ! Merci à vous
quatre, j’ai beaucoup appris à vos côtés et cela a été un réel plaisir de travailler avec
vous !
Je remercie l’ensemble des membres du jury pour leur participation à ma soutenance
et pour l’intérêt porté à mes travaux de recherche. Je remercie tout particulièrement
François Pérès d’avoir endossé le rôle de président du jury. Je tiens à exprimer ma
reconnaissance à Marko Cepin et Jean-Marc Thiriet pour m’avoir fait l’honneur d’être
rapporteurs de ces travaux et pour leurs questions constructives. Je tiens également à
remercier Nicolae Brinzei pour sa minutieuse relecture.
Alors que j’étais encore élève-ingénieur, j’ai longtemps muri ce projet de thèse avant
de m’y lancer. Je voudrai remercier Frédéric et Anick de m’avoir encouragée à partir
dans cette voie qu’est la recherche, et Hermann, Marine, Fabiano, Fatiha, Paul, Geoffrey,
Lise et William de m’avoir fait part de leurs expériences de doctorants lors de discussions
enrichissantes. Grâce à vous, j’ai construit ce projet de thèse en connaissance de cause.
Une fois ma décision prise, c’est une autre équipe qui m’a permis de concrétiser ce
projet. Je tiens à remercier l’équipe hiérarchique du département MRI d’avoir initié et
prolongé cette thèse mais aussi de m’avoir permis de faire de belles conférences. Quitte
à être au sein du département MRI, je vais continuer en remerciant les chercheurs qui le
constituent pour leur accueil, leurs conseils et leur sympathie. Je ne me risquerai pas à
34
vous nommer pour n’oublier personne, mais j’ai été heureuse de vous côtoyer le temps
d’un café, à la cantine ou dans les vestiaires de la gym. La bonne humeur ambiante
a égayé mes travaux et je vous remercie pour vos encouragements tout au long de ces
trois années.
Mes remerciement vont devenir encore plus locaux avec une pensée à tous ceux
qui ont eu la « chance » de partager mon bureau : Linh, Carine, Pierre-Yves, Antonello,
Stéphanie, Nicolas, Martin, Tazio : merci d’avoir supporté mes bavardages et mes
bougonnements !
Je tiens à remercier les membres du LM2S pour leur acceuil chaleureux à chacune
de mes venues troyennes.
En parallèle de ces trois ans de recherche, j’ai eu l’occasion de progresser en course
à pieds, danse et autres renforcements musculaires. Mention spéciale à tous les coachs
qui m’ont permis de me défouler et de décompresser !
Merci à Jane-Marie, bonne fée viroflaysienne, de m’avoir menée à bon port chaque
matin !
Bon courage à mes compatriotes de thèse, vous verrez, on finit toujours par y arriver,
la preuve !
Mes derniers remerciements vont à ma famille, ma belle-famille et à mes proches.
Il est temps de vous remercier d’avoir accepté soit de me voir si rarement, soit de me
voir squatter la table ronde pour de longues séances de débuggage et rédaction. Même
le chat Peluche en avait pris son parti et m’encourageait par quelques ronronnements...
Je ne serai pas là où j’en suis sans mes parents : merci pour votre amour, votre
confiance sans faille, votre relecture de ce manuscrit. Merci aussi à toi Maxime !
Tout ceci ne serait rien sans Gaël. Tu m’as suivie au bout du monde lors des
conférences, tu m’as épousée avant même de savoir à quoi ressemblait une troisième
année de thèse, tu as toujours répondu placidement « oui... » à chaque fois que je te
demandais « Est-ce que tu crois que je vais y arriver ? » dans mes périodes de doute,
tu m’as littéralement entretenue pendant le mois de décembre, tu as scrupuleusement
relu ce manuscrit et tu as géré mes pots de thèse comme un roi... Pour tout ça, le nom
« Hesters » aurait bien mérité de figurer sur la première page de ce manuscrit. A
défaut, je tenais à ce que les derniers mots de cette page soit pour toi... Mille mercis
donc.Table des matières
Introduction générale 19
I De la problématique industrielle aux enjeux méthodologiques
23
1 Position du problème et motivation industrielle 25
1.1 Problématique industrielle : les évacuateurs de crues et l’estimation de
leur sûreté de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . 25
1.1.1 L’hydroélectricité en France . . . . . . . . . . . . . . . . . . . . 26
1.1.2 Rôle des évacuateurs de crues . . . . . . . . . . . . . . . . . . . 26
1.1.3 Composition d’un évacuateur de crues . . . . . . . . . . . . . . 27
1.1.4 La sûreté de fonctionnement dans l’hydraulique . . . . . . . . . 29
1.1.5 Quelques notions d’hydrologie et d’hydraulique . . . . . . . . . 30
1.1.5.1 Origine des hydrogrammes des crues . . . . . . . . . . 30
1.1.5.2 Cotes de la retenue d’un barrage . . . . . . . . . . . . 31
1.2 Enjeux industriels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.2.1 La méthode GASPART et l’outil associé . . . . . . . . . . . . . 32
1.2.2 Réalisations et limites de l’outil GASPART . . . . . . . . . . . . 32
1.2.3 Objectifs de ces travaux . . . . . . . . . . . . . . . . . . . . . . 33
1.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2 Enjeux méthodologiques 37
2.1 Principales notions de sûreté de fonctionnement et introduction à la fiabilité
dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.1.1 Principales notions de sûreté de fonctionnement . . . . . . . . . 37
5TABLE DES MATIÈRES 6
2.1.1.1 Grandeurs caractéristiques de la sûreté de fonctionnement 37
2.1.1.2 Durées fondamentales en sûreté de fonctionnement . . 39
2.1.1.3 Taux de défaillance et de réparation . . . . . . . . . . 40
2.1.1.4 Relations fondamentales . . . . . . . . . . . . . . . . . 40
2.1.1.5 Méthodes classiques utilisées en sûreté de fonctionnement 40
2.1.1.6 Mesures d’importance . . . . . . . . . . . . . . . . . . 42
2.1.2 Introduction à la fiabilité dynamique . . . . . . . . . . . . . . . 43
2.1.2.1 Définition d’un système dynamique hybride . . . . . . 43
2.1.2.2 Définition de la fiabilité dynamique . . . . . . . . . . . 44
2.2 État de l’art en fiabilité dynamique . . . . . . . . . . . . . . . . . . . . 45
2.2.1 Méthodes de description . . . . . . . . . . . . . . . . . . . . . . 46
2.2.1.1 Les méthodes analytiques et semi-analytiques . . . . . 47
2.2.1.2 Les méthodes reposant sur les arbres d’événements dynamiques
. . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2.1.3 Les méthodes basées sur un formalisme graphique . . . 52
2.2.1.4 Autres méthodes de description . . . . . . . . . . . . . 57
2.2.1.5 Discussion et conclusion . . . . . . . . . . . . . . . . . 58
2.2.2 Méthodes de quantification . . . . . . . . . . . . . . . . . . . . . 58
2.2.2.1 Les méthodes de discrétisation . . . . . . . . . . . . . 58
2.2.2.2 Les méthodes de simulation de Monte Carlo . . . . . . 60
2.2.2.3 Discussion et conclusion . . . . . . . . . . . . . . . . . 62
2.2.3 Place de l’information temporelle dans les résultats de fiabilité
dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.3 Conclusion : choix d’une méthodologie et contributions de la thèse . . . 63
3 Outils de modélisation pour la sûreté de fonctionnement des évacuateurs
de crues 65
3.1 Les Processus Markoviens Déterministes par
Morceaux (PDMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.1.1 Quelques processus utilisés en fiabilité . . . . . . . . . . . . . . 66
3.1.1.1 Chaînes de Markov . . . . . . . . . . . . . . . . . . . . 66
3.1.1.2 Processus markoviens de sauts . . . . . . . . . . . . . 677 TABLE DES MATIÈRES
3.1.1.3 Processus de renouvellement . . . . . . . . . . . . . . . 67
3.1.1.4 Processus de renouvellement markovien . . . . . . . . 67
3.1.1.5 Processus semi-markovien . . . . . . . . . . . . . . . . 68
3.1.2 Les Processus Markoviens Déterministes par Morceaux (PDMP) 69
3.1.2.1 Définition de Cocozza et al. . . . . . . . . . . . . . . . 69
3.1.2.2 Définition de Davis . . . . . . . . . . . . . . . . . . . . 70
3.1.3 Les PDMP communicants (CPDMP) . . . . . . . . . . . . . . . 71
3.2 Automates Stochastiques Hybrides (ASH) . . . . . . . . . . . . . . . . 72
3.2.1 De la théorie des automates aux ASH . . . . . . . . . . . . . . . 72
3.2.2 Composition et synchronisation des ASH . . . . . . . . . . . . . 75
3.3 L’outil PyCATSHOO . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.3.1 Le logiciel PyCATSHOO . . . . . . . . . . . . . . . . . . . . . . 76
3.3.2 Construction d’une base de connaissances . . . . . . . . . . . . 76
3.3.2.1 Les différents types de transitions . . . . . . . . . . . . 78
3.3.2.2 Contrôle de la variable continue . . . . . . . . . . . . . 79
3.3.3 Élaboration du modèle . . . . . . . . . . . . . . . . . . . . . . . 80
3.4 Machines à vecteurs support (SVM) . . . . . . . . . . . . . . . . . . . . 81
3.4.1 Problématique et notations . . . . . . . . . . . . . . . . . . . . 81
3.4.1.1 Cas linéairement séparable . . . . . . . . . . . . . . . . 82
3.4.1.2 Cas non séparable . . . . . . . . . . . . . . . . . . . . 83
3.4.2 La librairie libsvm . . . . . . . . . . . . . . . . . . . . . . . . . 84
II Prise en compte de l’information temporelle de la modé-
lisation à la synthèse d’indicateurs fiabilistes 85
4 Description et modélisation des évacuateurs de crues 87
4.1 Fonctionnement des évacuateurs de crues . . . . . . . . . . . . . . . . . 88
4.1.1 Prise en compte du temps dans le déroulement d’une crue . . . 88
4.1.2 Caractérisation d’une crue . . . . . . . . . . . . . . . . . . . . . 89
4.1.2.1 Fréquence d’une crue . . . . . . . . . . . . . . . . . . . 89
4.1.2.2 Forme et débit d’une crue . . . . . . . . . . . . . . . . 89TABLE DES MATIÈRES 8
4.1.2.3 Durée de la crue et délais de détection et d’établissement 89
4.1.3 Fonctionnement de deux évacuateurs de crues . . . . . . . . . . 90
4.1.4 Rôle de l’opérateur . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.1.5 Données de fiabilité . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.1.6 Hypothèses de modélisation de la méthode GASPART et des travaux
de thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.2 Modélisation des évacuateurs de crues . . . . . . . . . . . . . . . . . . . 93
4.2.1 Modélisation d’un cas-test simple . . . . . . . . . . . . . . . . . 94
4.2.1.1 Évolution du niveau dans le réservoir . . . . . . . . . . 94
4.2.1.2 Modélisation par les Automates Stochastiques Hybrides 100
4.2.1.3 Modèle global du système simple . . . . . . . . . . . . 105
4.2.1.4 Chronologie d’une histoire . . . . . . . . . . . . . . . . 106
4.2.2 Modélisation du problème industriel . . . . . . . . . . . . . . . . 107
4.2.2.1 Modélisation d’un objet manoeuvré . . . . . . . . . . . 107
4.2.2.2 Modélisation d’un objet alimenté . . . . . . . . . . . . 108
4.2.2.3 Modélisation d’un objet réparable . . . . . . . . . . . . 110
4.2.2.4 Modélisation d’un opérateur . . . . . . . . . . . . . . . 112
4.2.2.5 Modélisation d’une vanne . . . . . . . . . . . . . . . . 112
4.2.2.6 Représentation des deux évacuateurs de crues . . . . . 114
4.2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5 Analyse des histoires et quantification probabiliste de la fiabilité 117
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.1.1 Objectifs de la quantification . . . . . . . . . . . . . . . . . . . . 117
5.1.2 Démarche : de KB3 à PyCATSHOO . . . . . . . . . . . . . . . 118
5.1.3 Formalisation des résultats : séquences, histoires et vecteurs de
durées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.1.3.1 Définition d’une séquence . . . . . . . . . . . . . . . . 120
5.1.3.2 Définition d’une histoire . . . . . . . . . . . . . . . . . 121
5.1.3.3 Définition d’un vecteur de durées de fonctionnement
sans défaillance . . . . . . . . . . . . . . . . . . . . . . 122
5.1.4 Description des systèmes étudiés . . . . . . . . . . . . . . . . . . 1249 TABLE DES MATIÈRES
5.2 Probabilité d’occurrence de l’événement redouté . . . . . . . . . . . . . 126
5.2.1 Calcul analytique . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.2.1.1 Évolution du niveau dans la retenue . . . . . . . . . . 127
5.2.1.2 Instant d’atteinte du seuil de sûreté en fonction du temps
de défaillance . . . . . . . . . . . . . . . . . . . . . . . 129
5.2.1.3 Temps de défaillance en fonction de l’instant d’atteinte
du seuil de sûreté . . . . . . . . . . . . . . . . . . . . . 129
5.2.1.4 Expression de PER(t) . . . . . . . . . . . . . . . . . . 129
5.2.2 Estimation par simulation de Monte Carlo sur le modèle ASH . 130
5.2.2.1 Évolution du niveau . . . . . . . . . . . . . . . . . . . 130
5.2.2.2 Dépendance de l’instant de panne et de l’instant d’atteinte
du seuil de sûreté . . . . . . . . . . . . . . . . . 130
5.2.2.3 Évolution de la probabilité PER . . . . . . . . . . . . . 130
5.2.3 Comparaison des résultats analytiques et du produit des simulations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.2.3.1 Évolution du niveau . . . . . . . . . . . . . . . . . . . 131
5.2.3.2 Dépendance de l’instant de panne et de l’instant de
l’événement redouté . . . . . . . . . . . . . . . . . . . 132
5.2.3.3 Évolution de la probabilité PER . . . . . . . . . . . . . 132
5.2.4 Vers un cas-test plus proche de la réalité : allure et interprétation
de courbes de niveau h et de PER . . . . . . . . . . . . . . . . . 133
5.2.4.1 Vers une modélisation réaliste des débits entrant et sortant133
5.2.4.2 Vers des lois de probabilités variées : introduction de la
loi de Weibull . . . . . . . . . . . . . . . . . . . . . . . 136
5.2.4.3 Vers un système de taille réaliste . . . . . . . . . . . . 138
5.3 Coupes équivalentes prépondérantes . . . . . . . . . . . . . . . . . . . 141
5.3.1 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
5.3.2 Applications aux exemples « fil rouge » . . . . . . . . . . . . . . 144
5.3.2.1 Système composé d’une alimentation et deux vannes . 144
5.3.2.2 Système composé d’une alimentation et six vannes . . 144
5.4 Classification des histoires . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.4.2 Détermination analytique de la frontière . . . . . . . . . . . . . 146TABLE DES MATIÈRES 10
5.4.2.1 Réservoir vidangé par une vanne : calcul analytique de
l’instant tsep . . . . . . . . . . . . . . . . . . . . . . . . 146
5.4.2.2 Réservoir vidangé par deux vannes : calcul analytique
de la frontière u
sep
2
(u1) . . . . . . . . . . . . . . . . . . 147
5.4.3 Classification des histoires simulées . . . . . . . . . . . . . . . . 147
5.4.3.1 Cas d’un composant défaillant . . . . . . . . . . . . . . 148
5.4.3.2 Cas de plusieurs composants . . . . . . . . . . . . . . . 148
5.4.4 Comparaison des résultats . . . . . . . . . . . . . . . . . . . . . 150
5.4.4.1 Système simple à une vanne . . . . . . . . . . . . . . . 150
5.4.4.2 Système simple à deux vannes . . . . . . . . . . . . . . 150
5.4.5 Application aux exemples « fil rouge » et conclusion . . . . . . 152
5.5 Conclusion et perspectives . . . . . . . . . . . . . . . . . . . . . . . . . 153
6 Importance dynamique d’un composant 155
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
6.1.1 Définition d’une mesure d’importance dynamique . . . . . . . . 156
6.1.2 Systèmes étudiés . . . . . . . . . . . . . . . . . . . . . . . . . . 157
6.2 Calcul analytique de l’importance dynamique pour le système à deux
composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
6.2.1 Expression littérale de l’importance dynamique de Birnbaum pour
l’alimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
6.2.2 Expression littérale de l’importance dynamique de Birnbaum pour
la vanne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
6.3 Estimation à partir des histoires simulées . . . . . . . . . . . . . . . . 162
6.4 Résultats : comparaison et interprétation, pour un système à deux composants
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
6.4.1 Importance au début de la mission du composant . . . . . . . . 163
6.4.2 Importance à la fin de la mission du composant . . . . . . . . . 165
6.4.3 Allure de la courbe . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.4.4 Comparaison avec l’importance dynamique obtenue à partir des
histoires simulées . . . . . . . . . . . . . . . . . . . . . . . . . . 166
6.4.5 Application aux systèmes « Fil Rouge » . . . . . . . . . . . . . . 169
6.4.5.1 Système composé d’une alimentation et de deux vannes 169
6.4.5.2 Système composé d’une alimentation et de six vannes . 17011 TABLE DES MATIÈRES
Conclusion générale et perspectives 175
A Déroulement de l’algorithme de PyCATSHOO 181
B Démonstrations du chapitre 5 185
B.1 Instant d’atteinte du seuil de sûreté en fonction du temps de défaillance 185
B.2 Expression de PER(t) . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
B.3 Réservoir vidangé par deux vannes : calcul analytique de la frontière
u
sep
2
(u1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
C Démonstrations du chapitre 6 189
C.1 Démonstration de la proposition 6.2 . . . . . . . . . . . . . . . . . . . . 189
C.2 Expression littérale de l’importance dynamique de Birnbaum pour l’alimentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
C.2.1 Calcul de P(ER/Talim ≤ t) . . . . . . . . . . . . . . . . . . . . . 189
C.2.2 Calcul de P(ER/Talim > t) . . . . . . . . . . . . . . . . . . . . . 190
C.3 Expression littérale de l’importance dynamique de Birnbaum pour la vanne191
C.3.1 Calcul de P(ER/TV ≤ t) . . . . . . . . . . . . . . . . . . . . . . 191
C.3.2 Calcul de P(ER/TV > t) . . . . . . . . . . . . . . . . . . . . . . 192
Bibliographie 194TABLE DES MATIÈRES 12Table des figures
1.1 Photographie d’un évacuateur de crues . . . . . . . . . . . . . . . . . . 27
1.2 Représentation schématique d’un évacuateur de crues . . . . . . . . . . 28
1.3 Exemple d’hydrogramme de crue . . . . . . . . . . . . . . . . . . . . . 31
2.1 Durées fondamentales en sûreté de fonctionnement . . . . . . . . . . . 39
2.2 Diagramme de fiabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3 Arbre de défaillances . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4 Exemple d’arbre d’événements, inspiré du domaine nucléaire . . . . . . 42
2.5 Exemple de DDET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.6 Extrait du modèle DFM d’un benchmark. . . . . . . . . . . . . . . . . . 50
2.7 Franchissement d’une transition dans un RdP . . . . . . . . . . . . . . 52
2.8 Exemple de réseau bayésien . . . . . . . . . . . . . . . . . . . . . . . . 54
2.9 Exemple de réseau bayésien dynamique . . . . . . . . . . . . . . . . . . 55
3.1 Graphe de Markov représentant une chaîne de Markov . . . . . . . . . 66
3.2 Construction d’un PDMP à partir de processus stochastiques classiques 68
3.3 Exemple de trajectoire d’un PDMP . . . . . . . . . . . . . . . . . . . . 70
3.4 Exemple d’automate fini déterministe . . . . . . . . . . . . . . . . . . . 73
3.5 Exemple d’automate hybride . . . . . . . . . . . . . . . . . . . . . . . . 74
3.6 Exemple d’automate stochastique hybride . . . . . . . . . . . . . . . . 75
3.7 Représentation des quatre types de transitions. . . . . . . . . . . . . . . 77
3.8 Exemple d’automate utilisant les quatre types de transitions. . . . . . . 78
3.9 Objet PyCATSHOO décrit par trois automates . . . . . . . . . . . . . 79
3.10 Construction d’un SVM . . . . . . . . . . . . . . . . . . . . . . . . . . 81
13TABLE DES FIGURES 14
3.11 Choix du meilleur séparateur . . . . . . . . . . . . . . . . . . . . . . . . 83
3.12 Projection des données dans un espace où elles sont linéairement séparables. 84
4.1 Chronologie d’une crue . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.2 Représentation schématique d’une vanne de surface . . . . . . . . . . . 90
4.3 Représentation schématique d’une vanne de surface associée à un clapet 90
4.4 Illustration du cas-test simple . . . . . . . . . . . . . . . . . . . . . . . 94
4.5 Évolution du débit entrant pour une crue en forme d’échelon . . . . . . 95
4.6 Évolution du débit sortant pour une débitance constante, en fonction de
l’instant de panne u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.7 Évolution du débit entrant pour un hydrogramme de crue . . . . . . . 97
4.8 Évolution du débit sortant pour une débitance réaliste, en fonction de
l’instant de panne u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.9 Automate de la crue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.10 Automate d’une vanne . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.11 Automate du réservoir . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.12 Modèle global du système simple . . . . . . . . . . . . . . . . . . . . . 106
4.13 Automate d’un objet manoeuvré . . . . . . . . . . . . . . . . . . . . . . 108
4.14 Automate d’un objet alimenté . . . . . . . . . . . . . . . . . . . . . . . 109
4.15 Automate d’un objet réparable . . . . . . . . . . . . . . . . . . . . . . 110
4.16 Automate d’un opérateur . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.17 Automate Stochastique Hybride d’une vanne . . . . . . . . . . . . . . . 113
5.1 Événement redouté en fonction des instants de défaillance de deux vannes118
5.2 Probabilité de l’événement redouté en fonction de la frontière et des
densités de probabilités des instants de défaillance de deux composants 119
5.3 Crue en forme d’échelon et débitance constante : évolution du niveau
dans le réservoir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.4 Dépendance de l’instant de défaillance de la vanne et de l’instant de
l’événement redouté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.5 Évolution de la probabilité d’occurrence de l’événement redouté . . . . 133
5.6 Influence de la levée des hypothèses simplificatrices sur l’évolution du
niveau dans le réservoir, pour quatre scénarios de défaillance . . . . . . 13415 TABLE DES FIGURES
5.7 Influence de la levée des hypothèses simplificatrices sur la probabilité
d’occurrence de l’événement redouté . . . . . . . . . . . . . . . . . . . . 136
5.8 Influence de la loi de Weibull sur l’évolution de la probabilité d’occurrence
de l’événement redouté . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.9 Répartition des instants de défaillance pour la loi de Weibull et la loi
exponentielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.10 Influence de l’introduction d’une seconde vanne sur l’évolution de la probabilité
d’occurrence de l’événement redouté . . . . . . . . . . . . . . . 139
5.11 Évolution de la probabilité d’occurrence de l’événement redouté pour les
deux systèmes « Fil Rouge » . . . . . . . . . . . . . . . . . . . . . . . . 140
5.12 Précision et taux de faux négatifs en fonction de la taille de l’échantillon
d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.13 Séparation des histoires en fonction des TTF de deux vannes . . . . . . 151
6.1 Calcul analytique de l’importance dynamique pour l’alimentation et la
vanne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
6.2 Importance dynamique obtenue à partir des simulations, pour l’alimentation
et pour la vanne . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
6.3 Comparaison des importances dynamiques de l’alimentation et de la
vanne obtenues par calcul analytique et à partir des simulations . . . . 168
6.4 Importance dynamique des composants du système FR1 . . . . . . . . 169
6.5 Importance dynamique de chaque composant du système FR2, obtenue
à partir des simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.6 Importance dynamique de chaque groupe de composants du système FR2
obtenue à partir des simulations . . . . . . . . . . . . . . . . . . . . . . 172Principaux acronymes 16Principaux acronymes
IB Indicateur de Birnbaum
TFN Taux de Faux Négatifs
SSA Seuil de Sûreté Atteint
ARSHY Analyse des Risques des Systèmes HYdrauliques
ASH Automate Stochastique Hybride
BdC Base de Connaissances
CCl Contrôle-Commande local
CPDMP Communicating PDMP
EdC Évacuateur de Crues
EPS Étude Probabiliste de Sûreté
ER Événement Redouté
FR Fil Rouge
GASPART GAted Spillway System - Probabilistic Assessment of Reliability Tool
MRI Management des Risques Industriels
PDMP Piecewise Deterministic Markov Process
PyCATSHOO PythoniC AuTomates Stochastiques Hybrides Orientés Objets
RMB Receiving Message Box
SDH Système Dynamique Hybride
SMB Sending Message Box
SVM Support Vector Machine
TTF Time To Failure
VTTF Vecteur de TTF
17Principaux acronymes 18Introduction générale
L’utilisation d’eau par des aménagements hydrauliques fournit une énergie propre et
renouvelable. L’hydroélectricité représente la deuxième source de production d’électricité
en France en 2012. EDF est exploitant de 435 centrales hydroélectriques. A ce titre,
il participe au programme de rénovation et de modernisation du parc hydraulique. Afin
d’améliorer la sûreté des ouvrages hydrauliques, des études de danger sont réalisées en
confrontant leur dimensionnement à des crues exceptionnelles ou au dysfonctionnement
des évacuateurs de crues vannés.
En cas de crue, il est nécessaire d’évacuer le volume d’eau déversé en amont du
dispositif afin de maintenir le plan d’eau de la retenue sous un niveau acceptable. Les
évacuateurs de crues (EdC) sont les structures dédiées au déversement des eaux en
excédent. Pour cela, les EdC vannés requièrent la mobilisation de vannes. L’événement
redouté (ER) est réalisé lorsqu’un seuil de sûreté est atteint par le niveau de la retenue.
L’étude de la sûreté des EdC se traduit par des indications sur la fiabilité de ces dispositifs.
Par exemple, les EdC sont hiérarchisés vis-à-vis du risque lié à l’ER, ou des leviers
d’amélioration de la sûreté sont proposés, tels que des stratégies de maintenance.
Au sein du département Management des Risques Industriels (MRI) d’EDF R&D, le
projet ARSHY (Analyse des Risques des Systèmes HYdrauliques) développe des méthodologies
d’analyse de risque systèmes pour le parc hydraulique d’EDF. En particulier, la
méthode d’évaluation de la fiabilité des EdC vannés est consolidée par la prise en compte
du facteur temps. La dynamique du processus de crue et de son évacuation est telle que
l’évolution physique et déterministe du niveau d’eau dans la retenue est intimement
liée aux événements discrets aléatoires qui vont affecter l’ouverture des vannes. En ce
sens, les EdC sont des Systèmes Dynamiques Hybrides (SDH) et rentrent dans le cadre
de la fiabilité dynamique. La prise en compte de l’information temporelle est corrélée à
l’introduction d’une variable déterministe continue dans le processus stochastique.
A travers les EdC, ce sont donc les SDH qui sont concernés par la problématique :
comment estimer la sûreté des EdC ? Nous proposons une méthodologie qui accompagne
l’utilisateur tout au long de la modélisation et de l’exploitation des résultats, pour des
SDH de taille industrielle. Les EdC constituent un support et une illustration pour ces
travaux mais la méthodologie proposée est adaptable au cadre général de la fiabilité
dynamique.
19Introduction générale 20
En fiabilité dynamique, une classe de processus est généralement utilisée pour modé-
liser les SDH. Il s’agit des Processus de Markov Déterministes par Morceaux (PDMP).
Cette modélisation prend en compte la dynamique induite par la dépendance au temps
du fonctionnement de ce type de système. En accord avec ce cadre théorique, les Automates
Stochastiques Hybrides (ASH) distribués présentent le double avantage d’un
formalisme riche et d’une représentation graphique intuitive et flexible pour décrire des
systèmes complexes. La complexité des EdC est due au nombre élevé de composants,
aux interactions composant-composant et composant-environnement, et à l’évolution
simultanée de l’état du système et de la variable déterministe continue en fonction de
l’état des composants. Les ASH sont ensuite associés à la simulation de Monte Carlo
pour la quantification probabiliste de la fiabilité.
La méthode d’évaluation de la fiabilité des EdC vannés, nommée GASPART (de
l’anglais Gated Spillway System - Probabilistic Assessment of Reliability Tool) est associée
à un outil du même nom. Cet outil est développé à partir d’un langage initialement
conçu pour traiter les systèmes à états discrets. La prise en compte des phénomènes
continus et transitoires n’est possible qu’au prix d’hypothèses de modélisation conservatives
et en adoptant des méthodes simplifiées de résolution des équations différentielles.
Par ailleurs, GASPART possède deux modules de quantification distincts. La conception
d’un nouvel outil nommé PyCATSHOO écarte les limites identifiées de l’outil
GASPART. En étant dédié à l’évaluation de la fiabilité des SDH dès sa conception, PyCATSHOO
lève les hypothèses de modélisation conservatives et propose une démarche
capable de caractériser les résultats en conservant l’information temporelle.
Il est important d’identifier et de quantifier l’intérêt de prendre en compte de nouvelles
informations temporelles dans l’évaluation des performances fiabilistes. En effet,
la débitance des vannes dépend de la hauteur de leur ouverture. La position d’une vanne
dépend elle-même de la progression du processus d’ouverture, interrompue ou non par la
défaillance d’un composant nécessaire à ce processus. Une défaillance précoce entraîne
une débitance faible susceptible de provoquer l’événement redouté. Contrairement à un
problème de fiabilité classique, l’état du système n’est pas une fonction de l’état de ses
n composants. Ce sont les dates de défaillance en fonctionnement (T1, ..., Tn) qui défi-
nissent l’occurrence ou non de l’événement redouté pour le système. Cette dépendance
est effective par le biais d’une fonction f(T1, ..., Tn) = s où s ∈ {ER, ER} désigne
l’état du système (occurrence ou non de l’événement redouté ER). Ainsi, pour un même
ensemble de composants en panne, le système peut être en panne ou en marche, selon
les dates de panne des composants. Certaines notions de sûreté comme celles de coupes
ou de mesures d’importance sont à redéfinir. Ces notions doivent être adaptées aux SDH
dans l’objectif d’identifier la fonction f et de caractériser les histoires de défaillances.
Cette démarche est rarement associée à la fiabilité dynamique, aussi les indicateurs
proposés dans cette thèse sont-ils innovants.
Les différentes étapes de cette méthodologie, exposées ci-dessous, permettent la
modélisation du système puis l’exploitation des résultats obtenus.
1. La compréhension du fonctionnement du système implique la décomposition des21 Introduction générale
sous-systèmes, l’identification des composants similaires par classes et la définition
d’hypothèses de modélisation.
2. Chaque classe de composants est décrite par un automate dont les états sont
les différentes phases de son fonctionnement. Les transitions entre ces états sont
caractérisées par un ensemble de conditions.
3. Une Base de Connaissances (BdC) répertorie les classes ainsi définies. Les boîtes
à messages destinataires et expéditrices participent à la synchronisation des automates,
assurant la communication entre les objets qui interagissent. Le dispositif
de calcul de la variable continue fait partie de cette construction. L’élaboration
d’une BdC doit être suffisamment générale pour représenter plusieurs systèmes
d’une même catégorie, mais suffisamment détaillée pour être proche de la réalité.
4. Les informations spécifiques à la topologie d’un système en particulier sont regroupées
dans un script principal. Chaque composant y est déclaré en tant qu’instance
d’une classe PyCATSHOO. Ces objets sont ensuite reliés entre eux par des liens,
qui matérialisent les boîtes à messages. L’exécution de ce script génère aléatoirement
des simulations.
5. L’analyse des résultats fournit des indicateurs de fiabilité classique, tels que l’évolution
de la probabilité d’occurrence de l’ER par rapport au temps. Les combinaisons
d’événements les plus contributeurs dans la réalisation de l’ER sont
également identifiées.
6. Le fruit des simulations est une liste d’histoires. Une histoire est la séquence des
états visités par chaque automate le temps d’une crue, associés à la date de chacune
de ces transitions. Nous proposons une méthode pour extraire, synthétiser
et utiliser l’information issue de la simulation du modèle. La séparation des histoires
par rapport à l’occurrence ou non de l’événement redouté, en fonction des
durées de fonctionnement avant défaillance de chaque composant du système, est
un modèle qui exploite au maximum les données temporelles contenues dans les
histoires simulées. Cette classification pronostique, à partir d’un jeu de nouvelles
durées de fonctionnement avant défaillance, l’issue de l’histoire associée.
7. L’estimation de l’importance dynamique permet de savoir à tout instant quel est
le composant dont la défaillance à cet instant précis aurait le plus d’impact sur
la probabilité de l’ER, par rapport à une situation de référence. Cette définition
est généralisable à un groupe de composants.
Ce mémoire est structuré en six chapitres :
– Le chapitre 1 positionne le problème industriel et les travaux de thèse.
– Le chapitre 2 confronte un état de l’art des méthodes utilisées en fiabilité dynamique
aux enjeux méthodologiques impliqués par le problème industriel.
– Le chapitre 3 détaille les différents outils de modélisation pour la sûreté de fonctionnement.
– Le chapitre 4 décrit le fonctionnement des deux EdC étudiés et présente la modélisation
de ces systèmes par les ASH distribués et l’élaboration de la BdC qui
en découle.Introduction générale 22
– Le chapitre 5 propose une démarche prévisionnelle fondée sur la classification des
histoires et l’estimation de la probabilité d’occurrence de l’ER.
– Le chapitre 6 définit l’importance dynamique comme un indicateur de fiabilité
dynamique destiné à l’aide à la décision.Première partie
De la problématique industrielle
aux enjeux méthodologiques
23Chapitre 1
Position du problème et motivation
industrielle
Ce chapitre positionne le problème industriel, et par conséquent, ces travaux de
thèse. La section 1.1 introduit la motivation de cette thèse, c’est-à-dire l’évaluation de
la sûreté de fonctionnement des évacuateurs de crues. Ces systèmes hydrauliques ont
la particularité de dépendre d’événements aléatoires discrets, mais aussi de l’évolution
d’une variable déterministe continue. A ce titre, ce sont des systèmes dynamiques hybrides.
A travers les évacuateurs de crues, ce sont donc tous les systèmes dynamiques
hybrides qui sont concernés par la problématique : comment évaluer la sûreté de fonctionnement
des évacuateurs de crues ?
La section 1.2 énumère ensuite les enjeux de la thèse en dressant le « cahier des
charges » de la méthodologie recherchée.
1.1 Problématique industrielle : les évacuateurs de
crues et l’estimation de leur sûreté de fonctionnement
Cette section a pour but de présenter la problématique industrielle de la thèse. Après
une brève présentation de l’hydroélectricité (section 1.1.1) et une introduction sur le
rôle des évacuateurs de crues (section 1.1.2), la section 1.1.3 résume la structure des
évacuateurs de crues. Puis la section 1.1.4 dresse un rapide état de l’art de la sûreté de
fonctionnement dans le domaine de l’hydraulique. Finalement, la section 1.1.5 introduit
quelques notions d’hydrologie et d’hydraulique, notamment sur les hydrogrammes des
crues et sur les cotes de la retenue d’un barrage.
25Chapitre1. Position du problème et motivation industrielle 26
1.1.1 L’hydroélectricité en France
En France, l’hydroélectricité est l’une des principales énergies [EDF, 2011]. L’hydraulique,
qui représente 11,7% de l’énergie électrique totale produite en France en 2012,
y est ainsi la deuxième source de production d’électricité. L’utilisation du potentiel de
l’eau par des aménagements hydrauliques fournit un double avantage. D’une part, c’est
une énergie propre et renouvelable, sans impact sur le climat car elle émet très peu de
gaz à effet de serre. D’autre part, à défaut de savoir stocker l’électricité, c’est un moyen
écologique et économique de répondre rapidement aux variations de la consommation
d’électricité.
En France métropolitaine, EDF exploite 435 centrales hydroélectriques. L’eau retenue
derrière un barrage est amenée par une conduite forcée vers une turbine. La force
de l’eau fait tourner la turbine qui entraîne à son tour un alternateur, générant ainsi un
courant électrique alternatif. Le transformateur élève ensuite la tension pour faciliter le
transport de l’électricité sur de longues distances [EDF, 2011].
1.1.2 Rôle des évacuateurs de crues
En cas de crue, le volume d’eau déversé en amont de la retenue peut provoquer une
montée d’eau incompatible avec la capacité de stockage et d’absorption du dispositif de
production hydroélectrique recevant cette eau. Le volume d’eau en excédent représente
une menace pour la sécurité du barrage et il est nécessaire de l’évacuer afin de maintenir
le plan d’eau de la retenue (bassin amont du barrage) sous un niveau acceptable et
d’éviter la submersion de la digue. Aussi les barrages sont-ils dotés de structures dédiées
au déversement des eaux en excédent. Ces dispositifs, illustrés par la figure 1.1, sont
appelés évacuateurs de crues (EdC). Certains EdC fonctionnent par déversement
naturel lorsque le niveau d’eau dépasse celui du réservoir. Ce sont des EdC passifs. En
revanche, les EdC vannés requièrent la mobilisation de vannes pour déverser le volume
d’eau excédentaire.
Les évacuateurs de crues vannés sont au centre de cette thèse. L’objectif de ces
travaux est de modéliser les EdC et de les simuler du point de vue fiabiliste, puis
d’exploiter les résultats obtenus pour l’évaluation de la sûreté de fonctionnement et la
prise de décision. L’exploitation des résultats prend la forme d’indications sur la fiabilité
de ces dispositifs pour donner des pistes d’amélioration de la sûreté.
L’événement redouté (ER) est défini par l’atteinte du seuil maximal par le niveau
de la retenue. Cet événement indésirable sera par la suite également nommé « débordement
» ou OF pour « OverFlow ».27 1.1. Problèmatique industrielle
Figure 1.1 – Évacuateur de crues. Crédit photo : EDF, Patrice Dhumes
1.1.3 Composition d’un évacuateur de crues
Un évacuateur de crues est constitué d’une installation hydromécanique, d’un
contrôle-commande et d’un système d’alimentation électrique, comme l’illustre la fi-
gure 1.2. Un ou plusieurs opérateurs, alertés si besoin par un dispositif d’alarme,
contrôlent le reste de l’aménagement. Par le biais d’un contrôle-commande (local ou
non), l’opérateur sollicite un actionneur (moteur ou pompe). Cet actionneur déclenche
le mouvement de la transmission (vérin, chaîne, crémaillère, etc.). Cette transmission
communique ensuite ce mouvement aux vannes. Une passe est constituée du dispositif
actionneur - transmission - vanne.
Cette description est représentée schématiquement sur la figure 1.2 et s’applique
à tous les évacuateurs de crues. Des subtilités apparaissent dès que l’on considère des
évacuateurs différents ou que l’on rentre dans le détail de ces sous-systèmes. Chaque
composant peut tomber en panne à la sollicitation ou en fonctionnement. La plupart du
temps, la structure d’un système est telle que ce composant est relayé en cas de panne.
Ces redondances forment un réseau d’interactions complexes à modéliser. La réaction
de l’opérateur à ces pannes se traduit par la recherche du composant de secours et la
sollicitation de celui-ci. Ce type d’action de l’opérateur est associé à une probabilité
d’échec. Inversement, ces actions sont parfois automatisées.
L’objectif industriel de cette thèse est de proposer une méthodologie pour la modélisation
des EdC. Cette modélisation devra représenter le processus de crue, le rôle
de chaque composant en cas de défaillance et les réactions de l’opérateur. L’élaboration
d’un modèle suffisamment général pour représenter différents évacuateurs, mais suffi-Chapitre1. Position du problème et motivation industrielle 28
Figure 1.2 – Représentation schématique d’un évacuateur de crues
Ex´ecution efficace de syst`emes multi-agents sur GPU
Guillaume Laville
To cite this version:
Guillaume Laville. Ex´ecution efficace de syst`emes multi-agents sur GPU. Distributed, Parallel,
and Cluster Computing. Universit´e de Franche-Comt´e, 2014. French.
HAL Id: tel-01087226
https://hal.archives-ouvertes.fr/tel-01087226
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.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
Exécution efficace de systèmes
multi-agents sur GPU
Guillaume LavilleThè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
Guillaume Laville
pour obtenir le
Grade de Docteur de
l’Université de Franche-Comté
Spécialité : Informatique
Exécution efficace de systèmes multi-agents sur GPU
Soutenue le 27 juin 2014 devant le Jury :
Christophe Cambier Rapporteur Chargé de recherche (HDR) à l’Université Pierre et
Marie Curie, Paris
Michaël Krajecki Rapporteur Professeur à l’Université de Reims ChampagneArdenne
Stéphane Genaud Examinateur Professeur à l’Université de Strasbourg
Fabrice Bouquet Examinateur Professeur à l’Université de Franche-Comté
Laurent Philippe Directeur de thèse Professeur à l’Université de Franche-Comté
Kamel Mazouzi Encadrant Ingénieur de Recherche au Mésocentre de calculs de
Franche-Comté
Christophe Lang Encadrant Maître de Conférences à l’Université de Franche-Comté
N° X X XSommaire
Table des matières 6
Remerciements 7
Introduction 9
I Contexte 13
1 Les systèmes multi-agents 17
1.1 Science et simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2 Les systèmes multi-agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2 Modèles d’exécution et de programmation parallèles 27
2.1 Une réponse à des besoins en calcul . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 Parallélisation en mémoire partagée . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3 Parallélisation en mémoire distribuée . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4 Parallélisation hybride . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5 Une nouvelle architecture d’exécution : le GPU . . . . . . . . . . . . . . . . . . 34
2.6 Vers une convergence many-core . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.7 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3 Parallélisation de systèmes multi-agents 47
3.1 Stratégies de parallélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2 Plates-formes multi-agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3 État de la simulation multi-agents sur GPU . . . . . . . . . . . . . . . . . . . . 54
3.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
II Contribution 61
4 Problématique 65
4.1 Portabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66SOMMAIRE 6
4.2 Réutilisation d’algorithmes et de structures . . . . . . . . . . . . . . . . . . . . 66
4.3 Intégration avec l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.4 Extensibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.5 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5 Adaptation d’un modèle multi-agents sur GPU : Proie-Prédateur 69
5.1 Présentation du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2 Stratégies de déplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.3 Adaptation OpenCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6 Méthodes d’adaptation SMA sur GPU 79
6.1 Gestion de la dimension spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2 Développement d’un modèle sur GPU . . . . . . . . . . . . . . . . . . . . . . . 80
6.3 Parallélisation de certains traitements . . . . . . . . . . . . . . . . . . . . . . . 85
6.4 Utilisation de traitements parallélisés existants . . . . . . . . . . . . . . . . . . . 88
6.5 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7 MCMAS, une bibliothèque d’exécution générique 93
7.1 Présentation générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.3 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.4 Utilisation de l’interface de haut niveau . . . . . . . . . . . . . . . . . . . . . . 105
7.5 Développement de nouveaux plugins . . . . . . . . . . . . . . . . . . . . . . . . 109
7.6 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8 Validation sur des modèles existants 113
8.1 Parallélisation de modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
8.2 Etudes de performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9 Conclusion et perspectives 145
9.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
9.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Bibliographie 156Remerciements
Je tiens à remercier en premier lieu le Professeur Laurent Philippe, mon directeur de thèse, pour sa
sympathie, sa disponibilité, ses idées, ses conseils et ses encouragements durant mes quatre années
de thèse. Je voudrais également le remercier pour sa relecture et sa patience à corriger cette thèse.
Je remercie M. Kamel Mazouzi, Ingénieur de Recherche au Mésocentre de Calculs, pour son
soutien indéfectible et ses conseils précieux tout au long de cette thèse. Son aide et ses remarques
sur MCMAS ont en particulier eu une influence déterminante sur l’architecture et l’interface de la
bibliothèque obtenue.
Je remercie M. Christophe Lang pour son aide au cours et en dehors de nombreuses réunion,
et en particulier pour ses contributions et son expertise en systèmes multi-agents, qui m’ont été
d’une assistance précieuse dans mes travaux et mon mémoire. J’exprime également ma plus profonde
gratitude à M. Nicolas Marilleau pour avoir été un acteur clé du choix de ce sujet et de sa
réalisation, en tant que personne également confrontée aux problématiques d’implémentations de
systèmes multi-agents au quotidien.
M. Christophe Cambier et M. le Professeur Michaël Krajecki ont accepté d’être les rapporteurs de
cette thèse, et je les en remercie, de même que pour leur participation au Jury. Ils ont également
contribué par leurs nombreuses remarques et suggestions à améliorer la qualité de ce mémoire, et
je leur en suis très reconnaissant.
MM. les professeurs Fabrice Bouquet et Stéphane Genaud m’ont fait l’honneur de participer au
Jury de soutenance ; je les en remercie profondément.
Tous mes remerciements vont également au Mésocentre de Calcul de Franche-Comté, qui m’a
recruté en 2009 et sans lequel je n’aurais eu la chance unique d’être dans un cadre me permettant
d’entreprendre et de réaliser cette thèse. Je remercie en particulier Cédric pour l’ambiance
quotidienne dans le bureau et son expertise technique qui a été très utile à plusieurs reprises.
J’adresse également mes remerciements à tous les membres du DISC pour leur accueil au sein du
Département d’Informatique des Systèmes Complexes de l’institut FEMTO-ST. Cela a été pour
moi un honneur de devenir leur collègue après les avoir rencontrés en tant qu’enseignants au cours
de ma formation.
Je tiens à remercier le personnel de l’école doctorale SPIM pour son aide précieuse dans les dé-
marches administratives.
Je tiens enfin à remercier ma famille pour son soutien indéfectible au cours de la rédaction de cette
thèse, tant d’un point de vue humain que rédactionnel, pour quelqu’un comme moi qui apprécie
un peu trop les longues phrases...Introduction
Ces dernières années ont consacré l’émergence du parallélisme dans de nombreuses branches
de l’informatique, tant au niveau matériel que logiciel. Elle s’est manifestée au niveau matériel,
tout d’abord, du fait de la stagnation de l’augmentation des fréquences de fonctionnement des
unités de calcul, avec l’apparition d’architectures dotées de très grands nombres de coeurs. Elle
s’est ensuite manifestée au niveau logiciel avec la démocratisation de plates-formes d’exécution
parallèle telles que MPI ou OpenMP, ou l’apparition de nouvelles solutions comme OpenCL et
CUDA, pour exploiter ce parallélisme matériel croissant.
Cette démarche de parallélisation de l’exécution peut être rapprochée du parallélisme conceptuel
mis en œuvre dans les modèles multi-agents pour faciliter la description de systèmes complexes.
Dans ce type de modèle, l’approche choisie est de décomposer un problème difficile ou impossible
à appréhender de manière globale en sous-problèmes dont la résolution est plus simple, de
manière à obtenir une solution globale. Ces sous-problèmes sont associés à des entités, ou agents,
accomplissant chacun leurs tâches de manière simultanée et faisant évoluer le système dans son ensemble.
Si l’adéquation entre un parallélisme d’exécution logiciel et conceptuel semble naturelle,
la parallélisation reste une démarche difficile, du fait du déroulement séquentiel des opérations et
des dépendances présents dans de très nombreux modèles agents. Les plates-formes d’exécution
évoquées dans le paragraphe précédent sont généralistes, et ne sont pas spécifiquement adaptées
aux problématiques multi-agents. Cette absence de support spécialisé impose au concepteur de
nombreux développements de structures de données ou de traitements propres à son modèle, ou
l’utilisation d’une plate-forme multi-agents parallélisée fournissant déjà ces outils.
L’objectif de cette thèse est de proposer une solution commune pour faciliter l’implémentation
de tels modèles sur une plate-forme d’exécution massivement parallèle telle que le GPU,
dont le nombre important de coeurs permet d’envisager l’exécution simultanée de grands nombres
d’agents. Notre mémoire est pour cela découpé en deux parties : la présentation de notre contexte,
puis celle de nos contributions.
Pour cerner notre contexte, nous présentons dans un premier temps les concepts de simulation
et de modèle. Nous décrivons leur rôle en complément ou en remplacement de l’expérience
pour permettre une meilleure compréhension du monde qui nous entoure. Cette présentation est
également l’occasion d’introduire l’amélioration constante en précision et en taille des simulations
nécessaire à l’avancée des connaissances et l’augmentation correspondante des ressources
requises. Ce besoin motive à l’heure actuelle la recherche de nouvelles solutions d’exécution pour
des simulations même modestes, exploitant efficacement plusieurs ressources matérielles.
Nous décrivons ensuite un type de système particulier, au coeur de notre sujet de thèse : les
systèmes multi-agents. Ces systèmes permettent, en décomposant le modèle à simuler en entités
indépendantes, les agents, d’appréhender des modèles sans loi globale de comportement. La
dynamique de ces systèmes ne dépend plus alors uniquement de règles générales, mais de l’interaction
entre un ou plusieurs algorithmes s’exécutant en parallèle. La simulation de ces systèmes
rencontre, comme la simulation de manière générale, un problème de disponibilité de ressources
en calcul et en mémoire dans le cas de grands espaces ou nombres d’individus, que nous illustrons
sur quelques exemples connus.Introduction 10
L’identification de ce besoin en ressources nous amène à considérer les différentes approches
de parallélisation permettant d’y répondre, avec leurs avantages et leurs contraintes en termes
d’exécution et de programmation. Cette présentation est l’occasion d’introduire les GPU, ou cartes
graphiques, qui offrent une capacité de calcul normalement inaccessible sur le CPU d’une seule
machine. Ces matériels permettent au programme de partager aisément des données dans une
même mémoire globale tout en offrant l’accès à plusieurs centaines de coeurs. Leur utilisation est
cependant associée à de nombreuses contraintes, tant en termes de découpage de l’exécution qu’en
termes d’utilisation et d’accès aux données, pour permettre une exécution efficace.
À la suite de cette présentation des solutions de parallélisation, nous évoquons leur application
dans les simulations multi-agents. Pour cela, nous commençons par présenter les différentes
approches de découpage de l’exécution et des données généralement utilisées dans le cas de modèles
multi-agents. Nous présentons ensuite des plates-formes multi-agents supportant l’exécution
parallèle du modèle comme MadKit, Repast HPC, JADE ou encore FLAME. Nous décrivons ensuite
l’état de l’art des solutions permettant actuellement d’utiliser le GPU pour exécuter tout ou
partie d’un modèle multi-agents. Ces solutions peuvent être classées en deux catégories principales,
l’utilisation directe de modèles de programmation génériques comme CUDA ou OpenCL
ou l’utilisation d’une bibliothèque d’abstraction telle que FLAME-GPU.
Ces deux catégories laissent cependant une ouverture pour une approche intermédiaire qui faciliterait
la réalisation de simulations ou de traitements multi-agents sur GPU sans imposer l’utilisation
d’une plate-forme de développement multi-agents particulière, contrairement à FLAME-GPU
avec le formalisme FLAME. La définition de cette problématique nous sert de transition pour la
présentation de nos contributions, en seconde partie, et en particulier de MCMAS 1
, une bibliothèque
d’exécution multi-agents sur GPU développée pour répondre à ces besoins.
Notre première contribution est la présentation de l’adaptation d’un modèle multi-agents connu,
le système proie-prédateur, sur GPU, pour mettre en évidence sur un cas concret les changements
en termes de structures de données et de découpage de l’exécution nécessaires au portage de ce
type de simulation.
Cet exemple concret nous sert ensuite de fil rouge pour définir trois grandes approches de parallélisation
du modèle sur GPU : une adaptation complète de la simulation, une délégation manuelle
de certains traitements, ou la réutilisation de fonctions de haut niveau existantes. Ces approches
nous permettent de définir les interfaces attendues par ces scénarios. L’adaptation complète ou partielle
du modèle nécessite en effet une connaissance ainsi qu’un contrôle fin d’un modèle d’exécution
tel que OpenCL ou CUDA. Au contraire, la parallélisation de certains traitements uniquement
encourage une interface de programmation la plus simple possible pour le concepteur, de manière
à faciliter son intégration et son utilisation dans de nombreux modèles existants sans connaissance
particulière des détails d’implémentation.
Notre bibliothèque MCMAS vient répondre à ces types d’utilisations au moyen de deux interfaces
de programmation, une couche de bas niveau MCM 2
et un ensemble de plugins utilisables
sans connaissances GPU. Nous présentons tout d’abord l’architecture qui résulte de ces deux perspectives
d’utilisation, ainsi que la manière dont certaines de ces fonctions sont assurées, avant de
décrire l’utilisation de l’interface haut niveau de notre bibliothèque et l’ajout de fonctionnalités au
moyen de nouveaux plugins.
Nous étudions ensuite l’utilisation de cette bibliothèque sur trois systèmes multi-agents distincts
: le modèle proie-prédateur, notre fil rouge, le modèle MIOR et le modèle Collemboles. Ces
1. Many-Core Multi-Agent Systems
2. Many-Core ManagerIntroduction 11
applications sont l’occasion d’effectuer une étude des performances obtenues sur plusieurs types
et générations de cartes graphiques par chaque modèle et des facteurs contribuant à une exécution
efficace sur GPU.
Nous présentons également une synthèse de l’expérience acquise en proposant quelques
conseils pour implémenter un modèle sur cette architecture. Ces observations, tant en termes de
ressources ou de stockage de données qu’en termes de précision des traitements, visent à faciliter
une utilisation efficace du grand nombre de supports d’exécution gérés par MCMAS.
Nous dressons enfin un bilan du travail et des réflexions présentées dans notre mémoire, avant
d’évoquer quelques pistes possibles d’amélioration de notre solution. L’objectif de ces pistes est de
favoriser l’extension et l’utilisation de notre bibliothèque, en proposant des couches d’adaptations
dans des plates-formes existantes, la gestion de nouvelles structures de données, ou encore le
support transparent d’une plus grande variété de configurations d’exécution.I
Contexte15
Dans cette première partie, nous présentons tout d’abord le contexte de nos travaux, de manière
à définir la portée de notre sujet et à introduire la problématique à laquelle nous avons souhaité
répondre : la parallélisation efficace de systèmes multi-agents sur architecture à grand nombre de
cœurs.
Nous commençons par introduire le domaine de la simulation et des systèmes multi-agents et
ce qu’ils représentent. Nous abordons ensuite la problématique du besoin en ressources rencontrées
par ces modèles, lorsque nous cherchons à améliorer la précision et/ou la taille du modèle,
et en quoi la parallélisation est une solution à ce besoin. Nous évoquons alors en quoi les moyens
matériels associés à cette parallélisation peuvent être coûteux, et présentons les GPU, une architecture
matérielle permettant de disposer de plusieurs centaines de coeurs d’exécution sur une
machine locale. Après avoir présenté cette architecture, nous dressons un état de l’art des développements
et portages de systèmes multi-agents déjà réalisés sur GPU, ainsi que la présentation
d’une plate-forme multi-agents générique d’exécution sur GPU, FLAME-GPU.1
Les systemes multi ` -agents
Avant de présenter les systèmes multi-agents et l’utilisation que nous en feront, il est nécessaire
de présenter le rôle d’une simulation, mais également de définir les concepts de modèle et de
modélisation qui seront utilisés très largement dans la suite de notre propos.
1.1 Science et simulation
Dans cette section, nous commençons par présenter le contexte d’apparition de la simulation
numérique, puis son principe. Nous définissons ensuite les termes de modèle et simulation avant
d’étudier plusieurs classifications possibles des approches de modélisation permettant de passer
d’un modèle à une simulation.
1.1.1 Principe de la simulation
La résolution de problèmes est l’un des moteurs de la recherche et de l’innovation technique.
Si cette résolution a longtemps été effectuée manuellement, elle est de plus en plus confiée aux
ordinateurs à même de réaliser d’importants volumes d’opérations. Avant de pouvoir résoudre un
problème, il est cependant essentiel de disposer d’outils permettant de le décrire puis de le mesurer.
C’est le rôle de l’expérience et de la simulation.
Une simulation est par nature la reproduction d’un phénomène en dehors du contexte dans lequel
il se déroule habituellement. Cette simulation peut être de nature physique, sous la forme
d’une expérience, ou dématérialisée sur un support informatique, auquel cas on parlera de simulation
numérique. L’objectif est généralement de pouvoir étudier le phénomène en le reproduisant
et en l’observant.
Un premier moyen d’observer et de décrire un phénomène est la mise en place d’un protocole
expérimental. Ce protocole décrit un ensemble de conditions fixées ou variables où sera observé
l’évolution de certaines métriques. Son objectif est de permettre un contrôle des résultats en assurant
que l’observation soit ciblée et reproductible.
La réalisation ou la reproduction d’un phénomène dans sa globalité n’est cependant pas toujours
financièrement ou pratiquement réalisable. Il est alors nécessaire de recourir à une représentation
alternative généralement simplifiée du réel, le modèle. Dans le cas d’études topographiques
sur l’érosion, il n’est ainsi pas possible de mettre sous serre une vaste étendue de territoire de
manière à assurer des conditions contrôlées et reproductibles. De la même manière, le fait de demander
à plusieurs milliers d’individus de reproduire à loisir un comportement pré-établi implique
une coordination stricte faussant les résultats attendus.CHAPITRE 1. LES SYSTÈMES MULTI-AGENTS 18
L’objectif d’un modèle est de proposer une représentation de la réalité, de manière à en faciliter
la compréhension. Sa conception se base sur des lois déduites d’un corpus d’observations et
d’expériences.
Ce modèle peut ensuite être associé à des scénarios d’exécution reproduisant le phénomène
observé correspondants à des conditions particulières pour en faire une simulation informatique.
Après cette courte introduction, nous allons maintenant définir formellement ces concepts.
1.1.2 Définitions : modèle, simulation
Le modèle est une représentation d’un phénomène ou d’un système permettant de le rendre
plus aisément manipulable, comme souligné par cette définition proposée par Peter Haggett en
1973 [Hag73] :
Définition (modèle) : les modèles sont des représentations schématiques de la réalité, élaborés
en vue de la comprendre et de la faire comprendre.
Cette simplification implique une approximation du système simulé : un modèle est donc une
vision simplifiée de la réalité.
Wilson [Wil74] propose de son côté une définition de la simulation indépendante de toute
notion de modèle :
Définition (simulation) : par nature, une simulation est quelque chose pouvant être lancé, modifié,
et produisant des résultats (exemple du crash-test). Peut être de nature physique (expérience
dans un environnement contrôlé) ou dématérialisée (informatique).
Cette définition met en avant l’indépendance entre les concepts de modèle et de simulation :
une simulation est avant tout un moyen de produire des résultats, que ce soit à de manière physique
ou informatique.
Le passage d’un système concret à un modèle de simulation correspond à un processus nommé
modélisation.
1.1.3 Un continuum d’approches de modélisation
Notre contexte de travail est celui des systèmes multi-agents. Afin de situer ce contexte, nous
rappelons ici les caractéristiques des principales approches de modélisation, qu’elles reposent
sur l’utilisation de lois mathématiques de type équations différentielles ou statistiques ou sur la
conception d’algorithmes représentant le comportement d’entités individuelles.
Nous proposons ici deux axes possibles de caractérisation de ces approches de modélisation.
Ces caractérisations ne doivent pas être considérées comme hermétiques, car certaines démarches
reprennent des éléments de chacune de ces approches de modélisation pour décrire des aspects
différents d’un même modèle.CHAPITRE 1. LES SYSTÈMES MULTI-AGENTS 19
Modélisation ascendante ou modélisation descendante
Un premier axe de classification des approches de modélisation est la direction, descendante
ou ascendante, dans laquelle cette démarche est appliquée au système simulé [CKQ+07, Jac98].
Dans une approche descendante (ou top-down), un comportement global est appliqué à tous les
éléments particuliers du modèle. Il est par exemple possible, en observant l’évolution de la quantité
d’oxygène présente dans l’environnement de bactéries aérobies, d’en déduire une loi décrivant la
dynamique générale du système. Cette loi peut alors être utilisée pour reproduire cette évolution de
manière informatique sous forme de modèle, sans avoir à réaliser à nouveau l’expérience concrète.
En appliquant les mêmes lois à tout le système, cette modélisation rend cependant difficile la
description de comportements émergents des entités simulées entraînant une évolution non linéaire
du modèle du fait de conditions particulières.
Dans le cas de ces comportements émergents en effet, seul le comportement de chaque élément
est connu : il devient nécessaire d’adopter une approche ascendante (ou bottom-up). Le comportement
du modèle dans son ensemble n’est alors plus globalement décrit par des lois globales mais
par une combinaison d’algorithmes représentant les comportements locaux présents dans le système.
Dans de nombreux systèmes biologiques, l’équilibre du métabolisme est basé sur l’interaction
de processus antagonistes tels que la constitution de réserves de nutriments et la reproduction.
L’évolution du système est alors directement déterminée par les conditions environnementales et
l’impact résultant de chacun de ces mécanismes, ce qui rend une prévision a priori de l’évolution
globale du système moins accessible. L’approche ascendance permet alors une modélisation plus
adaptée, basée sur la description des comportements de chaque sous-élément du système.
Le choix de l’une ou l’autre de ces approches de modélisation est fonction du niveau de connaissance
initial du système et du type de résultats souhaités, locaux ou portant sur l’évolution globale
du modèle.
Simulation continue et simulation à événements discrets
Une autre distinction est effectuée dans la littérature [BPL+06, Fuj03] entre les simulations
continues et les simulations à événements discrets (DES).
Une simulation continue permet de représenter des phénomènes par nature ininterrompus dits
continus. Dans le cas d’une diffusion thermique dans un solide, il est ainsi possible de définir
l’état du système à n’importe quel instant au moyen de fonctions mathématiques, généralement
des équations différentielles. Dans ce cas, le choix de l’échelle de temps retenue est arbitraire et
dépend uniquement de la durée et de la fréquence de l’observation demandée.
Une simulation à événements discrets permet au contraire de décrire des systèmes dont l’évolution
dépend d’événements particuliers : en l’absence de ces éléments déclencheurs, la simulation
demeure statique. Un exemple de système à événements discret est une chaîne de production, inactive
en l’absence de tâches à traiter. Ce type de simulation peut être décrit sous la forme de réseaux
de Petri conçus pour la description de systèmes basés sur des variables discrètes, ou encore sous
forme de systèmes multi-agents.
Certaines simulations peuvent présenter à la fois des comportements discrets et continus. L’évolution
de la position d’une balle en chute libre obéit ainsi à une loi continue, mais le sens du mouvement
de cette balle est modifié de manière discrète par tout contact avec un autre objet, qu’il
s’agisse du sol ou d’un autre obstacle. Il est dans ce cas possible de recourir à des simulations
continues à événements discrets, ou simulations hybrides, associant ces deux fonctionnements.CHAPITRE 1. LES SYSTÈMES MULTI-AGENTS 20
1.2 Les systèmes multi-agents
Après avoir présenté la simulation de manière générale, nous nous intéressons plus spécifi-
quement aux systèmes et aux simulations multi-agents. La simulation à base d’agents centre le
modèle sur des entités indépendantes nommées agents. Des comportements et des données sont
associés à chacun de ces agents, de manière à obtenir des informations sur le modèle global : la
modélisation à base d’agents est donc une modélisation de type ascendante permettant de simuler
un environnement à partir de ses composants élémentaires.
Les modèles basés sur ce paradigme de conception sont dits modèles multi-agents. Les simulations
réalisées à partir de ce type de modèles sont alors appelées simulations multi-agents.
Ce type particulier de simulations peut être décomposé en deux sous-classes [Fuj03] de simulations
à événément discrets :
— Les simulations discrètes par pas de temps (time-driven). Dans ce cas l’évolution du système
est guidée par le temps découpé en pas réguliers parcourus par la simulation.
— Les simulations discrètes par événément (event-driven). Dans ce cas l’évolution du système
est guidée par une chaîne chronologique d’événements.
1.2.1 Définition et concepts
Il est important de définir le concept d’agent pour comprendre celui de système multi-agents.
Pour cela, nous nous référons à la définition proposée par Jacques Ferber dans [Fer95] :
On appelle agent une entité physique ou virtuelle
— qui est capable d’agir dans un environnement,
— qui peut communiquer directement avec d’autres agents,
— qui est mue par un ensemble de tendances (sous la forme d’objectifs individuels ou d’une
fonction de satisfaction, voire de survie, qu’elle cherche à optimiser),
— qui possède des ressources propres, et qui est capable de percevoir (mais de manière limitée)
son environnement,
— qui ne dispose que d’une représentation partielle de cet environnement (et éventuellement
aucune),
— qui possède des compétences et offre des services,
— qui peut éventuellement se reproduire,
— dont le comportement tend à satisfaire ses objectifs, en tenant compte des ressources et des
compétences dont elle dispose, et en fonction de sa perception, de ses représentations et
des communications qu’elle reçoit.
Cette définition met en avant les capacités d’action sur l’environnement et de communication
associées à ces agents. Elle souligne également la vision partielle de l’environnement associée
à chaque agent, dont l’évolution est déterminée par cette perception partielle plutôt que par une
connaissance globale du modèle.
Cette notion d’agent n’a de sens que comme partie d’un système plus large, le système multiagents,
sans lequel ces possibilités de communication sont inutiles. Ferber propose également,
dans le même ouvrage, une définition de ces systèmes :
On appelle système multi-agents (ou SMA) un système composé des éléments suivants :
— Un environnement E, c’est-à-dire un espace disposant généralement d’une métrique.
— Un ensemble d’objets O. Ces objets sont situés, c’est-à-dire que, pour tout objet, il estCHAPITRE 1. LES SYSTÈMES MULTI-AGENTS 21
possible, à un moment donné, d’associer une position dans E. Ces objets sont passifs,
c’est-à-dire qu’ils peuvent être perçus, créés, détruits et modifiés par les agents.
— Un ensemble A d’agents, qui sont des objets particuliers (A ∈ O), lesquels représentent les
entités actives du système.
— Un ensemble de relations R qui unissent des objets (et donc des agents) entre eux.
— Un ensemble d’opérations Op permettant aux agents de A de percevoir, produire, consommer,
transformer et manipuler des objets de O.
— Des opérateurs chargés de représenter l’application de ces opérations et la réaction du
monde à cette tentative de modification, que l’on appellera les lois de l’univers.
L’implémentation d’un système multi-agents débute par la conception ou le choix d’un modèle
multi-agents basé sur des agents, un environnement et les interactions entre ces entités [DSJD02].
Ces interactions et cette organisation définissent la fonction, le type et les scénarios de communication
possibles dans le système simulé [JOF03]. En fonction du modèle, ces communications
peuvent être directes ou indirectes, par le biais des mises à jour de l’environnement perçues ensuite
par d’autres individus.
Les systèmes multi-agents représentent un continuum de simulation très large, s’étendant
d’exemples très simples à des problèmes proches de l’intelligence artificielle. Cette diversité des
problématiques est reflétée par le vaste vocabulaire employé par cette communauté scientifique,
mêlant des concepts tels que celui d’agent à des notions moins directes d’objectif, de croyance ou
de perception.
Un aspect présent dans de nombreux systèmes multi-agents est celui d’environnement. L’environnement
décrit l’espace dans lequel évoluent les agents, sa structure (composition, agencement)
et sa dynamique. Il peut être considéré comme un agent spécifique ou comme un simple ensemble
de structures de données partagées. Il est typiquement chargé du stockage des propriétés globales
au modèle, mais peut être associé à d’autres fonctions :
— Il peut remplir des fonctions à l’échelle du modèle telles que la gestion du temps ou la mise
à jour des paramètres globaux à chaque itération.
— Il peut servir d’espace de stockage de tout ou partie des informations des agents.
— Il peut également remplir le rôle de médium de communication.
Des normes telles que FIPA [fip] ont été proposées pour standardiser l’implémentation de ce
type de simulations. Cette norme, publiée en 1997, établit de nombreuses règles liées aux modes
de communications et d’interactions entre agents par le biais d’échanges de messages. Elle est
basée autour de trois rôles particuliers :
— Le système de gestion d’agents (Agent Management System, ou AMS), responsable de la
supervision de l’accès et de l’usage de la plate-forme. Il assure en particulier l’authentifi-
cation des agents présents et le contrôle des nouveaux enregistrements.
— Le canal de communications entre agents (Agent Communication Channel, ou ACC) fournit
l’infrastructure de communication entre agents. Cette interface doit être compatible
avec le protocole IIOP, pour garantir l’interopérabilité entre plates-formes multi-agents.
— L’assistant d’annuaire (Directory Facilitator, ou DF) propose un service de recherche aux
agents de la plate-forme pour découvrir facilement les autres agents présents dans le modèle.CHAPITRE
1. LES SYSTÈMES MULTI-AGENTS 22
1.2.2 Agents réactifs, agents cognitifs
Il est courant d’effectuer dans les systèmes multi-agents une distinction entre agent cognitif et
réactif [WD92, CDJM01] en fonction de leurs capacités d’action et de raisonnement.
Un agent cognitif dispose d’une mémoire de son passé et de son environnement lui permettant
d’effectuer des déductions sur celui-ci et d’en prédire de futures évolutions. Le comportement de
l’agent est déterminé par des intentions, correspondant à des objectifs à atteindre, et orientant les
choix effectués entre plusieurs actions possibles. Ce type d’agent est utilisé pour représenter des
individus dotés d’une intelligence propre. Celle-ci est alors souvent décrite sous la forme d’un
moteur d’inférence intégré dans l’agent. Un exemple d’agent cognitif est ainsi le modèle proposé
par J. Doran [DP93] pour décrire les évolutions sociales des sociétés du Paléolithique dans le
sud-ouest de la France en fonction de la répartition des ressources. Cet article met en évidence
l’importance des décisions prises par des individus particuliers sur la base d’une vision à moyen et
long terme, plutôt qu’en simple réaction à une situation immédiate, pour expliquer les évolutions
de peuplement observées en archéologie.
Un agent réactif ne peut au contraire que réagir à l’état instantané du système. Son comportement
peut être caractérisé en se basant sur la psychologie comportementale comme purement
S-R (Stimulus-Reaction), où S représente un état particulier de l’environnement et R une série
d’actions élémentaires entreprises par l’agent en réaction à cet état. De tels comportements sont
rencontrés aussi bien pour des animaux [McF87] que pour des créatures artificielles [Mae90].
La séparation entre agents réactifs et cognitifs n’est pas très nette, et certains agents mélangent
donc des comportements réactifs et cognitifs. Cette vision à plus ou moins long terme de l’environnement
a un impact important sur la complexité de chaque agent et donc sur celle de son
implémentation.
1.2.3 Implémentation de modèles agents
Les systèmes multi-agents les plus simples peuvent être implémentés sous forme d’automates
cellulaires. Ces automates sont également souvent utilisés pour représenter l’environnement de
systèmes multi-agents plus complexes [SFS10].
Comme toute simulation informatique, l’exécution de simulations multi-agents requiert des
ressources tant en termes de mémoire, pour stocker les données du système, qu’en temps de calcul
pour le faire évoluer. Dans le cas des simulations multi-agents, ces besoins dépendent de deux
facteurs principaux :
— Des ressources requises par l’environnement. S’il s’agit d’un environnement stockant des
données pour chaque unité de l’espace de simulation, les ressources mémoires requises
pour représenter cet espace seront alors proportionnelles à sa taille. Si un traitement est
associé sur chacune de ces unités, le temps d’exécution associé aux processus de l’environnement
va également en augmentant.
— Des ressources requises par les agents. Une augmentation du nombre d’agents implique
une augmentation du nombre d’attributs à représenter, ainsi que du nombre d’individus à
faire évoluer.
D’autres parties de la simulation, comme la récupération ou le stockage de résultats, contribuent
également à ces besoins en ressource. Leur impact n’est cependant pas nécessairement lié à la taille
du système simulé. Dans la suite de cette section, nous allons illustrer dans le cadre de quelque
simulations multi-agents connues l’impact des agents ou de l’environnement sur la consommationCHAPITRE 1. LES SYSTÈMES MULTI-AGENTS 23
en ressources en fonction de la taille du système simulé.
1.2.4 Exemples de modèles
Jeu de la vie
L’exemple le plus connu de modèle multi-agents simple implémenté sous la forme d’automate
cellulaire est probablement le Jeu de la Vie (Game of Life), imaginé en 1970 par John Horton
Conway [Gar70]. Ce modèle est constitué d’une simple grille dont chaque cellule est soit "vivante"
soit "morte". L’évolution de l’état de chaque cellule à la prochaine itération est déterminé par le
nombre de ses voisines vivantes à l’itération précédente :
— Une cellule morte possédant exactement trois voisines vivantes devient vivante.
— Une cellule vivante possédant deux ou trois voisines vivantes le reste.
— Une cellule vivante meurt dans le reste des cas.
Ce système simple est souvent employé comme exemple d’introduction à l’utilisation de platesformes
agent [Mic02, net], pour en présenter les concepts et la syntaxe fondamentale dans le cadre
d’un modèle connu.
La seule structure de données du système dans ce cas est l’environnement. Comme cet environnement
décrit toutes les cellules possibles, la mémoire requise est directement fonction de sa
taille : si celle-ci double, la consommation en mémoire sera alors multipliée par quatre (espace en
deux dimensions).
Le temps d’exécution est également directement lié à la taille de cet environnement grille, le
même traitement devant systématiquement être appliqué à chaque cellule. Comme chaque traitement
ne s’applique qu’à la cellule locale, la quantité totale de traitements à exécuter à chaque
itération est proportionnelle à la taille de l’environnement. Ce modèle très simple peut donc devenir
coûteux à grande échelle et, de ce fait, nécessiter des ressources de calculs parallèle pour
explorer de grandes tailles de modèles [MCM12].
Abeilles
Un autre modèle largement représenté dans les différentes plates-formes multi-agents et la littérature
est le mouvement d’essaims d’abeilles. Dans cet essaim, chaque agent est associé à une
position dans un espace de simulation en deux ou trois dimensions, l’environnement. La position
de chaque individu est ensuite mise à jour à chaque itération de manière à pouvoir observer le
comportement global de l’essaim.
Ce modèle met en jeu deux types d’agents :
— La reine : cet agent particulier se déplace aléatoirement dans l’espace.
— L’abeille ouvrière : cet agent tend à se rapprocher de la reine de l’essaim en ajustant sa
direction de déplacement. Si plusieurs reines sont en présence, l’individu sélectionne l’une
de ces reines, ce qui peut induire des changements d’essaim.
Ce modèle est une excellente illustration de l’apparition d’un comportement émergent complexe,
la création, la fusion et l’évolution de la forme d’un ou plusieurs essaims, à partir d’algorithmes
simples. Le comportement observé varie en fonction des paramètres de la simulation et en
particulier de la vitesse de déplacement ou du champ de vision de chaque individu.
Dans ce modèle, contrairement au jeu de la vie, l’environnement n’est plus une véritable struc-CHAPITRE 1. LES SYSTÈMES MULTI-AGENTS 24
ture de données séparées, mais un espace dans lequel une position est associée à chaque agent. Il
n’est pas non plus associé à ses propres traitements.
Les besoins en mémoire et en calcul sont donc cette fois directement dépendants du nombre
d’agents présents dans le système. Les besoins en mémoire évoluent de manière linéaire avec le
nombre total d’agents présents dans le système, et donc la quantité d’attributs à stocker. L’évolution
des besoins en calcul est cette fois encore linéaire, mais proportionnelle au nombre d’abeilles
ouvrières présentes dans le modèle, plutôt qu’à la taille de l’environnement.
Fourmis
Un autre modèle multi-agents connu est celui de la colonie de fourmis, représentant le déplacement
des individus d’une fourmilière à la recherche de nourriture. Il est possible d’identifier trois
types d’agents dans ce système :
— La fourmilière. Cet agent fixe représente le point de départ et de retour des fourmis. Il est
souvent responsable du stockage de la nourriture de manière à permettre la présence de
plusieurs colonies dans une même simulation.
— Le dépôt de nourriture. Il est représenté soit sous la forme d’un agent fixe dans le cas d’un
espace de simulation continu, soit sous la forme d’une donnée associée à chaque unité de
l’environnement.
— La fourmi, seul agent mobile capable de se déplacer dans l’environnement. Sa fonction est
de localiser et de ramener de la nourriture à sa fourmilière.
L’évolution globale de la simulation est déterminée par le mouvement des fourmis et la répartition
géographique des fourmilières et des ressources dans l’environnement. La vitesse de collecte
de nourriture peut alors être utilisée comme métrique d’évaluation de différentes stratégies de dé-
placement appliquées aux fourmis. Dans les cas les plus simples, ces déplacements sont effectués
de manière aléatoire, mais un comportement plus réaliste est le dépôt et la prise en compte de
phéromones dans l’environnement. Ces marqueurs chimiques encouragent l’individu à privilégier
certaines directions de déplacement, et permettent l’émergence puis l’optimisation de chemins
particuliers pour la récolte des ressources sans intelligence centrale directrice. Dans ce cas, l’environnement
joue à la fois le rôle de mémoire et de médium d’interaction indirect entre individus.
Ce troisième exemple représente un cas où l’environnement et les agents correspondent chacun
à des structures de données et des traitements distincts, et contribuent donc tous deux aux besoins
en termes de mémoire et de calcul. L’évolution des ressources en fonction de la taille du modèle
et du nombre d’agents reprend à la fois des aspects du jeu de la vie et des abeilles :
— La consommation en mémoire est proportionnelle à la taille de l’environnement et du
nombre d’agents : si la taille du modèle est multipliée par deux, le nombre de cellules devant
être stockées est multiplié par quatre, si une grille discrète de phéronomes est utilisée.
De même, si le nombre d’agents fourmis est multiplié par deux, la mémoire est également
multipliée par deux, pour stocker les données de ces individus supplémentaires.
— La consommation en temps de calcul est proportionnelle de la même manière à la taille
de l’environnement, du fait de la nécessité de calculer la diffusion des phéromones dans la
grille à chaque itération. Elle est également proportionnelle au nombre d’individus dont le
déplacement doit être géré.
Il est important de noter que ces constatations ne sont valables que si l’environnement utilisé est
une grille. Dans le cas où les phéromones seraient considérées comme des agents fixes, l’évolution
des besoins en ressources se rapproche à nouveau de celle du modèle des abeilles.CHAPITRE 1. LES SYSTÈMES MULTI-AGENTS 25
1.2.5 Représentation de l’espace de simulation
Si les modèles évoqués jusqu’à présent stockent les informations de positionnement soit sous
forme de coordonnées à l’intérieur de chaque agent, soit sous forme de structures de grille en
deux ou trois dimensions, de nombreuses autres solutions de représentation sont possibles pour
l’environnement du système et l’emplacement des agents.
Galland et all [GGDK09] proposent ainsi pour le positionnement en milieu urbain deux approches
complémentaires :
— L’utilisation d’une carte de hauteur (heighmap), où chaque pixel indique l’altitude du point
de l’espace simulé correspondant. L’information est alors encore une fois représentée sous
forme de grille, ici une image.
— L’utilisation d’un modèle de positionnement des objets.
L’objectif de cette seconde représentation est de permettre un accès rapide à la position et à
l’orientation des objets présents dans le modèle. L’environnement est découpé en zones décrites
par un graphe, pour un environnement en une dimension, ou par un arbre spatial. Chacun des
objets du système est alors associé au noeud correspondant aux zones où il est situé, de manière
à rapidement pouvoir déterminer les objets présents ou non dans un espace donné. Il est possible
à un objet d’appartenir à plusieurs zones, s’il se trouve sur une frontière : dans ce cas, l’objet est
copié et stocké à plusieurs endroits de la structure.
Si dans ce cas la représentation sous forme de graphe est utilisée en complément d’une grille,
de nombreux environnements multi-agents basés sur des axes de circulation discrets peuvent être
entièrement représentés sous forme de graphe. Ces structures se retrouvent au sein de nombreux
modèles de recherche de chemin dans la littérature agent, en particulier dans le cas de simulations
de trafic routier [SN09].
1.2.6 Synthèse
L’étude des modèles du jeu de la vie, des abeilles ou des fourmis permet de mettre en évidence
que l’exécution d’une simulation multi-agents peut rapidement devenir coûteuse, particulièrement
dans le cas où l’environnement est représenté sous la forme d’une structure de données
de type grille ou si le temps d’exécution de chaque agent est proportionnel à la quantité d’individus
présents dans le modèle. Plusieurs scénarios sont à même d’imposer des simulations de taille
importante, en espace de simulation ou en nombre d’agents.
Un premier scénario est la volonté de simuler des systèmes mettant eux-même en jeu des espaces
géographiques ou des populations importantes. C’est par exemple le cas de la simulation
d’une ville : une simulation doit alors idéalement être capable de traiter tout son espace et ses
habitants dans une même exécution, pour garantir une bonne représentation du système. Cette
problématique est au coeur de projets comme MIRO [BBMC+10], qui vise à étudier la mobilité
urbaine.
Un deuxième scénario est celui des systèmes multi-échelles, où des simulations de portées très
différentes doivent être couplées. Un exemple de tel système est Sworm [BMD+09], dédié à la
modélisation de l’évolution des sols. Dans ce modèle, les principaux intervenants sont les vers
de terre, à même de consommer et diffuser de la matière organique dans le sol. Cette matière
organique fait également l’objet d’une évolution d’origine microbienne. Dans ce cas, la simulation
même d’un petit volume de sol implique la réalisation de très grands nombres de simulations
microscopiques MIOR.CHAPITRE 1. LES SYSTÈMES MULTI-AGENTS 26
Un dernier scénario enfin est de vouloir garantir l’apparition des comportements observés en
pratique au sein de la simulation. Une simulation de trafic proposée par Strippgen [SN09] met
en avant, même dans le cas où le système peut être décomposé à loisir, l’importance de taille ou
de populations minimales pour voir émerger certains comportements. Dans ce cas, utiliser une
simulation de trop petite taille, même quand c’est possible, est susceptible de fausser les résultats
observés par rapport à une situation de taille plus importante.
Cette utilisation d’environnements de grande taille ou de populations agents importantes est
susceptible d’amener deux types de problèmes :
— Des besoins en mémoire ne pouvant plus être assurés par une seule machine.
— Des temps d’exécution très longs. Ces temps sont ainsi de l’ordre de la semaine dans le cas
du modèle Sworm.
Le recours à la parallélisation de l’exécution du système est une solution possible à ces deux
limitations, comme nous l’abordons dans la suite.2
Modeles d ` ’execution et de programmation ´
paralleles `
La parallélisation est une solution pour accélérer l’exécution d’un programme ou pour permettre
le traitement de données de taille plus importante en les répartissant sur plusieurs machines.
Il est possible de distinguer deux grands modèles d’exécution en parallèle : la parallélisation en
mémoire partagée et la parallélisation en mémoire distribuée. Dans ce chapitre, nous présentons
ces deux modèles de parallélisation ainsi que des exemples d’outils en facilitant l’exploitation.
Nous illustrons également leur impact sur le découpage des données et de l’exécution d’un programme.
Dans les sections suivantes, nous présentons tout d’abord en quoi cette parallélisation vient en
réponse aux besoins en ressources de calcul. Nous nous focalisons ensuite sur la parallélisation
en mémoire partagée, et son exploitation par le biais des interfaces de programmation OpenMP
et OpenACC. Nous présentons ensuite la parallélisation en mémoire distribuée et l’interface de
programmation MPI, avant d’évoquer la parallélisation hybride combinant ces deux approches.
Nous nous intéressons enfin à une nouvelle architecture d’exécution, le GPU, et voyons son modèle
de programmation et ses apports par rapports aux architectures d’exécution traditionnelles
en mémoire partagée ou en mémoire distribuée. Ces présentations nous permettent de définir les
concepts utilisés pour la parallélisation des systèmes multi-agents.
2.1 Une réponse à des besoins en calcul
Une constante universelle de la recherche scientifique est la nécessité permanente d’avancer
plus loin dans la connaissance. Ce progrès peut être obtenu en ouvrant de nouvelles voies de recherches
ou en améliorant les connaissances existantes, au moyen d’expérimentations plus précises
ou de taille plus importante.
A l’origine, ce processus a été purement mécanique, motivant l’invention de capteurs ou de
méthodes de mesure du temps toujous plus fiables. Son application aux simulations informatiques
se traduit désormais en besoins croissants en ressources mémoires et d’exécution.
La progression en puissance de calcul du matériel a longtemps été assurée par l’accroissement
des fréquences de fonctionnement des processeurs. Une augmentation en fréquence a en effet
pour avantage de permettre à un programme limité par la vitesse du processeur de s’exécuter plus
rapidement sans la moindre adaptation, à performance constante par cycle d’horloge.
Cette augmentation de la fréquence a toutefois été freinée par l’apparition de multiple obstacles
physiques, notamment en termes de miniaturisation et de densité thermique. L’accroissement de
la puissance de calcul implique à présent une multiplication du nombre de coeurs d’exécutionCHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 28
soit de manière locale (processeur multi-coeurs), soit de manière distante en interconnectant de
nombreuses machines (clusters de calculs). La parallélisation des programmes est alors un moyen
de tirer parti de cette nouvelle répartition des ressources d’exécution.
La démarche de parallélisation est également motivée par l’accroissement des besoins en mé-
moire des programmes. Si le passage de nombreuses architectures au 64 bits permet maintenant
l’adressage de très grands espaces de travail, les quantités de mémoire physiquement utilisables
sur une même machine restent limitées. Dans ce cas la parallélisation permet d’additionner les
capacités mémoires fournies par plusieurs machines.
Ce besoin croissant en puissance de calcul est illustré par l’augmentation d’année en année
des capacités offertes par les plus puissants clusters mondiaux du TOP500 1
. Les premières places
de ce classement étaient ainsi occupées par des solutions de l’ordre de la centaine de TeraFlops
(1000 milliards, ou 1012 opérations flottantes par seconde) en juin 2005, puis du PetaFlops (1015
opérations) en juin 2009. En novembre 2013, les premières machines du classement proposent
maintenant des puissances de plusieurs dizaines de PetaFlops.
Si cette parallélisation est un moyen d’accéder à davantage de ressources d’exécution, les gains
en termes de temps obtenus dépendent directement de la fraction de temps d’exécution du programme
à même d’être parallélisée par rapport à celle devant demeurer séquentielle. La loi d’Amdahl
[Amd67], énoncée en 1967, rappelle que le gain de performance pouvant être attendu de la
parallélisation d’une partie d’un programme est directement proportionnel à la fraction du temps
d’exécution correspondant.
Ta = (1 − s)T +
sT
Ac
S =
T
Ta
=
1
(1 − s) +
s
Ac
Où sont représentés :
— T le temps d’exécution du programme avant parallélisation.
— Ta le temps d’exécution du programme après parallélisation.
— s la fraction du temps T concernée par l’amélioration.
— Ac le facteur d’accélération obtenue sur la portion concernée.
— S le facteur d’accélération globale.
En pratique, l’application de cette loi se manifeste par une stagnation des performances au-delà
d’un certain nombre de coeurs. Celle-ci survient d’autant plus rapidement que la fraction de temps
parallélisée diminue, tel qu’illustré par la Figure 2.1.
2.2 Parallélisation en mémoire partagée
2.2.1 Modèle d’exécution
La parallélisation en mémoire partagée est un modèle d’exécution permettant de tirer parti de
ressources de calcul parallèles sur une même machine en découpant l’exécution du programme en
plusieurs fils d’exécutions disposant d’un accès à un espace mémoire commun (Figure 2.2).
1. http ://www.top500.org/CHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 29
20.00
18.00
16.00
14.00
12.00
10.00
8.00
6.00
4.00
2.00
0.00
Accélération
1
2
4
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
65536
Nombre d'unités d'exécution
Loi d'Amdahl
Portion parallélisable
50%
75%
90%
95%
Figure 2.1 – Exemples d’applications de la loi d’Amdhal
Une première manière de paralléliser l’exécution du programme est de faire appel à des processus
légers, ou threads. Ces processus sont dit légers car ils partagent l’ensemble de leur espace
mémoire, ce qui réduit les coûts de création ou de destruction associés à ces threads par rapport à
des processus distincts, dits lourds.
Une autre manière de paralléliser une exécution est de partager des portions de mémoires entre
processus indépendants, soit en recopiant les données d’un processus parent au moment de la création
d’une processus fils (fork), soit en utilisant les primitives de mémoire partagée proposées par
le système. Cette technique est souvent employée pour des services où un unique processus parent
demeure en attente de traitements à confier à un ou plusieurs processus fils. Ce fonctionnement est
qualifié de maître-esclave.
La parallélisation en mémoire partagée n’implique par nécessairement la création de plusieurs
processus et peut également être réalisée au niveau de l’instruction. Dans ce cas, une même opération
est appliquée à plusieurs données (SIMD) indiquées sous forme de vecteurs. Ces instructions
sont pour cette raison dites vectorielles. Ce mode d’exécution est à la base de l’exécution sur GPU.
La parallélisation en mémoire partagée est le modèle de parallélisation le plus aisé à exploiter
car il permet de conserver un seul espace mémoire pour toutes les tâches. Ce partage facilite
l’adaptation d’un algorithme séquentiel avec un minimum de modifications, sans répartition particulière
des données. Comme pour toute ressource partagée, il devient cependant nécessaire de
gérer la cohérence des données mémoires puisque plusieurs tâches peuvent les modifier de manière
simultanée. Suivant le langage de programmation utilisé, cette synchronisation de l’accès
aux données peut être intégrée au niveau des structures de données fournies (structure de données
"thread-safe") ou être de la responsabilité du développeur.
L’obligation de conserver toutes les ressources sur une même machine rend difficile l’utilisation
de ce type de parallélisation au-delà de quelques dizaines de coeurs et d’une centaine de gigaoc-CHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 30
tets de mémoire vive avec des processeurs traditionnels. Ces limites correspondent de plus à des
machines dédiées à ce type de parallélisation et sont donc en pratique beaucoup plus basses pour
des machines de bureau ou des ordinateurs portables.
CPU1
Mémoire du programme
Tâche 1
CPU2
Tâche 2
CPU3
Tâche 3
CPU4
Tâche 4
Figure 2.2 – Découpage d’une exécution en mémoire partagée
L’utilisation de la parallélisation en mémoire partagée est grandement facilitée par des bibliothèques
génériques telles que OpenMP, utilisé par de nombreuses simulations agents.
2.2.2 OpenMP, un modèle de programmation
OpenMP [CDK+01] est un modèle de programmation pour les langages C, C++ et Fortran
permettant le calcul parallèle en mémoire partagée. Il a été pour la première fois proposé en 1997.
La parallélisation offerte par ce modèle repose sur la création et l’exécution implicite de sections
parallèles d’un programme par un ensemble de threads, ou workers, alloués et gérés automatiquement
par OpenMP. Ces sections parallèles sont indiquées par le biais de directives de
préprocesseur classées en instructions de contrôle d’exécution (boucles parallèles), en directives
de partage des données (privées, partagées), en outils de synchronisation permettant de coordonner
la progression de l’exécution des threads et en fonctions de gestion de l’environnement.
La possibilité d’annoter un code source existant facilite grandement l’utilisation d’OpenMP
pour paralléliser de manière incrémentale un programme séquentiel. OpenMP permet également
de configurer le nombre de coeurs d’exécution locaux à utiliser, pour mesurer aisément l’impact
de la parallélisation sur les performances obtenues.CHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 31
2.3 Parallélisation en mémoire distribuée
Les ressources fournies par une seule machine ne suffisent pas toujours à atteindre les objectifs
en termes de temps d’exécution ou de mémoire requis par le programme. Dans ce cas, il
devient intéressant de pouvoir exploiter simultanément plusieurs machines. Cette parallélisation
est souvent utilisée sur des grilles (machines hétérogènes reliées par un réseau informatique) ou
des clusters (ensemble de noeuds de calculs homogènes, souvent reliés par un réseau informatique
haute performance tel que Infiniband).
2.3.1 Modèle d’exécution
La parallélisation en mémoire distribuée requiert une distribution explicite des données entre
tâches d’exécution (Figure 2.3) de manière à permettre la répartition des tâches sur plusieurs machines
dotées de mémoire indépendantes. Cette distribution des données permet également de
s’affranchir des limitations en termes de taille mémoire imposées par une seule machine, en ne
stockant pour chaque unité de traitement que les données nécessaires à son exécution. Cette répartition
implique cependant la copie de certaines données communes dont la modification doit être
ensuite répercutée dans les autres processus.
La parallélisation en mémoire partagée impose également des modifications en profondeur de
l’algorithme pour prendre en compte ce découpage mémoire, ce qui rend son utilisation pour un
programme existant moins aisée que la parallélisation en mémoire partagée.
CPU1
Mémoire
Tâche 1
Tâche 1
CPU2
Mémoire
Tâche 2
Tâche 2
CPU1
Mémoire
Tâche 1
Tâche 1
Réseau
CPU3
Mémoire
Tâche 3
Tâche 3
CPU4
Mémoire
Tâche 4
Tâche 4
Figure 2.3 – Découpage d’une exécution en mémoire distribuée
La parallélisation en mémoire partagée requiert une prise en compte explicite du découpage des
données par le concepteur du programme, mais peut elle aussi être facilitée au moyen de modèles
de programmation comme MPI, capables d’abstraire la localisation et les communications entres
portions du programme.
2.3.2 Un modèle de programmation standard : MPI
MPI [Mes09] est une norme définissant un ensemble de fonctions de communication entre
processus locaux ou distants. Des implémentations pour les langages C, C++ et Fortran en sontCHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 32
disponibles sur de nombreuses plates-formes, ce qui en fait un standard pour la réalisation de
parallélisations distribuées.
L’objectif de ces fonctions est de permettre de bonnes performances d’exécution aussi bien sur
une même machine qu’entre des machines distantes. MPI repose pour cela sur un ensemble de
primitives de communication de haut niveau susceptibles d’exploiter les mécanismes optimisés
d’échange de données offerts par le système d’exploitation et le matériel.
Une exécution MPI est constituée d’un ensemble de processus associés à des numéros de rang
indépendants de leur localisation physique (Figure 2.4). Ces numéros de rang permettent à chaque
processus d’adapter ses traitements en fonction de son rôle dans le groupe, en se comportant par
exemple en maître distribuant des tâches ou en esclave traitant ces calculs.
0 1
2
3
CPU1 CPU2
Nœud 1
CPU1 CPU2
Nœud 2
CPU1 CPU2
Nœud 3
MPI_COMM_WORLD
Rang de processus
Machines physiques
Figure 2.4 – Exemple d’association entre processus MPI et matériel physique
MPI propose deux catégories d’opérations de communications :
— Les opérations point-à-point : ces communications mettent en jeu un unique émetteur et
destinataire dans le groupe de processus.
— Les opérations de groupe, également qualifiées de collectives ou de multicast, impliquent
la participation d’une partie ou de tous les processus MPI pour réaliser un même traitement.
Un exemple de tel traitement commun est la diffusion d’une donnée en début de calcul, ou
la mise en commun de résultats partiels à la fin de l’exécution MPI.
La plupart de ces opérations de communication possèdent des variantes synchrones et asynchrones,
de manière à faciliter la gestion du déroulement de l’exécution ou la poursuite de traitements
en tâche de fond dans l’attente de communications.
La seconde version de MPI sortie en 1997 apporte la possibilité d’intégrer ou de créer dynamiquement
des processus en cours d’exécution MPI. Elle permet également la gestion en parallèle
de flux d’entrée/sortie vers des fichiers à l’aide des fonctions MPI-IO.
Les implémentations libres les plus connues du standard MPI sont MPICH 2
et OpenMPI 3
. A
côté de ces implémentations généralistes, de nombreux constructeurs proposent des alternatives
optimisées pour leurs solutions logicielles et matérielles telles que IntelMPI pour les processeurs
Intel. Si le standard MPI officiel est dédié aux langages C et C++, des solutions équivalentes pour
Java telles que MPJ Express [SMH+10] ou JACE [BDM04] existent également.
2. http ://www.mcs.anl.gov/project/mpich-high-performance-portable-implementation-mpi
3. http ://www.open-mpi.org/CHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 33
2.4 Parallélisation hybride
2.4.1 Modèle d’exécution
La récente popularisation des processeurs multi-coeurs et l’apparition de nouvelles solutions
d’exécution comme les cartes graphiques ont favorisé l’apparition de parallélisations dites hybrides,
mettant à contribution dans un même programme plusieurs modèles de programmation
distincts comme OpenMP, MPI ou le GPGPU 4
.
L’utilisation judicieuse de ces différentes solutions permet d’exploiter l’ensemble des ressources
présentes sur une même machine mais impose toutefois un certain nombre de précautions
pour éviter tout conflit entre les modèles d’exécution. L’utilisation simultanée de MPI et
d’OpenMP (Figure 2.5) requiert en particulier une certaine vigilance pour éviter tout problème de
cohérence de l’état des processus ou des données.
processus 0
thread 1
thread 2
thread 3
...
OpenMP
processus 1
thread 1
thread 2
thread 3
...
OpenMP
processus 2
thread 1
thread 2
thread 3
...
OpenMP
processus 3
thread 1
thread 2
thread 3
...
OpenMP
Découpage MPI
Figure 2.5 – Parallélisation associant OpenMP et MPI
Certains modèles, comme OpenACC, visent encore une fois à faciliter l’utilisation de ce type
de distribution en regroupant les deux approches de parallélisation au sein d’un même formalisme,
inspiré de OpenMP.
2.4.2 OpenACC, un modèle de programmation
OpenACC [WSTaM12] est un modèle de programmation soutenu par les sociétés Gray, CAPS,
PGI et NVIDIA permettant de tirer parti à la fois d’architectures processeurs traditionnelles et de
4. General-Purpose Computing on Graphics Processing Units.CHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 34
cartes graphiques (Figure 2.6). Il se différencie d’OpenMP par le support des cartes graphiques
comme architecture d’exécution. Son utilisation, à base de directives de pré-processeur, est par
ailleurs très similaire, de manière à faciliter son adoption en remplacement de la solution précé-
dente pour des architectures CPU ou hybrides.
// Code séquentiel
#pragma acc parallel loop
for (int i = 0; i < n; i++) {
// Section parallèle
}
// Code séquentiel
Processeur
multi-coeurs
Carte graphique
NVIDIA
Figure 2.6 – Exemple d’utilisation du processeur et de la carte graphique avec OpenACC
Le support d’OpenACC est pour l’instant limité à quelques compilateurs commerciaux fournis
par les société participantes au standard, dont le compilateur PGI. Il est néanmoins disponible
sous forme de branche expérimentale depuis septembre 2013 dans le compilateur libre GCC. Un
implémentation de recherche nommée accULL 5
est également en phase de développement.
2.5 Une nouvelle architecture d’exécution : le GPU
Après ce panorama des différents types de parallélisation connus, nous allons maintenant pré-
senter une architecture d’exécution spécifique, le GPU. Cette architecture reprend à la fois des
concepts de parallélisation en mémoire partagée et en mémoire distribuée à l’intérieur d’un même
modèle de programmation. Elle nécessite toutefois une bonne connaissance des contraintes matérielles
de la carte pour tirer parti efficacement des ressources fournies, particulièrement sur les
architectures les plus anciennes.
Pour cela, nous commençons par présenter l’origine et l’architecture matérielle des GPU. Nous
étudions ensuite le modèle de programmation associé à cette architecture, avant d’évoquer les
contraintes posées par ce modèle d’exécution. Nous présentons ensuite des bibliothèques permettant
d’utiliser cette architecture dans des programmes existants sans connaissance directe de ce
modèle de programmation. Enfin, nous replaçons l’exécution GPU dans le contexte d’une évolution
plus large de la parallélisation vers des architectures matérielles dites many-cores, proposant
de nombreux coeurs d’exécution.
5. http ://accull.wordpress.com/CHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 35
2.5.1 Genèse des GPU
Les cartes graphiques ou GPU 6 ont été à l’origine conçues pour décharger le CPU des calculs
coûteux liés à l’introduction de rendus graphiques dans les programmes. Ces calculs, qu’il s’agisse
de compositions de texture ou de calculs dans l’espace, se caractérisent en effet par l’application
vectorielle d’une même opération à d’importants volumes de données. En proposant plusieurs dizaines
ou centaines de coeurs d’exécution, le GPU permet d’appliquer ces traitements en parallèle
et ainsi de réduire le temps total nécessaire pour effectuer ces opérations. Cette spécialisation permet
également de réduire la complexité de chaque coeur et ainsi d’en augmenter la densité sur une
surface donnée.
Au départ, les premières cartes graphiques ne déchargeaient le processeur que de certains traitements
graphiques. L’augmentation de la résolution d’une part, et des attentes en qualité de
rendu graphique d’autre part, ont rapidement amené la délégation de plus en plus d’opérations
à ces cartes, jusqu’à l’apparition des premiers GPU programmables, c’est à dire capables d’exé-
cuter des portions de programme. Ces possibilités de programmation, initialement très limitées,
n’ont été accessibles dans un premier temps que par le biais de bibliothèques de rendu graphique
comme OpenGL et DirectX. Elles ont été pour la première fois pleinement accessibles au développeur
en 2008, avec la GeForce 8, par le biais du modèle de programmation CUDA. Le modèle
OpenCL [Khr08] apparaît également la même année et permet l’utilisation des matériels graphiques
d’autres fabriquants, notamment Intel et AMD, ainsi que l’exécution sur processeur traditionnel
par le biais de OpenMP. Un autre modèle de programmation GPU, DirectCompute [Joh12],
a depuis été proposé par Microsoft dans sa bibliothèque DirectX pour les systèmes d’exploitation
Windows.
2.5.2 Architecture matérielle
Une carte graphique est constituée d’un très grand nombre de coeurs graphiques organisés
en multi-processeurs. Chacun de ces coeurs dispose d’un accès à une vaste hiérarchie mémoire.
Une partie de cette mémoire lui est propre, et une autre partie est partagée avec les autres coeurs
du multi-processeur ou de la carte. L’apparition de la programmation GPGPU 7
a eu un impact
sur l’architecture matérielle des cartes graphiques, où il est possible de déceler deux générations
principales (Figure 2.8) :
— Les cartes graphiques antérieures à l’architecture Fermi, basées sur une hiérarchie mémoire
complexe sans caches implicites. Dans ce cas, la gestion des latences d’accès aux données
pour éviter un ralentissement de l’exécution est du ressort du programme.
— Les cartes graphiques plus récentes qui introduisent un mécanisme de caches mémoire L1
et L2 analogues à ceux présents sur CPU. Ces caches permettent le stockage dans une
mémoire rapide, de manière transparente, des données les plus fréquemment utilisées par
les unités de calcul.
Il est possible d’identifier trois niveaux de mémoires principaux dans cette hiérarchie :
— Les registres : chaque multi-processeur dispose de plusieurs centaines de registres. Ces
registres sont partagés de manière statique entre les coeurs graphiques en début de programme.
Ils sont d’accès très rapide et permettent le stockage des données intermédiaires
entre les instructions consécutives du même programme.
6. (Graphical Processing Unit)
7. General-Purpose Processing on Graphics Processing UnitsCHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 36
Coeur
Mémoire globale
Multi-processeur
Registres
Mémoire partagée
Cache mémoire constante
Cache mémoire texture
Figure 2.7 – Architecture matérielle pre-Fermi Coeur
Mémoire globale
Multi-processeur
Cache L2
Registres
Cache L1
Mémoire partagée
Cache mémoire constante
Cache mémoire texture
Figure 2.8 – Architecture matérielle Fermi, Kepler
— La mémoire partagée : cette mémoire est partagée entre tous les coeurs situés dans un
même multi-processeur. Sa latence d’accès reste faible et permet de partager des données
temporaires ou souvent réutilisées.
— La mémoire globale : cette mémoire est accessible à l’ensemble des coeurs graphiques
de la carte. Elle permet le stockage de la plupart des données d’entrée ou de sortie du
programme, avec ses quelques gigaoctets de capacité. Elle se caractérise toutefois par des
temps de latence d’accès beaucoup plus importants, de plusieurs centaines de cycles d’horloge.
Cette mémoire est la seule accessible depuis le CPU pour l’échange de données.
Avant l’apparition du cache L1 et L2 sur les architectures GPU les plus récentes, différentes
techniques ont été imaginées pour dissimuler les latences d’accès à cette mémoire globale. L’une
d’elles [RRB+08] est l’utilisation de zones de mémoire globale d’utilisation spécifiques, pour faciliter
l’optimisation de ces scénarios par le matériel.
— Mémoire locale : cette zone, accessible en lecture/écriture, permet de stocker d’éventuelles
informations ne tenant pas en registre.
— Mémoire constante : cette zone permet de stocker des données accessibles en lecture seule
par l’ensemble des coeurs graphiques. La plupart des matériels utilisent alors une mémoire
cache spécialisée pour réduire la latence d’accès aux données constantes les plus utilisées.
— Mémoire texture : cette zone permet le stockage de textures graphiques. Comme pour
la mémoire constante, elle est associée sur de nombreux matériels à une mémoire cache
spécialisée au niveau de chaque multi-processeur. Chacune de ces textures n’est accessible
qu’en lecture ou en écriture seule au niveau d’un même programme.
Ce système peut toujours être utilisé sur les cartes récentes en complément d’un cache L1
propre à chaque multi-processeur et d’un cache L2 global à la carte. La gestion du partage des
ressources mémoires entre ces deux mécanismes est également possible sur les cartes NVIDIA.
Les copies de données entre CPU et GPU sont réalisées par le biais de l’interface PCI-Express
de la carte graphique. Les restrictions d’accès en lecture ou écriture à ces différentes mémoires ne
s’appliquent qu’aux programmes en exécution sur le GPU : le CPU dispose toujours d’un accès
complet à l’ensemble de la mémoire globale.CHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 37
2.5.3 Modèle de programmation
Le modèle de programmation GPU se caractérise par l’utilisation la plus large possible du
découpage en threads en remplacement des boucles présentes dans l’algorithme. Cette démarche
de parallélisation fine se justifie par les coûts d’exécution différents rencontrés sur CPU et sur
GPU.
Un processeur traditionnel est conçu pour traiter un nombre limité de processus s’exécutant sur
une longue durée à l’échelle du matériel : secondes, minutes, heures. La création et la destruction
de processus est ainsi un traitement coûteux, car elle requiert l’allocation ou la libération d’un environnement
mémoire et système complet. Les threads, ou processus légers, permettent de réaliser
des traitements ponctuels en évitant cette allocation d’environnement, comme évoqué dans notre
section sur la parallélisation en mémoire partagée.
Au contraire, un GPU est conçu pour permettre l’application d’un petit nombre d’opérations
sur de grands volumes de données. Ce type d’exécution se caractérise par des tâches brèves et
remplacées très fréquemment de manière à assurer le remplissage des centaines de coeurs proposés
par l’architecture. Les latences mémoires, importantes en regard du temps de traitement de
chaque tâche, encouragent également la ré-allocation des ressources matérielles de calculs bloqués
en attente d’opérations mémoire à d’autres traitements. Dans ces circonstances, l’utilisation de
nombres très importants de threads permet à l’ordonnanceur GPU de disposer d’un grand nombre
de candidats pour optimiser le remplissage des ressources d’exécution fournies par la carte. Ces
candidats sont regroupés en warp, ou paquet d’exécution, au moment de leur attribution à un
multi-processeur matériel particulier.
Pour permettre ce découpage de l’exécution, les modèles de programmation CUDA et OpenCL
sont tous deux basés sur trois concepts fondamentaux illustrés par la figure 2.9 :
— le kernel représente la suite d’instructions à exécuter sur le GPU. Il se présente sous la
forme d’une fonction admettant un ensemble de paramètres en entrée et en sortie. Il est
possible au kernel d’utiliser les primitives fournies par la plate-forme de programmation
elle-même, mais il ne peut faire appel à aucune bibliothèque ou fonctionnalité offerte par
le CPU.
— le work-item (OpenCL) / thread (CUDA) (ou tâche) représente le support d’exécution d’une
instance de kernel. Chaque thread a accès à son propre espace mémoire, comme évoqué
dans la présentation de l’architecture matérielle GPU, mais également aux données partagées
de la carte.
— le work-group (OpenCL) / bloc (CUDA) (ou groupe de tâches) représente une grille de une
à trois dimensions de tâches d’exécution GPU. Ce bloc permet de gérer le partage de ressources
entre les traitements manipulant des données proches en mémoire et le découpage
des données du traitement. Dans le cas d’une matrice, par exemple, il est possible d’associer
un bloc de tâches à chaque ligne de la matrice, de manière à permettre l’échange de
données et des synchronisations locales entre ces tâches.
La nature déportée de la carte graphique impose une préparation de l’exécution et des données,
puis une récupération des résultats et des ressources après l’exécution sur GPU. La réalisation d’un
traitement est ainsi découpée en cinq phases (Figure 2.10) :
— Chargement du programme. Les traitements à exécuter sont envoyés sur la carte graphique
sous forme de binaires pré-compilés (CUDA) ou de code source (OpenCL, CUDA)
devant auparavant passer par une compilation gérée par la plate-forme de programmation.
— Allocations mémoires des paramètres et copie des données d’entrée. Les paramètres duCHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 38
ND-Range
(ensemble de work-group) Périphérique
Work-group Multi-processeur
Work-item Coeur graphique
Figure 2.9 – Correspondances entre les structures de découpage OpenCL et l’architecture maté-
rielle GPU
programme sont alloués par le processeur central dans la mémoire globale de la carte, et
les données d’entrée recopiées ou rendues accessibles sous forme de partage mémoire au
GPU.
— Lancement de l’exécution d’un ou de plusieurs kernels. Une fois les paramètres préparés
sur la carte, le processeur soumet un ou plusieurs kernels d’exécution à l’ordonnanceur
GPU. Ces soumissions peuvent être effectuées de manière synchrone, auquel cas le programme
CPU demeurera bloqué jusqu’à la fin de l’exécution, ou asynchrone. Des dépendances
peuvent être définies entre kernels d’exécution, de manière à garantir leur ordre de
passage sur GPU.
— Exécution non interruptible sur la carte graphique Les traitements sont lancés par la
plate-forme GPU dès que des ressources sont disponibles, à la discrétion de l’ordonnanceur.
Il n’est pas possible, une fois un traitement lancé, de l’interrompre depuis le CPU,
ce qui peut causer un blocage du programme de durée importante en cas de lancement
synchrone. Plusieurs kernels sont susceptibles d’être lancés simultanément par l’ordonnanceur.
— Récupération des résultats et libération des ressources. Une fois l’exécution terminée,
les données résultats stockées dans la mémoire globale de la carte peuvent être récupérées
par le programme CPU, en vue de traitements supplémentaires, d’affichage, ou de stockage
des résultats. La libération des ressources n’est pas automatique, et doit également être
effectuée explicitement pour ne pas bloquer ou pénaliser de futures exécutions.
CUDA et OpenCL permettent l’utilisation de plusieurs cartes graphiques par un même programme.
Dans ce cas, l’utilisation de soumissions asynchrones permet la gestion simultanée de
plusieurs files d’exécution. L’utilisation efficace des ressources matérielles GPU requiert toutefois
une connaissance de ce mécanisme de soumission et des optimisations mémoires effectuées à
l’exécution.
Si les interfaces de programmation CUDA et OpenCL ne sont directement accessibles que
depuis des programmes C ou C++, l’utilisation du calcul sur GPU n’est pas limitée à ces deux langages
de programmation, grâce aux couches de liaisons avec des bibliothèques natives proposéesCHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 39
Chargement des données
et des programmes
Chargement des données
et des programmes
Copie des données d'entrée
et allocation des espaces résultats
Copie des données d'entrée
et allocation des espaces résultats
Lancement de l'exécution
d'un ou plusieurs kernels
Lancement de l'exécution
d'un ou plusieurs kernels
Exécution non interruptible
sur le périphérique
Exécution non interruptible
sur le périphérique
Récupération des résultats Récupération des résultats
Figure 2.10 – Démarche d’exécution GPGPU
par de nombreux langages de plus haut niveau. Il est ainsi possible d’exploiter CUDA ou OpenCL
en Java à l’aide des bibliothèques JCUDA 8 ou JOCL 9 pour ne citer que quelques solutions disponibles.
2.5.4 Synchronisation des opérations
Après avoir évoqué les deux modèles de programmation, nous allons maintenant présenter
quelques aspects plus spécifiques d’OpenCL en termes de synchronisation des opérations.
Une première caractéristique d’OpenCL est le mode de lancement des opérations à réaliser de
manière asynchrone. Après l’obtention d’un contexte d’exécution, une des premières opérations
d’un programme OpenCL est de créer une ou plusieurs files d’attente dans lesquelles soumettre les
différentes tâches à exécuter. La soumission de chaque tâche permet d’obtenir en retour un objet
événement (cl_event), qui peut être utilisé pour construire un arbre de dépendances (DAG) entre les
tâches à exécuter. Ces dépendances peuvent être utilisées pour s’assurer que la copie des données,
les traitements et la copie des résultats auront lieu en séquence, ou encore pour chaîner plusieurs
opérations, sans intervention intermédiaire du programme, comme illustré par la Figure 2.11.
OpenCL fournit également des opérations de synchronisation permettant d’attendre de manière
bloquante la fin du traitement de la file d’attente ou d’une tâche particulière, pour synchroniser le
8. http ://www.jcuda.org
9. http ://www.jocl.orgCHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 40
op1
op2
op3
op4
e1 = enqueue(op1)
e2 = enqueue(op2, e1)
e3 = enqueue(op3, e2)
e4 = enqueue(op4, e3)
waitForEvent(e4)
e1
e2
e3
Instructions OpenCL
Graphe d'exécution
OpenCL
Synchronisation
bloquante
e4
Figure 2.11 – Utilisation des dépendances pour gérer la synchronisation en OpenCL
flux du reste du programme. Si les options de suivi des performances sont activées, ces événements
stockent également les informations de passage associées à chaque tâche : temps d’attente, temps
d’exécution sur le périphérique.
Ce premier type de dépendance est extérieur au kernel OpenCL, et ne permet donc pas de
contrôler l’accès aux données partagées par chaque thread d’exécution. Pour cela, un second type
de synchronisation est utilisé, à base de barrières d’exécution. Celles-ci permettent au développeur
de s’assurer que tous les threads concernés atteindront un point de l’algorithme au même moment.
Elles sont indispensables dans de nombreuses parallélisations de traitements comme la multiplication
de matrices, où chaque thread sera responsable du traitement d’une ligne avant de récupérer
les informations de ses voisins pour la suite de l’opération. Dans ce cas, une barrière d’exécution
permet de s’assurer que la première opération est bien terminée, de manière à éviter de fausser le
résultat.
Une barrière d’exécution OpenCL peut être appliquée à l’ensemble (barrière globale) ou un
groupe particulier de threads (barrière locale). Dans ce dernier cas, elle peut par exemple être
utilisée pour protéger la création et l’utilisation d’un cache de données locales.
Un intérêt de ces files d’attente OpenCL est de permettre une gestion explicite des ressources
pour chaque périphérique d’exécution : en créant plusieurs contextes d’exécution et files d’attente,
il est ainsi possible de gérer directement le flux d’exécution de plusieurs matériels. En contrepartie,
cette gestion est exclusivement du ressort du développeur : OpenCL ne fournit à l’heure actuelleCHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 41
pas de mécanisme qui permette de répartir la charge de calcul de manière transparente sur plusieurs
matériels distincts.
2.5.5 Regroupement des accès mémoire
La mémoire embarquée sur carte graphique se caractérise, comme nous l’avons vu dans la pré-
sentation de l’architecture matérielle, par une bande passante et des latences importantes. Si les
mécanismes de recouvrement d’exécution évoqués dans la présentation du modèle de programmation
permettent d’amortir l’impact de ces latences, ils n’améliorent pas l’utilisation de cette bande
passante.
Pour cela, un autre mécanisme intervient sur GPU au niveau de chaque multi-processeur, le
regroupement des accès mémoire (memory collapsing). L’objectif de ce mécanisme est de grouper
les lectures de données proches en mémoire en requêtes de lecture de taille plus importante, tel
qu’illustré par la Figure 2.12. Ces requêtes consolidées mettent à meilleure contribution la bande
passante offerte par la mémoire et permettent également de regrouper les latences de chaque accès
individuel.
Lecture 128 bits Lecture 128 bits
Mémoire globale
Warp d'exécution
Figure 2.12 – Mécanisme de regroupement des accès mémoire sur GPU
La détection de ces accès contigus est dépendante, sur les architectures matérielles les plus
anciennes, d’accès mémoires très réguliers (tâche n accédant à l’adresse n + 1 en mémoire). Les
matériels plus récents permettent le regroupement d’accès moins ordonnés, ainsi que leur consolidation
en requêtes de taille plus importante, pour maximiser l’utilisation de ce mécanisme sur des
programmes plus irréguliers.
Il est important de prendre en compte ce mécanisme lors de la conception d’un programme sur
GPU, particulièrement sur des architectures dénuées de cache L1 et L2. Une mauvaise exploitation
de ces regroupements peut en effet multiplier le nombre de lectures mémoires nécessaires pour
traiter les mêmes instructions et brider l’exploitation des coeurs d’exécution offerts par la carte
graphique, indépendamment de tout gain lié à la parallélisation.
2.5.6 Bibliothèques d’exécution sur GPU
L’utilisation des ressources GPU ne requiert pas nécessairement une connaissance des concepts
ou des modèles de programmation GPU : de nombreuses bibliothèques de traitement vectoriel ouCHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 42
matriciel traditionnellement utilisées sur CPU sont maintenant disponibles pour cette architecture.
Ces bibliothèques fournissent souvent une interface de programmation similaire à leur équivalent
CPU, de manière à faciliter leur utilisation dans un programme parallélisé existant.
Voici quelques exemples de bibliothèques de ce type basées sur CUDA :
— cuBLAS est une implémentation du standard d’algèbre linéaire BLAS. Certaines opérations
deviennent ainsi 6x à 17x plus rapides que leur équivalent CPU. Cette bibliothèque
fait partie des bibliothèques optimisées GPU fournies par la société NVIDIA 10
.
— cuFFT, pour CUDA Fast Fourier Transform library, permet le calcul de transformées rapides
de Fourrier sur GPU. Cette bibliothèque est également fournie par la société NVIDIA.
— CUSP (C++ Templated Sparse Matrix Library) est une bibliothèque d’algèbre linéaire
à faible densité. Elle permet également la manipulation et le traitement de graphes. Son
utilisation repose sur le mécanisme des templates C++ pour permettre la génération de
code GPU parallélisé en fonction des traitements demandés par l’utilisateur.
— cuSparse est une bibliothèque de traitements matriciels fournie par NVIDIA. Les formats
de représentations de matrice creuses les plus courants (COO, CSR, CSC, ELL/HYB) et
leur manipulation sont gérés de manière native en CUDA.
Si de nombreuses bibliothèques utilisent le modèle de programmation CUDA, des alternatives
basées sur OpenCL existent également :
— clMath (anciennement AMD APPML) [amd] recouvre à la fois les opérations proposées
par BLAS et le traitement des transformées de Fourrier. L’utilisation de cette bibliothèque
est souvent combinée à cette de clMAGMA [CDD+13], qui fournit de nombreux solveurs
linéaires et solutions de factorisation, réduction ou transformation de matrices.
— clpp [clp] est un autre projet fournissant des primitives de traitement en parallèle de structures
de données. Ces traitements incluent notamment la recherche par préfixe (“scan”), le
tri, ou la réduction de valeurs, de manière à faciliter la parallélisation de traitements plus
complexes sur des structures telles que des graphes ou des arbres.
— VexCL [Dem] facilite également le traitement de matrices et de vecteurs en OpenCL. Cette
bibliothèque est plus particulièrement orientée vers la réduction de la quantité de code né-
cessaire à la préparation et à la gestion des traitements sur GPU, au moyen de l’architecture
objet C++.
Certaines bibliothèques supportent plusieurs plates-formes d’exécution comme OpenCL,
CUDA ou OpenMP avec une même interface de programmation. C’est notamment le cas
d’OpenCV [Bra00], pour la manipulation d’images en temps réel, ou ViennaCL [RWR10], pour la
résolution de problèmes d’algèbre linéaire. Des comparaisons de l’utilisation et des performances
de VexCL et ViennaCL sont disponibles dans la littérature [DARG12].
Une bibliothèque logicielle particulièrement intéressante est SnuCL [KSL+12]. Cette solution
propose des opérations parallèles similaires à MPI pouvant être utilisées de manière transparente
sur des clusters de CPU ou de GPU. Ces opérations permettent au concepteur de totalement se
détacher de la plate-forme d’exécution, mais reste toutefois réservée pour l’instant aux langages C
et C++.
10. https://developer.nvidia.com/gpu-accelerated-librariesCHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 43
2.5.7 Optimisation de la soumission de tâches sur GPU
La possibilité de soumettre des tâches de manière asynchrone et de définir des dépendances
entre ces tâches rapproche l’utilisation efficace du GPU des problématiques d’ordonnancement
présentes dans la littérature.
Dans [TPO10], les auteurs analysent ainsi l’impact de différentes stratégies d’ordonnancement
sur le temps nécessaire pour traiter un lot de tâches irrégulières. Pour cela, les traitements à réaliser
sont groupées en kernels de manière dynamique, plutôt que directement soumises sur la plateforme,
pour optimiser l’occupation des ressources.
Plutôt que d’intervenir sur le regroupement des traitements, d’autres études reposent sur l’utilisation
de l’historique d’exécution pour optimiser le passage des tâches sur GPU. Les auteurs de
[ATN09] proposent ainsi un ordonnancement basé sur la mémorisation du temps d’exécution des
tâches sur plusieurs architectures distinctes. De cette manière, les prochaines tâches peuvent alors
être soumises sur la plate-forme permettant la terminaison la plus rapide. Les résultats obtenus sont
très intéressants, mais très dépendants de cette prévisibilité pour assurer un bon remplissage des
ressources. L’utilisation du processeur en parallèle du GPU permet de gagner 30% en performance
par rapport à l’utilisation du seul GPU dans un autre article [GBHS11]. L’utilisation de l’historique
dans cet article permet également d’assurer un remplissage à 80% des ressources, malgré la forte
disparité en performance entre matériel CPU et GPU.
Les auteurs de [MGR+11] étudient également l’impact de la décomposition des traitements
en un ou plusieurs kernels sur l’ordonnancement OpenCL à l’aide de la plate-forme
SURF [BETVG08] adaptée à instrumentalisation de traitements d’images. Les mesures effectuées
illustrent l’impact du nombre, de la durée et de la dimension de chaque kernel sur les performances
obtenues. L’interface de soumissions asynchrone proposée par OpenCL est utilisée pour gérer fi-
nement les dépendances entre chaque kernel et obtenir les informations de temps précises de début
et fin des traitements. La mesure du décalage entre temps de soumission et temps de lancement du
kernel permet de déterminer le moment le plus pertinent pour lancer les prochaines requêtes, de
manière à ne pas pénaliser l’exécution.
Un défi de l’optimisation du passage de tâches sur GPU est l’absence de contrôle sur l’ordonnanceur
lui-même. Si certains articles [NSL+11] suggèrent des améliorations possibles en termes
d’exécution des warps pour une meilleure occupation des ressources des coeurs d’exécution, il est
difficile de savoir si ces améliorations sont ou seront reprises dans les implémentations CUDA ou
OpenCL existantes. La mesure des performances est donc un outil indispensable pour guider l’optimisation
de l’exécution sur GPU, même en présence d’outils proposés par des sociétés comme
NVIDIA permettant de déterminer à priori les ressources utilisées par un programme GPU donné.
2.5.8 Bonnes pratiques de programmation sur GPU
Au vu de ces éléments sur l’architecture d’exécution GPU, de nombreux ensembles de recommandations
existent sur la bonne manière de programmer sur GPU pour obtenir un programme
efficace [cud09, Cor12, AG13].
Ces recommandations s’articulent autour de quatre objectifs principaux :CHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 44
Minimisation des coûts de transferts
Cette minimisation peut être effectuée à deux niveaux, soit en réduisant le nombre de transferts
effectués, soit en regroupant ces transferts.
La réduction du nombre de transferts n’est pas toujours possible, chaque donnée utilisée sur le
périphérique devant être explicitement copiée avant son utilisation. Elle peut toutefois être obtenue
en réduisant la fréquence de synchronisation de la valeur de cette donnée entre CPU et GPU, ou
en augmentant le temps passé sur le périphérique entre chaque retour sur le CPU.
Le regroupement est un autre moyen de minimiser le temps total des transferts, en utilisant la
bande passante importante fournie par l’interface PCI-Express pour mettre en commun plusieurs
copies de données. Cette mise en commun est facilitée par les mécanismes de copies asynchrone
proposés par les modèles de programmation GPU.
Optimisation des accès mémoires
L’optimisation des accès mémoires correspond à deux problématiques distinctes sur GPU : la
minimisation des latences d’accès et la maximisation de l’utilisation de la bande passante mémoire.
La minimisation des latences d’accès est possible au moyen des mémoires spécifiques
(constantes, globales, locales) proposées par l’architecture matérielle. L’utilisation de la mémoire
partagée permet également d’éviter de récupérer à plusieurs reprises des données fréquemment
utilisées par chaque traitement.
La maximisation de l’utilisation de la bande passante mémoire est dépendante du mécanisme de
regroupement des accès mémoires de l’ordonnanceur et du l’ordre et de la proximité des données
accédées en mémoire. Pour faciliter ce regroupement, il est recommandé d’utiliser les structures
de données les plus régulières possibles sur GPU.
Maximisation de l’occupation
Un dernier point essentiel pour l’obtention de bonnes performances sur GPU est d’utiliser
le plus efficacement possible les nombreux coeurs d’exécution offerts par l’architecture. Cette
occupation dépend de trois paramètres :
Les ressources consommées par chaque thread. Chaque multi-processeur ne dispose que d’un
nombre limité de registres, partagés de manière statique au lancement du programme. L’utilisation
d’un trop grand nombre de registres par threads est susceptible d’empêcher l’utilisation de tous les
coeurs d’exécution disponibles.
Le nombre de conditions présentes dans l’algorithme. Du fait des limitations en termes de
branchements de l’architecture, l’utilisation de conditions impose l’évaluation des deux branches
par le matériel, pour ne conserver ensuite que les résultats de la branche effectivement retenue.
L’utilisation de nombreuses branches est alors susceptible de cause une réduction important de
l’occupation des coeurs d’exécution.
Le nombre de threads total lancé. Comme évoqué précédemment, l’ordonnanceur d’exécution
GPU est capable de dissimuler des latences d’exécution en attribuant automatiquement plusieursCHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 45
threads à un même coeur d’exécution. Ce mécanisme de recouvrement dépend de la présence de
nombreux threads à exécuter pour être pleinement efficace.
2.6 Vers une convergence many-core
Tandis que l’exécution sur GPU devient toujours plus générique, avec l’apparition de mécanismes
de cache ou l’implémentation de toujours plus d’opérations au niveau de la plate-forme,
d’autres architectures dotées de grands nombres de coeurs (dites architectures many-core) se dé-
mocratisent également.
Les circuits programmables ou FPGA sont ainsi de plus en plus étudiés comme support d’exé-
cutions parallèles économes en énergie et peu coûteux [WLL+
, BRT11]. La puissance offerte par
les circuits les plus récents permet notamment d’envisager l’utilisation de compilateurs et de modèles
de programmation existants plutôt que d’une expertise individuelle des instructions pour
réduire le temps et les coûts de développement. La société Altera propose ainsi depuis 2011 une
implémentation d’OpenCL sur ses matériels FPGA 11
.
Intel propose également depuis 2013 la première architecture many-core basée sur des CPU
traditionnels, le Xeon Phi. Cette nouvelle plate-forme peut être utilisée en tant qu’accélérateur
séparé, par le biais des modèles de programmation OpenCL ou OpenACC, ou directement comme
un processeur multi-coeurs traditionnel à l’aide du modèle de programmation OpenMP.
La possibilité d’utiliser OpenCL sur ces trois plates-formes illustre la tendance actuelle à la
convergence entre ces solutions many-core, de manière à permettre à un même programme de
s’exécuter sur une grande variété de plates-formes matérielles. Cette convergence est également
illustrée par celle des supports physiques, toutes ces nouvelles plates-formes étant basées sur l’utilisation
de cartes connectées en PCI-Express à un ordinateur existant (Figure 2.6).
Figure 2.13 – Carte graphique
NVIDIA Tesla
Figure 2.14 – Carte Intel
Xeon Phi
Figure 2.15 – Accélérateur
FPGA Altera
2.7 Synthèse
Les cartes graphiques sont un type d’architecture matérielle permettant une exécution en mé-
moire partagée. Leur utilisation s’intègre dans le cadre d’un mouvement récent des problématiques
de parallélisation vers les architectures many-core, proposant un très grand nombre de coeurs
d’exécution sur un même matériel. Ce parallélisme matériel peut être exploité indirectement, par
11. http ://www.altera.com/products/software/opencl/opencl-index.htmlCHAPITRE 2. MODÈLES D’EXÉCUTION ET DE PROGRAMMATION PARALLÈLES 46
le biais de bibliothèques de parallélisation proposant des opérations de haut niveau, ou via des
plates-formes telles que OpenCL ou CUDA. Dans ce dernier cas se posent toutefois de nombreuses
considérations d’implémentations pour obtenir un programme performant, exploitant les
ressources offertes par le matériel de manière efficace.
L’utilisation de cette architecture d’exécution est déjà possible dans le cadre de nombreuses
bibliothèques d’algèbre linéaire. Si ce type de problème n’est pas forcément directement utilisé
dans les systèmes multi-agents, cette possibilité de proposer des traitements parallélisés en fait
une piste intéressante pour l’accélération de programmes existants. Les cartes graphiques se distinguent
également par leur disponibilité sur de nombreuses machines personnelles, par opposition
à des solutions matérielles spécialisées comme les grilles ou les clusters, ce qui en fait une piste
intéressante pour la parallélisation de systèmes multi-agents.3
Parallelisation de syst ´ emes multi ` -agents
Comme évoqué dans notre présentation des systèmes multi-agents, l’utilisation de simulations
de tailles importantes peut rapidement engendrer des besoins en temps d’exécution et en mémoire
importants. L’objectif du recours à la parallélisation est de résoudre ces problèmes en permettant
l’accès à davantage de ressources mémoires ou d’exécution.
Comme nous venons de le voir, la démarche de parallélisation d’un programme implique une
répartition de son exécution et parfois de ses données. Ce découpage est facilité dans le cas des
modèles multi-agents par la décomposition du système en agents indépendants dotés de comportements
et de données propres. La parallélisation d’une simulation multi-agents est un processus
complexe en temps et en ressources, du fait de l’exécution naturellement synchrone de nombreux
modèles sur la base de pas de temps ou d’événements. Ce synchronisme impose en effet de nombreux
échanges de données en cours de simulation. La délégation d’une partie de la simulation à
chaque hôte ou l’exécution en mémoire partagée du système sont donc généralement les parallélisations
les plus aisées à réaliser [Ble09] car elles minimisent le nombre d’échanges nécessaires à la
synchronisation. L’environnement représente alors la seule structure globale devant être partagée
entre l’ensemble de l’exécution.
Dans les sections suivantes, nous présentons ces différentes approches de parallélisation de
systèmes multi-agents pour souligner les problématiques qui devront être abordées dans notre proposition.
Pour chacune, nous évoquons son principe ainsi que ses indications ou contre-indications.
Nous voyons ensuite leur utilisation dans le cadre de plates-formes multi-agents parallèles qui dé-
chargent le concepteur d’une partie importante de la gestion de cette parallélisation. Enfin, nous
présentons des applications de ces techniques de parallélisation au GPU dans le cadre de divers
types de systèmes multi-agents, avant de présenter FLAME-GPU, une première plate-forme multiagents
générique pour l’exécution sur GPU.
3.1 Stratégies de parallélisation
Il est possible de décomposer l’exécution d’un système multi-agents en trois grandes dynamiques
[MFD09], illustrées sur la Figure 3.1 :
— Celle de l’environnement, qui définit l’évolution de l’espace simulé.
— Celle des comportements des différents agents présents dans le système.
— Celle de l’ordonnanceur, qui contrôle l’exécution et la synchronisation des deux dynamiques
précédentes. C’est cet ordonnanceur qui détermine si l’exécution de la simulation
est guidée par des pas de temps (time-driven) ou par des événements (event-driven).CHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 48
La parallélisation du modèle multi-agents implique une intervention sur une ou plusieurs de
ces dynamiques en conservant la cohérence du modèle découlant de leur interaction.
Comportements Environnement
Ordonnanceur
Contrôle Contrôle
Moyens d'action
et de perception
Figure 3.1 – Rôle de l’ordonnanceur multi-agents
3.1.1 Parallélisation de l’ordonnanceur
Une première manière de paralléliser le déroulement d’une simulation multi-agents est d’en
lancer plusieurs instances séquentielles simultanément [BCC+11, CDFD10]. Cette parallélisation
de lancement très simple, dite par lots, permet d’exploiter aisément plusieurs processeurs ou machines
sans apporter aucune modification à la simulation. Elle est particulièrement intéressante
pour tester de vastes ensembles de scénarios, en permettant d’obtenir une quantité plus importante
de résultats dans la même période de temps.
Il est cependant important de noter que cette parallélisation par lots ne réduit ni le temps, ni
la quantité de mémoire nécessaires à l’exécution de chaque simulation. Elle ne représente donc
pas une solution dans le cas où les ressources mémoires locales empêchent le lancement d’une
simulation. Elle ne permet pas non plus d’obtenir les premiers résultats plus rapidement qu’une
implémentation séquentielle, et en augmente simplement la quantité.
Une approche de parallélisation de l’ordonnancement moins naïve consiste à répartir l’exécution
de l’environnement et des agents entre plusieurs ordonnanceurs. Dans ce cas, un ordonnanceur
est lancé pour chaque ressource d’exécution et collabore avec les autres ordonnanceurs pour traiter
la simulation. Cette approche requiert toutefois la possibilité de pouvoir découper le système
multi-agents en ensembles d’exécution distincts, de manière à minimiser les échanges de données
et les synchronisations entre ordonnanceurs. Elle est proposée par plusieurs plates-formes multiagents
parallèles, comme nous le verrons plus loin.
Certaines simulations multi-agents [BMD+09] sont dites multi-échelles : dans ce cas l’évolution
du modèle est gouvernée par plusieurs modèles agents représentant des échelles de simulation
ou des aspects distincts d’un même système. Si chacun de ces modèles évolue de manière semiindépendante,
une approche de parallélisation intuitive consiste à confier l’exécution des différents
aspects de la simulation à plusieurs acteurs, de manière à permettre l’exécution en parallèle de la
simulation sans modifier fondamentalement chaque modèle.CHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 49
3.1.2 Parallélisation des comportements
Une seconde approche de parallélisation consiste à paralléliser l’exécution des comportements
des agents du modèle. Cette parallélisation peut être effectuée au niveau du système dans son
ensemble, au niveau de l’agent, ou au niveau de chaque comportement.
Dans le premier cas, l’ensemble des traitements de même type dans le système sera exécuté
simultanément. Pour des raisons d’équité, l’exécution des agents demeure synchronisée, ce qui
permet d’assurer que tous les agents se déplacent, respirent, ou consomment de l’énergie en même
temps. Ce type de parallélisation, consistant à lancer le même traitement pour un grand nombre
d’agents, est bien adapté à une exécution sur GPU.
Dans le second cas, la parallélisation permet le traitement simultané de plusieurs types de comportements,
de manière à gérer l’évolution de manière asynchrone à l’intérieur d’un pas d’évolution.
Il est dans ce cas impossible de garantir que tous les agents progressent à la même vitesse
dans leurs traitements : un agent est ainsi susceptible de se déplacer avant qu’un autre ne respire
ou inversement. Cette seconde approche est sans doute l’une des plus réaliste pour des modèles où
l’équité est introduite par la modélisation, mais elle est en pratique une des plus difficiles à mettre
en place et à contrôler.
Dans le dernier cas, enfin, l’algorithme d’évolution des agents n’est pas modifié et seul le
traitement du comportement lui-même est parallélisé. Cette dernière approche est particulièrement
intéressante dans le cas d’agents effectuant des actions coûteuses, à même d’être parallélisées, dans
le cadre de leur évolution. Des exemples d’actions candidates à la parallélisation sont la collecte
de données dans un périmètre étendu, ou encore le calcul de déplacements complexes mettant en
jeu de nombreux paramètres.
3.1.3 Parallélisation de l’environnement
Un dernier axe de parallélisation concerne la dynamique de l’environnement. En fonction du
système multi-agents décrit, cette dynamique peut être inexistante, si l’environnement est utilisé
comme un simple repère spatial comme dans le cas des modèles d’essaims, ou au contraire très
complexe comme dans le cas de modèles comme les fourmis. Si le temps de traitement de la mise
à jour de l’environnement représente une portion significative du temps d’exécution du modèle, il
devient dans ce cas intéressant de paralléliser cette mise à jour.
La parallélisation de l’environnement est également souvent requise parce qu’il s’agit de la
structure de données dont taille est la plus importante dans le modèle. Dans ce cas, la parallélisation
ne vise plus uniquement l’obtention de meilleures performances, mais également la possibilité de
simuler des environnements de taille plus importante. Le découpage de l’environnement implique
généralement la répartition des agents présents dans le modèle, de manière à pouvoir conserver les
portions d’environnements et leurs agents associés sur les mêmes unités d’exécution. Ce type de
partitionnement est également proposé par de nombreuses plates-formes agents parallèles.
3.2 Plates-formes multi-agents
La parallélisation de simulations multi-agents rencontre de nombreuses difficultés liées à
l’adaptation d’un programme en mémoire partagée ou distribuée. Il est ainsi possible de citer la
nécessité d’identifier les sections parallèles de l’algorithme et de synchroniser l’accès aux données
partagées en mémoire partagée, ou la décomposition explicite des données et de l’algorithme ainsiCHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 50
que la prise en compte des échanges et des communications requises par l’exécution en mémoire
distribuée.
Heureusement, le formalisme multi-agents propose une décomposition du système en agents
ou en environnement dont la gestion et les échanges peuvent être traités par des plates-formes
multi-agents spécialisées. Cette prise en charge d’une partie de l’exécution permet également à de
telles plates-formes de faciliter cette démarche de parallélisation.
3.2.1 Madkit
MadKit (Multi-Agent Development Kit) 1
est une plate-forme générique de développement et
d’exécution de systèmes multi-agents [GF00a] réalisée en Java. Elle est développée au sein du
LIRRM 2
.
Le modèle AGR (Agent, Groupe, Rôle) [Gut01] est à la base des modèles et de l’architecture de
la plate-forme, dont les différents services sont implémentés par des agents pour un maximum de
flexibilité. Le noyau de Madkit se caractérise par sa légèreté et n’assure que les services nécessaires
à la mise en place de ces agents : la gestion des groupes et des rôles, un ordonnancement synchrone,
et une infrastructure d’échange de messages entre agents locaux.
Par défaut MadKit associe un thread à chaque agent autonome présent dans le système. Pour
éviter l’utilisation de milliers de threads dans le cas de nombres importants d’agents, il est possible
de créer des agents découplés de l’ordonnanceur, gérés et mis à jour par un ou plusieurs agents
observateurs associés à des threads d’exécution. Ce modèle multi-thread permet une parallélisation
aisée des agents en mémoire partagée.
La parallélisation du modèle en mémoire distribuée est rendue possible par la possibilité de
lancer plusieurs noyaux MadKit et de surcharger le service d’échange de messages pour permettre
à toutes ces simulations de communiquer [GF00b]. Cette surcharge d’un service système est permise
par la présence de points d’accroche (hook) permettant de surveiller les messages échangés
ou de remplacer un service particulier. Un agent permettant ce fonctionnement nommé Communicator
est fourni par défaut avec MadKit. Chaque noyau exécute alors une instance de cette agent
Communicator pour gérer l’échange des messages. Un nouveau mécanisme de distribution permettant
le dialogue par le biais d’un agent réseau sans connaître l’emplacement des instances
distantes, NetComm [RHK06], a depuis également été proposé. Ces mécanismes de communication
permettent soit une distribution maître-esclave, où un noyau possède le modèle de référence
mis à jour par les agents distants, soit sur une duplication du modèle sur chaque instance. Ces deux
approches de distribution sont étudiées plus en détail dans [MBF02].
3.2.2 JADE
La plate-forme JADE [BCG07] est une plate-forme multi-agents développée en Java par le
groupe de recherche CSELT (partie de Gruppo Telecom). Elle permet la réalisation de systèmes
multi-agents conformes à la norme FIPA [fip].
Les services FIPA sont fournis directement par la plate-forme JADE, ce qui rend le support de
la norme transparent pour le concepteur de modèle.
L’intégration d’un nouvel agent dans un modèle JADE en cours d’exécution est décomposée
1. http://www.madkit.org
2. Laboratoire d’Informatique, de Robotique et de Microélectronique de MontpellierCHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 51
en plusieurs étapes :
— L’enregistrement de l’agent auprès de la plate-forme agent.
— L’attribution d’un nom et d’une adresse unique à l’agent.
— L’utilisation des services de recherche et de communication pour s’interfacer avec les
autres agents.
Ce découplage des agents de leur emplacement physique rend possible la migration d’agents
entre machines en cours d’exécution, au moyen d’un ensemble d’outils prenant en charge le dé-
ploiement et le suivi du modèle. La distribution est assurée par l’utilisation des threads et une
interface de communication proposée par JADE. Cette interface repose sur le protocole RMI proposé
par Java pour communiquer entre instances distantes [VQC02].
JADE ne prend en charge que la création, l’évolution et la communication entre agents, et
ne propose aucune structure de données pour la représentation de l’environnement ou d’autres
données partagées. La représentation de ces éléments est néanmoins possible sous forme d’objets
indépendant ou d’agents spécifiques dans la simulation. Il est ensuite possible d’utiliser des
messages pour envoyer ou recevoir des informations sur ces structures partagées.
En prenant en compte toutes les communications, JADE facilite l’utilisation d’une architecture
en mémoire partagée ou distribuée pour la simulation multi-agents. Cette plate-forme se limite
toutefois à ce rôle, et ne propose pas de mécanisme de synchronisation ou de partage automatique
des données entre instances d’exécution : cette gestion reste de la responsabilité du concepteur du
modèle, en utilisant les structures de données fournies par le langage Java.
3.2.3 FLAME
FLAME 3
[HCS06] est un générateur de simulations multi-agents parallélisées. Il se base pour
cela sur la description des modèles sous la forme de machines à états (X-Machine) en XMML,
version étendue du XML. Cette description abstraite permet de découpler l’exécution du système
multi-agents de toute plate-forme d’exécution spécifique.
La description d’un modèle FLAME repose sur la spécification d’un état initial, d’un ensemble
d’états intermédiaires et d’un ou plusieurs état finaux. Le passage entre ces états est décrit sous
forme de fonctions de transition, exécutées pour chaque agent à chaque pas de temps de la simulation.
Une itération, ou pas de temps, est définie comme la fenêtre de temps nécessaire à chaque
agent pour progresser de son état initial à l’un des états finaux du graphe de transitions. Ce processus
est reproduit à chaque itération.
En parallèle de ces états représentant les stades d’exécution de chaque agent, FLAME associe
à chaque agent une mémoire pouvant contenir des variables lues et modifiées par les différentes
fonctions de transition.
La communication entre agents est assurée par la possibilité d’envoyer et de recevoir des messages
au niveau de ces mêmes fonctions de transition. Leur transmission est réalisée de manière
synchrone, pour garantir la réception simultanée de chaque message par tous ses destinataires :
cette synchronisation est particulièrement importante lors de l’exécution d’un modèle sur une architecture
distribuée HPC pour permettre qu’aucun agent ne soit favorisé ou défavorisé par son
ordre de passage. Les messages sont distribués à l’ensemble des agents du modèle par la bibliothèque
Libmboard basée sur MPI pour les échanges de messages [KRH+10]. Il est ensuite possible
à chaque agent de filtrer les seuls messages le concernant.
3. FLexible Large-scale Agent-based Modeling EnvironmentCHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 52
La modélisation d’un modèle en FLAME est décomposée en quatre étapes :
— La description de chaque agent et de sa fonction.
— La description des états correspondant à leur évolution à chaque itération
— L’identification des variables utilisées pour le déclenchement et dans le traitement de
chaque fonction de transition définie dans le modèle.
— L’identification des messages émis ou reçus par ces fonctions de transition.
Ce processus peut être représenté sous la forme d’un diagramme de transition. La Figure 3.2
illustre une représentation possible d’un modèle d’essaim (Swarm) avec FLAME.
début Diffusion
de la position état 1 état 2 Réception
autres positions fin Mise à jour
position
Nouvelle itération
Figure 3.2 – Représentation conceptuelle d’une itération de modèle Swarm
L’implémentation du modèle économique européen EURACE, mettant en jeu des agents intervenants
sur plusieurs marchés économiques, prévoit d’utiliser ces mécanismes [DvdHD08].
La plate-forme FLAME permet de s’abstraire totalement de la démarche de parallélisation en
mémoire partagée ou en mémoire distribuée, en prenant en charge la totalité de la génération de
la simulation. Cette abstraction dépend toutefois d’une description très fine du modèle et de ses
interactions par le concepteur, qui contraint fortement la définition des modèles.
3.2.4 Repast HPC
Repast HPC [CN11] est une bibliothèque dédiée au calcul sur architectures hautes performances.
Elle propose une implémentation des concepts fondamentaux de RepastSimphony sur des
architectures mémoire distribuées et plus particulièrement sur les clusters de calculs. Le développement
de modèles agents avec Repast HPC peut être effectué directement à l’aide des composants
de la bibliothèque ou en manipulant des concepts d’emplacements et de tortues inspirés de Logo.
L’implémentation des agents est réalisée sous forme d’instances de classes C++ encapsulées
dans un Contexte représentant leur environnement. Leur organisation dans le modèle est assurée
par la définition de Projections. Une projection grille place ainsi les agents dans une structure grille
où chaque agent correspond à une cellule, tandis qu’une projection réseau permet la mise en place
de relations entre agents. Une simulation Repast HPC est ainsi composée d’agents, d’au moins un
contexte, et de zéro ou plusieurs projections.
La distribution des agents en Repast HPC est basée sur un parallélisme à mémoire distribuée.
Les agents du modèle sont répartis entre plusieurs processus responsables du traitement de leurs
agents locaux. L’interaction avec un agent distant requiert sa copie en mémoire locale, la modification
de cette copie, puis sa synchronisation avec l’agent original, pendant que l’exécution
de l’agent distant est suspendue [rep]. Pour faciliter la gestion de ces copies, chaque agent est
identifié de manière unique par trois informations : un identifiant attribué par l’utilisateur, l’index
de son processus de lancement et son type. Chaque agent stocke également l’index du processusCHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 53
l’exécutant actuellement.
La synchronisation et l’échange des agents entre processus sont assurés via le protocole de
communication MPI [rep] par le biais de son implémentation BoostMPI 4
.
Ce mécanisme de découpage permet à Repast HPC de prendre en charge de nombreuses problématiques
de la parallélisation en mémoire distribuée et en particulier la copie et l’exécution des
agents présents sur les différents noeuds d’exécution.
3.2.5 D-MASON
La plate-forme D-MASON [CCC+12] est une version parallèle de la bibliothèque MASON,
ajoutant une couche supplémentaire permettant la distribution de la simulation en mémoire distribuée
sur des machines hétérogènes.
La distribution de la simulation en D-MASON est basée sur trois blocs fonctionnels, un gestionnaire,
des travailleurs (workers) correspondant à des threads Java et des communications. Le rôle
de gestionnaire est assuré par une application maîtresse qui prépare la simulation et gère ensuite
son déroulement en pas de temps synchrones en coordonnant les différents processus travailleurs.
Cette répartition des tâches repose sur le partitionnement de l’espace à simuler en régions pouvant
être assignées à un worker particulier. Chaque worker est ensuite responsable de l’exécution
des agents présents dans sa région, ainsi que de la synchronisation des traitements ou de la migration
des agents entre régions. Les échanges requis pour ces opérations sont gérés par le biais
de JMS [CCM+11], une interface de programmation permettant d’envoyer et de recevoir des messages
asynchrones entre composants Java.
Cette répartition automatique de l’environnement par la plate-forme, associée à celle de l’ordonnancement
et des traitements, permet la gestion des trois approches de parallélisation de systèmes
multi-agents. D-MASON se caractérise de manière générale par la volonté d’introduire la
distribution à tous les niveaux du système, plutôt que de se focaliser uniquement sur les performances,
pour résoudre les limitations en ressources, en particulier mémoires, de manière transparente
pour le concepteur.
3.2.6 Pandora
Une dernière plate-forme permettant la distribution d’un système multi-agents sur plusieurs
noeuds de cluster est Pandora [pan]. Cette plate-forme permet le prototypage rapide de modèles à
l’aide du langage de programmation Python, ou la réalisation de modèles plus complexes à l’aide
de C++. Ces deux langages d’implémentation partagent la même interface de programmation et
les mêmes concepts, de manière à faciliter l’adaptation de modèles entre les deux syntaxes. Il est
plus particulièrement conçu pour la simulation de milliers d’agents dans un espace géographique.
La distribution en mémoire partagée des systèmes Pandora repose sur la distribution de portions
de l’environnement et des agents sur chaque noeud du système à l’aide de OpenMP et de
MPI [ASÁ01]. La parallélisation locale de la simulation est basée sur l’observation par ses concepteurs
d’une décomposition standard du cycle agent dans de nombreux modèles multi-agents :
— Évaluation de l’environnement et des stimulis.
— Prise de décision quant à l’action à effectuer.
— Réalisation de l’action.
4. http://www.boost.org/CHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 54
— Mise à jour des variables internes.
Pandora permet la parallélisation de l’évaluation de l’environnement et de la prise de décision
de manière automatique avec OpenMP. La suite des traitements est séquentialisée pour garantir
la cohérence des mises à jour du modèle. L’originalité de cette plate-forme réside dans la gestion
automatique de la distribution et de la copie des informations situées à la frontière de deux portions
voisines de l’environnement à l’aide des champs d’action [WRC12].
3.3 État de la simulation multi-agents sur GPU
La simulation de systèmes multi-agents met en jeu la parallélisation, qu’elle soit en mémoire
partagée ou distribuée. Cette démarche de parallélisation peut être effectuée manuellement ou à
l’aide de plates-formes multi-agents parallélisées. Dans les deux cas, elle implique la répartition
des traitements du modèle sur plusieurs coeurs d’exécution, que ce soit au niveau de l’ordonnancement,
de l’environnement, ou des agents.
L’utilisation de nombres importants de coeurs CPU requiert toutefois le recours à des environnements
HPC spécialisés, grilles ou clusters de calculs. Ces clusters de calculs ne sont pas
forcément à la portée de tout chercheur, soit pour des raisons techniques, soit pour des raisons
financières. Dans ces circonstances, les GPU sont une alternative intéressante pour exécuter des
nombres importants d’agents, avec leur coût réduit et leurs centaines de coeurs d’exécution. Ils
présentent également l’intérêt d’être présents dans la totalité des machines personnelles actuelles.
Dans ce chapitre, nous présentons tout d’abord les différents domaines de simulation multiagents
ayant déjà fait l’objet d’adaptations sur GPU. Nous évoquons ensuite FLAME-GPU, une
première plate-forme d’exécution générique sur GPU, et en montrons les caractéristiques et les
limites permettant d’envisager d’autres approches d’exécution de systèmes multi-agents sur GPU.
3.3.1 Parallélisations indépendantes
De nombreux systèmes multi-agents ont déjà été parallélisés de manière indépendante sur architecture
GPU, dans le cadre d’optimisations de modèles existants ou d’étude de cette plateforme.
Ces adaptations peuvent être rassemblées en grandes thématiques, souvent associées à la
modélisation agent dans la littérature. La diversité de ces thématiques se retrouve dans les approches
d’adaptations retenues, mais permet toutefois de dégager quelques grandes tendances de
modélisation sur GPU.
Automates cellulaires
Les automates cellulaires sont un premier type d’implémentation utilisée pour les systèmes
multi-agents se prêtant naturellement à une parallélisation du fait de leur découpage en grille et
de l’application du même algorithme d’évolution à chacune des cellules de cette grille. Une telle
exécution est dite SPMD (Single Program, Multiple Data ou "Un seul programme, de nombreuses
données") et favorise le découpage du traitement sur de multiples unités de calculs. L’utilisation
de grilles pour le stockage du système facilite également le partage des données en un ou plusieurs
lancements, dans le cas où les besoins en mémoire du modèle seraient trop importants pour un seul
GPU.
Le Jeu de la Vie est un exemple d’automate cellulaire souvent utilisé pour illustrer ce type deCHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 55
Buffer A Buffer B
Lecture état n Écriture état n + 1
Buffer B Buffer A
Lecture état n + 1 Écriture état n + 2
Itération n
Itération n + 1
Figure 3.3 – Concepts de double bufferisation des données entre itérations
parallélisation, du fait de ses règles simples d’évolution et de l’indépendance de l’évolution de
chaque cellule. La seule synchronisation de l’exécution du modèle a lieu entre chaque itération,
de manière à assurer la progression de tous les agents au même rythme et la prise en compte
des modifications effectuées à l’itération précédente. Cette synchronisation peut être implémentée
au moyen d’une barrière d’exécution ou en découpant le traitement en plusieurs lancements. Un
découpage en plusieurs lancements permet alors d’utiliser les mécanismes de dépendances fournis
par OpenCL et CUDA pour inclure d’autres opérations dans le déroulement de la simulation, telles
que l’échange d’une grille d’entrée et d’une grille de sortie (Figure 3.3) entre chaque itération.
Un autre exemple d’automate cellulaire parallélisé est SugarScape, un modèle décrivant l’évolution
de populations d’individus en fonction de la répartition de glucose dans un environnement
en grille. Une parallélisation en CUDA proposée pour ce modèle [DLR07] repose sur l’utilisation
de textures graphiques pour représenter cette grille, en tirant parti de la possibilité d’utiliser les
canaux de couleurs pour stocker les propriétés de chaque cellule dans un seul pixel, et ainsi de
représenter l’environnement dans un seul objet texture. La mise à jour du modèle est effectuée en
associant une tâche GPU à chaque cellule de la grille. L’utilisation, comme dans le cas du Jeu de la
Vie, d’une texture d’entrée et d’une texture de sortie permet de gérer plus facilement l’affichage de
la simulation pendant les traitements, et de contourner la limitation des accès en lecture seule ou
écriture seule à ces textures au sein d’un même kernel. Cette impossibilité de lire et d’écrire dans la
même texture au cours du même lancement empêche, contrairement au Jeu de la Vie, l’utilisation
d’une simple barrière d’exécution entre deux itérations.
Cette parallélisation de SugarScape met en avant les problèmes rencontrés par le stockage des
agents dans une structure en liste indépendante. Le décès et l’apparition de nouveaux agents nécessitent
des mécanismes efficaces de mise à jour de cette liste sur GPU, et en particulier de recherche
d’emplacements libres pour stocker les nouveaux individus. La solution retenue dans cette adaptation
est de rechercher un emplacement libre décalé de n cases par rapport à l’emplacement de
chaque agent en attente de reproduction, et de faire varier ce décalage jusqu’à ce qu’une case libre
se dégage pour toutes les reproductions en attente. Cette approche stochastique repose sur l’observation
qu’une solution est généralement trouvée en quelques itérations et permet d’éviter de
synchroniser chaque reproduction, au prix de la perte d’un peu de temps de calcul.CHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 56
Ces deux exemples illustrent l’importance des traitements et des échanges de grilles pour paralléliser
ce type d’implémentation.
Agents indépendants
Un autre modèle souvent parallélisé sur GPU est celui des fourmis [CGU+11, UIN12], dont
la mise à jour peut être décomposée en deux processus distincts, comme nous l’avons vu dans la
description du modèle :
— La mise à jour de l’environnement, et en particulier la simulation de la diffusion et de
l’évaporation au cours du temps des phéromones déposées par les fourmis.
— La gestion du déplacement des fourmis (agents) elles-mêmes, au vu de ces données environnementales
et de leur état actuel, à la recherche de nourriture ou en train de rapporter
des ressources. Ce second état conditionne le dépôt ou non de phéromones par l’individu.
La parallélisation de ce modèle sur GPU pose le problème de synchroniser l’exécution de
ces deux processus à chaque itération. L’utilisation de textures impose, comme dans le cas du
modèle SugarScape, le recours à plusieurs kernels d’exécution distincts pour pouvoir accéder à
ces textures alternativement en écriture, pour la mise à jour des quantités de phéromones, puis en
lecture au moment de la détermination du comportement de chaque individu. Cette parallélisation
met l’accent sur l’importance de la synchronisation, et plus généralement de la possibilité de mettre
en place un graphe de dépendance, pour l’exécution de la simulation en parallèle sur GPU.
Un autre exemple de modèle multi-agents avec des agents indépendants est le mouvement de
volées de différentes espèces d’oiseaux dans un espace en deux dimensions [Wei13]. Ce mouvement,
inspiré du modèle Boids décrit par Craid Reynolds en 1987 [Rey87], illustre l’apparition
de comportements émergents au niveau de volées d’oiseaux à partir de règles simples assignées à
chaque individu, aboutissant à un compromis de déplacement à chaque itération. Les règles utilisées
sont les suivantes :
— Séparation : choix de la direction de manière à éviter une trop grande agglomération avec
les oiseaux voisins.
— Alignement : choix de la direction de manière à adopter la même direction de déplacement
que les oiseaux voisins.
— Regroupement : choix de la direction de manière à se rapprocher du centre de masse des
oiseaux à proximité.
Les oiseaux décrits sont positionnés dans un espace continu et il n’existe donc plus cette fois
aucune grille sur laquelle baser un découpage pour GPU. Le positionnement de chaque agent
dans l’environnement est à la place indiqué par un jeu de coordonnées associé à chaque individu.
Le mouvement de chaque individu est également stocké dans ses propriétés sous la forme d’un
vecteur. Dans ce cas, le découpage d’exécution retenu n’est plus basé sur une sous-division de
l’environnement, mais sur l’association d’une tâche de traitement à chaque individu. La synchronisation
entre les individus est effectuée à l’aide de barrières d’exécution dans un même lancement
de kernel d’exécution. Pour minimiser le nombre et donc les coûts d’accès à la mémoire globale,
les oiseaux sont regroupés en ensembles (clusters) dont les positions et les vitesses sont recopiées
en mémoire partagée.
Un dernier modèle d’agent concerne la simulation de la propagation de la tuberculose dans
les cellules du système immunitaire [DLMK09]. Cet exemple réintroduit un découpage de l’environnement
en espace discret, sous la forme d’une grille d’agents représentant alternativement des
macrophages ou des lymphocytes-T. Chacun de ces agents est associé à un automate à états finisCHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 57
déterminant les états accessibles à chaque agent en fonction de son état actuel. La parallélisation
du modèle est effectuée par le biais de plusieurs kernels lancés à des fréquences différentes. Un
premier kernel, exécuté cent fois plus fréquemment que les autres traitements, gère ainsi la diffusion
des marqueurs chimiques dans l’environnement. Un second kernel gère la reproduction des
bactéries dans l’environnement de simulation, tandis que quatre autres kernels gèrent la mise à jour
de l’état de chaque macrophage et lymphocyte T, puis leur déplacement et le recrutement de nouveaux
individus. Cet exemple met en avant le nombre importants d’opérations différentes pouvant
être présentes dans un même modèle agent, et l’importance de pouvoir exécuter ces traitements à
la suite sur GPU, après initialisation et copie des données depuis le CPU.
Recherche de chemins (pathfinding)
Un autre domaine d’application multi-agents souvent rencontré dans les exemples de parallélisation
sur GPU est la recherche de chemins en deux ou trois dimensions, dans des environnements
continus ou discrets [FSN09, GCK+09]. La popularité de ce type de traitement s’explique par
l’existence d’une forte demande au niveau de ce type d’algorithme dans l’industrie vidéo-ludique
(déplacement d’unités) et les simulations urbaines ou de transport.
Ces modèles agents considèrent généralement un individu associé à une position dans l’espace,
et éventuellement une taille, se déplaçant dans un environnement constitué de points de passage
et d’obstacles. Dans le cadre d’un découpage de l’environnement en grille, des algorithmes de
recherche de chemin dans des grilles et des graphes comme l’algorithme A* [HNR68] peuvent
alors être utilisés pour déterminer le plus court chemin vers un point destination. Ce type de modèle
implique encore une fois de disposer de facilités de traitement de grilles sur GPU, ainsi que
la possibilité de mettre à jour ces grilles de manière concurrente pour gérer la cohérence des dé-
placements de chaque agent. Cette grille peut être intrinsèque au repère de positionnement, ou
être appliquée à chaque itération pour discrétiser des positions réelles, de manière à permettre
l’application des algorithmes de recherche de plus court chemin.
Un premier exemple de modèle parallélisé concerne le déplacement des unités dans des jeux
de stratégie sur la base de champs de potentiels [SFF+10]. L’utilisation de champs de potentiels,
et donc de vecteurs de déplacement, permet dans ce cas non seulement d’obtenir des chemins effi-
caces (distance) mais également plus naturels en adoucissant notamment les courbes ou en limitant
les comportements peu réalistes (virage à 90°) déclenchés par la détection soudaine d’un obstacle.
La difficulté de parallélisation de ce modèle est la nécessité de prendre en compte l’ensemble de
l’espace de simulation pour déterminer le mouvement calculé par chaque tâche GPU. Pour limiter
le nombre d’accès mémoire à effectuer, une carte locale des obstacles et de la direction projetée
de son objectif est préalablement créée pour chaque agent et un vecteur associé à chacun de ces
éléments. Le déplacement de l’agent est ensuite calculé à partir de la combinaison de ces vecteurs,
puis projeté sur l’environnement de simulation. L’utilisation du GPU permet ici de considérer ces
cartes locales et ces opérations vectorielles en parallèle pour chaque agent, plutôt que d’effectuer
un parcours linéaire de chaque individu intégrant un autre parcours des cellules voisines à cet
individu.
Une simulation de déplacement de piétons [RR08] se base sur le découpage des données de
chaque agent en canaux de textures. Cet exemple met également en valeur, dans le cas de la recherche
de chemins, l’utilité du découpage des données en structures d’entrée et structures de
sortie déjà rencontré pour les automates cellulaires.
Le portage de ce type de simulation sur GPU, notamment par Bleiweiss [Ble09], a également
amené des réflexions sur d’autres architectures vectorielles [GCK+09] telles que SSE, mettant enCHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 58
avant le potentiel de ce type de parallélisation sur architecture many-core massivement parallèle
de manière générale.
Il est également possible de citer, pour une réflexion approfondie sur la comparaison de diffé-
rentes heuristiques permettant de résoudre ce type de problèmes sur GPU, le mémoire de thèse de
A. Delévacq [Del13]. L’auteur commence pour cela par établir une présentation des métaheuristiques
parallèles existantes sur GPU, avant d’en proposer une taxonomie orientée autour de deux
axes, en fonction du niveau d’utilisation du GPU dans la métaheuristique d’une part (population,
solution ou élément), et en fonction de l’utilisation faite de chaque type de mémoire proposé par
le modèle de programmation d’autre part (globale, texture, constante, partagée, registres). Une
fois cette taxonomie posée, l’auteur compare alors deux approches différentes de la résolution du
problème du voyageur de commerce, tout d’abord à base de colonies de fourmis, puis à base de
recherche locale (RL) de solutions. L’approche à base de colonies de fourmis repose sur l’utilisation
d’individus, les fourmis, parcourant le graphe selon une heuristique de type min-max, de
manière à construire progressivement des listes solutions. L’approche RL repose, quant à elle,
sur l’amélioration d’une solution existante en évaluant l’impact de modifications locales à certaines
positions de la liste. Elle est ainsi susceptible de compléter d’autres métaheuristiques pour
la recherche de solutions efficaces. Les résultats obtenus montrent des gains de performance signi-
ficatifs avec une implémentation GPU, avec un impact sur la qualité des solutions demeurant entre
−1.33% et 1.64%. Au contraire, des dégradations significatives sont observées sur la parallélisation
de l’approche RL, liées aux découpages en termes de synchronisation rendues nécessaires par
l’adaptation sur GPU. Ce mémoire met en évidence l’importance des adaptations dans ce modèle
de programmation et celle de la validation par des mesures de leurs conditions d’utilisation.
Réflexions sur des exécutions hybrides GPU et CPU
La parallélisation de systèmes multi-agents a également donné lieu à des réflexions plus
génériques, orientées sur la distribution de la charge en général sur des plates-formes parallèles
[CCDCS11], ou sur le cas plus particulier de clusters de GPU et de machines multi-coeurs.
En particulier dans [APS10], l’auteur propose la comparaison d’une implémentation à base de
threads et de CUDA du même modèle agent. Pour minimiser le nombre d’échanges nécessaires
dans le cas de systèmes multi-agents, où des portions de l’environnement sont réparties dans de
multiples copies distantes, l’article propose la mise en place d’un système de zone-frontière au
niveau du découpage des données. Ces zones frontières situées autour des données directement
utilisées par les agents exécutés en local permettent de prendre en compte la diffusion des erreurs
de mise à jour liées à l’exécution indépendante de chaque portion du modèle. La largeur de ces
frontières permet de déterminer le nombre de cycles pouvant être exécutés avant que les divergences
n’impactent d’autres portions de l’environnement simulé, et donc le temps pendant lequel
une synchronisation peut être reportée sans impact sur le résultat de la simulation générale. En
réduisant le nombre d’échanges de données nécessaires, ce système d’isolation permet de maximiser
le temps passé en calcul pour chaque tâche et donc d’améliorer les performances obtenues.
L’implémentation GPU proposée est basée sur le modèle de programmation CUDA et des blocs
mémoires pour chaque agent ou groupe d’agent. L’utilisation d’OpenCL est toutefois prévue, pour
pouvoir tirer parti d’une plus grandes variété d’architectures. Cet article met en évidence l’impact
important que peut avoir la fréquence de synchronisation des données sur les performances obtenues,
en variant la largeur des frontières autour de la copie de l’environnement de chaque agent.CHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 59
3.3.2 Une plate-forme multi-agents orientée GPU : FLAME-GPU
Si l’utilisation du GPU est à l’étude pour des plates-formes comme JADE [ZG12] ou TurtleKit
[Mic13], seule FLAME-GPU [Ric11], une extension pour la plate-forme FLAME [CGH+12],
permet à l’heure actuelle l’utilisation du GPU pour l’ensemble du modèle.
FLAME-GPU permet la génération d’implémentations GPU de modèles FLAME avec un minimum
d’adaptations, de manière à afficher ou exploiter plus facilement de grandes quantités
d’agents. Cette utilisation transparente du GPU est rendue possible du fait de la décomposition
très fine de la simulation en états et en traitements. La syntaxe XXML, proposée par FLAME, est
également étendue pour permettre d’indiquer le nombre maximum d’agents présents dans le modèle,
de manière à pouvoir allouer à l’avance les structures de données sur GPU. Ces extensions
incluent également des directives permettant de choisir les algorithmes de traitement des fonctions
de transition à utiliser en CUDA.
L’application d’une fonction de transition sur GPU aux agents d’un modèle FLAME est dé-
composée en deux étapes :
— Un premier kernel vérifie les pré-conditions d’application de la fonction de transition pour
chaque agent du modèle. Si les conditions d’application sont remplies pour cet agent, il est
ajouté à la liste des agents devant être traités.
— Une fois ce filtrage effectué, la fonction de transition est appliquée à tous les agents en
attente de traitement.
Cette décomposition facilite le lancement de traitements réguliers sur le GPU dont l’exécution
peut être ensuite parallélisée aisément par l’ordonnanceur CUDA.
FLAME-GPU a déjà établi les gains en performance pouvant être obtenus dans plusieurs types
de systèmes multi-agents [RWCR10, KRR10] mais impose, tout comme FLAME, un cadre très
strict de modélisation. Ce cadre est basé sur la décomposition du modèle en chacun de ces comportements,
des données et de toutes leurs interactions, pour permettre à la plate-forme de générer le
programme capable de les exécuter. Son utilisation n’est donc pas envisageable dans le cadre d’une
plate-forme multi-agents ou d’une implémentation existante, et requiert une réécriture complète
du modèle. Cette absence de portage incrémental impose une barrière d’entrée à l’utilisation du
GPU et rend également plus difficile la comparaison du modèle obtenu avec l’original, la gestion
du programme même n’étant plus directement du ressort du concepteur.
Si le formalisme et les plates-formes supportées par FLAME sont extensibles, comme l’illustre
l’existence de FLAME-GPU, cette extension se limite également à l’utilisation de CUDA, ce qui
limite son utilisation aux seuls matériels NVIDIA, et ne permet pas de tirer parti des cartes graphiques
d’autres fabriquants présents sur des machines personnelles.
3.4 Synthèse
Dans ce chapitre, nous avons montré les différentes approches de parallélisation possibles pour
des systèmes multi-agents, au niveau de l’ordonnanceur, des comportements ou de l’environnement.
Nous avons ensuite présenté la manière dont ces approches sont gérées et rendues plus
aisément accessibles pour le concepteur par quelques plates-formes multi-agents parallélisées. La
plupart de ces plates-formes permettent une exécution aussi bien en mémoire distribuée ou partagée,
en distribuant le passage des traitements à l’aide d’une collaboration de plusieurs ordonnanceurs.
Certaines de ces plates-formes gèrent aussi automatiquement la répartition de l’environne-CHAPITRE 3. PARALLÉLISATION DE SYSTÈMES MULTI-AGENTS 60
ment entre chaque tâche, pour résoudre tout problème de taille mémoire. De nombreuses solutions,
comme JADE, laissent toutefois cette responsabilité au concepteur, plus à même de décider si ces
structures doivent être recopiées ou accédées de manière distante dans sa simulation.
Si la parallélisation sur CPU est aujourd’hui supportée par de nombreuses plates-formes, la parallélisation
sur carte graphique est moins répandue. Cette architecture montre pourtant son intérêt,
dans le cadre de milliers d’agents à exécuter, par sa possibilité de disposer de plusieurs centaines
de coeurs sur une machine personnelle. Des modèles comme SugarScape, ou des implémentations
sous forme d’automates cellulaires ou de recherche de chemin mettent ainsi en avant l’intérêt
en termes de performance du GPU pour l’exécution de traitements homogènes, de type SIMD,
souvent rencontrés dans les systèmes multi-agents réactifs.
Le support du GPU n’est cependant pas totalement absent des plates-formes agents : des solutions
permettant d’utiliser CUDA existent déjà dans des modèles comme JADE. Des couches
d’abstraction, soit des perceptions dans le cas de TurtleKit, soit de tout le modèle dans le cas de
FLAME-GPU, existent également.II
Contribution63
Dans la première partie de notre mémoire nous avons présenté notre contexte, les systèmes
multi-agents et les GPU, et mis en avant l’intérêt de cette nouvelle architecture en termes d’accessibilité
et de performance, par rapport aux solutions de parallélisation classiques basées sur la
distribution en mémoire partagée ou en mémoire distribuée.
Dans cette seconde partie, nous introduisons et décrivons maintenant nos contributions à cette
problématique. Pour cela, nous commençons par étudier la parallélisation sur GPU d’un modèle
concret, le modèle proie-prédateur. Cette parallélisation est pour nous l’occasion d’une réflexion
sur les différentes représentations en termes de données et de comportements de ce système, et
leur impact sur une adaptation GPU.
Les contraintes rencontrées dans l’adaptation de ce modèle ouvrent alors la voie à une définition
des principales considérations nécessaires pour le portage d’un système multi-agents sur GPU.
Cette présentation est en particulier l’occasion de décrire les différents types de découpages des
données ou d’exécution devant être supportés par une bibliothèque pour permettre son utilisation
dans les systèmes multi-agents.
Ces contraintes nous servent de préambule pour présenter notre solution, MCMAS, et la manière
dont cette bibliothèque répond à ces problématiques d’exécution et de données. Pour cela,
nous commençons par présenter les principaux objectifs de MCMAS et leur traduction en termes
d’architecture de la bibliothèque. Nous présentons ensuite l’utilisation de MCMAS en tant que
bibliothèque de fonctions génériques, puis l’ajout de nouvelles fonctionnalités à cette solution.
L’utilisation de MCMAS est ensuite illustrée de manière expérimentale sur trois modèles :
— Proie-prédateur qui nous a servi de fil rouge dans notre propos.
— MIOR, un modèle d’évolution microscopique de sol s’intégrant dans le cas de la simulation
multi-échelles Sworm.
— Collemboles, enfin, un modèle permettant de décrire la diffusion de populations entre parcelles
de terrain importées depuis un système d’information géographique.
Une fois ces applications présentées, nous proposons quelques recommandations d’implémentation,
de manière à prendre en compte les éventuels différences en traitements des données et en
performance associées à chaque matériel d’exécution.4
Problematique ´
Comme nous l’avons vu dans le chapitre précédent de nombreux systèmes multi-agents ont
déjà été adaptés sur GPU. Dans la plupart des cas, ces adaptations sont basées sur une réécriture
complète du programme, directement à l’aide d’un modèle de programmation comme OpenCL ou
au moyen du formalisme spécialisé proposé par l’environnement FLAME-GPU.
La première approche, l’implémentation directe du modèle avec la programmation GPGPU,
permet un contrôle fin sur le programme obtenu mais requiert une expertise et un investissement en
temps conséquents pour pouvoir tirer parti efficacement des possibilités offertes par l’architecture
matérielle. Ces contraintes s’expliquent par la nécessité d’implémenter la totalité du système agent,
sans aucune infrastructure existante pour ce type de simulation.
La seconde approche, l’utilisation de FLAME-GPU, apporte une abstraction totale du mode
d’exécution en permettant au concepteur de n’avoir qu’à décrire les opérations de son modèle.
Elle repose sur l’utilisation de l’approche FLAME pour générer automatiquement le programme
GPU liant ces différentes actions. Cette abstraction présente cependant un coût, en contraignant la
structure des modèles multi-agents décrits dans un formalisme existant strict. Ce formalisme peut
être aisément utilisé pour la conception de nouveaux modèles mais rend difficile la comparaison
des simulations obtenues avec des simulations plus traditionnelles, du fait de la nature radicale
des changements apportés à l’algorithme. Il permet toutefois la disponibilité d’un support robuste
adapté aux agents, et ne laisse donc pas le concepteur livré à lui-même comme un modèle de
programmation plus générique.
Ces deux approches laissent place à une solution intermédiaire qui permettrait au chercheur de
disposer d’un support incrémental pour les traitements agents sur GPU, de manière à pouvoir y
exécuter tout ou partie de la simulation. Une telle solution doit également être capable de s’inté-
grer et de complèter une plate-forme multi-agents existante. Cette facilité d’intégration implique la
proposition d’une interface orthogonale à la modélisation du système, à même d’être utilisée aussi
bien dans des cadres basés sur la décomposition du système en messages et en comportement
que dans des simulations agents moins segmentées. Elle permet également de tirer parti des nombreuses
facilités d’implémentation et d’exécution déjà offertes par les plates-formes multi-agents
existantes.
Dans les sections suivantes nous présentons les propriétés nous paraissant particulièrement
importantes pour notre proposition, MCMAS 1
.
1. Many-Core Multi-Agent SystemsCHAPITRE 4. PROBLÉMATIQUE 66
4.1 Portabilité
Un premier élément nécessaire à l’intégration d’une nouvelle bibliothèque dans des systèmes
multi-agents existants est sa portabilité sur plusieurs systèmes d’exploitation. De nombreux chercheurs
utilisent en effet différents systèmes d’exploitation pour réaliser leurs simulations, comme
l’illustre la portabilité de plates-formes multi-agents telles que Repast, Madkit ou NetLogo.
Une nouvelle bibliothèque doit également être portable en termes d’utilisation, en se basant sur
les langages de programmation largement utilisés dans le domaine. Si C, C++ et Java sont présents
parmi les plates-formes multi-agents décrites dans notre contexte, c’est surtout ce dernier langage
qui est utilisé par de nombreuses plates-formes comme NetLogo, JADE, MadKit ou D-MASON.
Cette large utilisation s’explique par plusieurs avantages associés à l’environnement Java :
— La portabilité des programmes sans recompilation. Il est ainsi possible de distribuer une
seule version de la plate-forme pour tous les systèmes d’exploitations supportés.
— La disponibilité d’une bibliothèque graphique intégrée, Swing. Cette bibliothèque facilite
la réalisation de plates-formes interactives sans dépendances ou binaires externes.
— La possibilité de programmer en objet, de manière à représenter de manière intuitive les
différentes entités du modèle agent.
— La disponibilité de nombreux mécanismes d’exécution (threads) ou de communication
(RMI, JMS) et de nombreuses structures de données dynamiques directement dans la bibliothèque
standard.
— Une gestion de la mémoire automatique, qui facilite à la fois le développement de la plateforme
de simulation et des modèles multi-agents.
— La disponibilité de bibliothèques de gestion de données géographiques comme GIS, permettant
un import aisé d’informations externes dans la simulation.
Il est toutefois nécessaire de coupler Java à des couches d’adaptation native comme JOCL
pour permettre l’accès au modèle d’exécution GPU. Le choix du modèle de programmation utilisé
est également un élément de cette portabilité d’utilisation : si CUDA et OpenCL sont tous deux
disponibles sur de nombreux systèmes d’exploitations, OpenCL offre un plus grand choix de périphériques
d’exécution CPU ou many-cores que CUDA, qui reste limité à l’utilisation de matériels
Nvidia. Au vu de cette large disponibilité, le choix d’OpenCL paraît naturel pour notre solution,
en gardant toutefois à l’esprit que chaque architecture d’exécution ne fournira pas forcément les
mêmes performances pour les mêmes programmes.
4.2 Réutilisation d’algorithmes et de structures
Comme évoqué au début de notre problématique, l’utilisation directe de modèles de programmation
tels que OpenCL et CUDA pour l’adaptation d’un système multi-agents impose le redé-
veloppement par le concepteur de l’ensemble de ses traitements et de ses structures de données.
Ce développement requiert des connaissances poussées en programmation C ou C++ et un travail
important en termes d’adaptation de l’exécution et des structures de données.
Mené correctement, ce type d’adaptation permet d’obtenir une solution optimisée, au plus
proche des contraintes des données et des algorithmes utilisés par le modèle source. Cette solution
encourage toutefois, en imposant leur développement, l’utilisation de structures spécifiques
à chaque modèle adapté et difficilement réutilisables. Elle représente également un coût en temps
important devant être réinvesti à l’adaptation de chaque nouveau modèle. Dans ces circonstances,
l’intérêt d’une bibliothèque est de permettre et favoriser la réutilisation d’algorithmes et de struc-CHAPITRE 4. PROBLÉMATIQUE 67
tures de données.
Cette réutilisation peut être grandement facilitée en fournissant des implémentations optimisées
des traitements multi-agents les plus courants, prêtes à être employées par le modèle agent.
L’objectif de cette démarche est de proposer, à l’image de bibliothèques comme CUBLAS, des
fonctions de haut-niveau déjà adaptées aux principales problématiques rencontrées dans les systèmes
multi-agents. Ces problématiques peuvent aussi bien concerner la mise à jour de l’environnement
que le calcul de distances entre agents, la génération de nombres aléatoires ou encore le
regroupement des données à chaque pas d’exécution, de manière à pouvoir observer la dynamique
du modèle.
4.3 Intégration avec l’existant
De nombreuses plates-formes multi-agents ont pour objectif d’être une solution "tout en un"
aux problèmes de modélisation du chercheur. Elles comprennent dans cette optique de nombreuses
fonctionnalités annexes de conception et d’édition de modèle, d’affichage de l’environnement simulé
ou de courbes représentant l’évolution du modèle, ou de production de fichiers résultats.
Une solution pour les GPU visant à remplacer totalement ces plates-formes impliquerait d’intégrer
toutes ces fonctionnalités avant de constituer une alternative crédible, et représenterait une
nouvelle solution concurrente, ce qui n’est pas l’objectif de notre contribution.
La bibliothèque doit donc être capable de s’intégrer dans ces plates-formes à plusieurs niveaux
d’encapsulation du modèle. Elle ne doit notamment pas imposer un paradigme d’exécution particulier,
de manière à ne pas entrer en conflit avec le fonctionnement de la simulation. Cette transparence
est également importante pour permettre son utilisation dans des plates-formes n’employant
pas directement le langage Java, au moyen de modules additionnels (plugins) ou d’extension de la
syntaxe agent proposée. Pour décharger totalement le modèle de la gestion de cette bibliothèque,
il est possible d’envisager son intégration sous la forme d’agents services fournissant l’accès à des
services implémentés sur GPU au reste du modèle.
4.4 Extensibilité
La simulation orientée agent est un domaine en perpétuelle évolution, tant au niveau conceptuel,
dans le domaine par exemple de l’intelligence artificielle, qu’en termes d’implémentation,
avec l’arrivée de nouvelles architectures matérielles et de nouveaux modèles de programmation.
Ce dynamisme et cette flexibilité expliquent la popularité de cette approche de modélisation pour
la résolution de nombreux problèmes, mais soulignent également l’importance de proposer des
solutions modulaires et si possible génériques. Les avantages de cette modularité sont illustrés par
le succès des nombreuses plates-formes agents traditionnelles, fournissant un vaste ensemble de
fonctionnalités indépendantes pouvant être ou non exploitées par un modèle particulier : c’est ainsi
le cas de plates-formes comme D-MASON ou NetLogo [Skl11], qui proposent un découpage des
structures de données implicite, de JADE, avec la possibilité d’ajouter de nouveaux composants
de manière dynamique au système, ou encore de MadKit qui permet la surcharge de nombreux
comportements de la plate-forme. La généricité est également présente dans ces plates-formes
sous forme de cadre de modélisation et d’opérations facilitant la conception de nouveaux modèles
agents. Ce cadre peut être très souple, dans le cas par exemple de Madkit, ou beaucoup plus strict,
dans le cas des plates-formes FLAME ou FLAME-GPU.CHAPITRE 4. PROBLÉMATIQUE 68
Notre solution doit donc, au-delà de la flexibilité d’utilisation, permettre l’ajout aisé de fonctionnalités
et d’extensions sans remettre en cause son architecture fondamentale, de manière à
pouvoir traiter de nouveaux problèmes agents sur GPU.
4.5 Synthèse
Dans notre présentation du contexte, nous avons eu l’occasion d’évoquer le besoin en ressources
toujours plus important rencontré par les simulations en général et en particulier par les
simulations multi-agents. S’il est en effet courant de commencer par valider un système à petites
échelles, l’observation de certains comportements émergents requiert parfois un nombre minimal
d’individus [SN09]. L’amélioration des résultats obtenus par la simulation agent implique, de manière
plus générale, une augmentation en taille des modèles, que ce soit en termes de dimension
de l’environnement ou de nombres d’agents, et des comportements toujours plus complexes.
La parallélisation de l’exécution en mémoire partagée ou en mémoire distribuée est une réponse
à ce besoin toujours croissant en ressources mémoires et de calcul. Les architectures many-core
et GPU en particulier offrent l’accès à plusieurs centaines de coeurs d’exécution à des tarifs comparables
à ceux d’une machine de bureau, via des modèles de programmation comme CUDA et
OpenCL.
L’utilisation de ces architectures pour la simulation multi-agents n’est pas une idée nouvelle
et a déjà été explorée pour de nombreux modèles, sous forme de développement de nouvelles
implémentations complètes. Ces adaptations requièrent cependant une connaissance approfondie
des modèles de programmation et d’exécution GPU pour permettre l’obtention de programmes
efficaces. De nombreux concepteurs agents, théoriciens, n’ont pas le temps d’acquérir ces compé-
tences pour la réalisation de nouveaux modèles.
FLAME-GPU permet, a contrario, la génération de modèles agents basés sur CUDA sans
connaissance de ce modèle de programmation à partir de modèles FLAME. Cette solution impose
cependant l’utilisation du formalisme strict de cette plate-forme, et n’est donc pas accessible
à des modèles basés sur d’autres plates-formes agents parallèles ou séquentielles telles que Madkit,
NetLogo ou GAMA sans un redéveloppement complet.
Notre thèse est de montrer qu’une bibliothèque de ce type peut être développée de manière indépendante
et générique par rapport à ces plates-formes d’exécution multi-agents, pour permettre
son utilisation dans un large nombre d’environnements et de modèles existants.
Dans la suite de ce mémoire, nous présentons la démarche qui nous a mené à la conception
de MCMAS, une bibliothèque permettant de réaliser tout ou partie d’une simulation multi-agents
sur GPU. L’objectif de cette bibliothèque est de permettre une utilisation de cette nouvelle architecture
d’exécution de manière indépendante ou en complément de plates-formes de conception
et d’exécution multi-agents existantes. Elle reprend en compte, pour cela, les problématiques de
portabilité, de réutilisation, d’intégration et d’extensibilité évoquées dans ce chapitre dans un tout
cohérent, proposant deux niveaux d’utilisation, l’un adapté à son utilisation sans connaissances
GPU, l’autre à une extension aisée des fonctionnalités offertes par la bibliothèque.5
Adaptation d’un modele multi ` -agents sur
GPU : Proie-Predateur ´
Le modèle proie-prédateur est un modèle multi-agents inclus à titre de démonstration dans de
très nombreuses plates-formes agents. Il présente l’intérêt d’offrir un grand choix de niveaux de
représentation, mais également de nombreuses implémentations possibles. Dans ce chapitre, nous
l’utilisons comme illustration des types de problématiques agents devant être traitées pour une
adaptation sur GPU, tant en termes de mémoire que d’exécution.
5.1 Présentation du modèle
Le modèle proie-prédateur a été pour la première fois décrit de manière indépendante par Alfred
James Lotka en 1925 et par Vito Volterra en 1926 sous la forme d’un couple d’équations différentielles.
Ces équations, basées sur des observations effectuées au 19me siècle sur des populations
d’animaux sauvages, permettent d’estimer l’évolution en fonction du temps de deux populations,
carnivore et herbivore, en fonction des paramètres définis pour la simulation du modèle :
dx(t)
dt
= x(t)(α − βy(t))
dy(t)
dt
= −y(t)(δ − γx(t))
où
— t est le temps ;
— x(t) est le nombre de proies en fonction du temps ;
— y(t) est le nombre des prédateurs en fonction du temps ;
— les dérivées dx(t)/dt et dy(t)/dt représentent la variation des populations au cours du temps.
Les paramètres suivants décrivent les interactions entre les deux espèces :
— α le taux de reproduction des proies ;
— β le taux de mortalité des proies dû aux prédateurs ;
— γ le taux de mortalité des prédateurs ;
— δ le taux de reproduction des prédateurs.
Pour des paramètres d’entrée évitant la disparition totale de l’une ou l’autre des populations,
l’évolution du nombre d’individus de chaque type tend alors rapidement à osciller de manière
régulière entre périodes de faste et de famine. La Figure 5.1 illustre ces oscillations dans le temps.CHAPITRE 5. ADAPTATION D’UN MODÈLE MULTI-AGENTS SUR GPU : PROIE-PRÉDATEUR 70
α = 2
β = 0.5
γ = 0.2
δ = 6
0 20 40 60 80 100
0
5 10 15 20
Temps
Nombre d'individus
Proies
Prédateurs
Figure 5.1 – Exemple de courbes obtenues par l’application des équations de Lotka-Volterra
Cette première approche, mathématique, ne considère que les nombres d’individus du modèle
et des paramètres synthétisant leur évolution générale. Une autre approche de modélisation, orientée
agent, reproduit ces tendances en décrivant le comportement des individus mis en présence au
moyen d’actions élémentaires de bas niveau décrites sous forme d’algorithme.
Une approche agent possible est ainsi d’isoler trois niveaux d’évolution dans le modèle proieprédateur
:
— L’environnement, modélisant les ressources consommées par les proies (végétation). Il
s’agit d’un agent passif, modifié par les autres agents du système. Le seul traitement propre
lui étant associé est l’augmentation des ressources d’un facteur fixé entre chaque pas de
simulation, de manière à refléter la croissance et le remplacement des végétaux dans le
temps.
— Les proies, capables de se déplacer et de se reproduire. Lors de ce second processus, la
proie modifie l’environnement, pour répercuter la nourriture consommée.
— Les prédateurs, capables de se déplacer, de consommer des proies et de se reproduire. Ces
agents n’interviennent que sur les proies, et ne modifient pas directement l’environnement.
L’ajout d’un environnement basé sur les ressources en végétation s’inscrit dans l’optique de
décrire le système selon une approche montante, comme nous l’avons vu dans notre présentation
des approches de modélisation, plutôt que de se baser sur une observation de haut niveau pour
extrapoler le comportement de chaque individu, avec une approche descendante.
Ce modèle agent se caractérise par une relation stricte entre les populations, à sens unique.
Seuls les prédateurs sont à même d’influer sur les proies, qui sont seules à pouvoir influer sur
l’environnement. Par rapport à la modélisation mathématique du modèle proie-prédateur, cette re-CHAPITRE 5. ADAPTATION D’UN MODÈLE MULTI-AGENTS SUR GPU : PROIE-PRÉDATEUR 71
présentation agent introduit aussi une prise en compte de l’accès aux ressources de chaque agent,
en introduisant une répartition géographique des différentes entités du système. Cet aspect supplémentaire
permet non seulement d’obtenir des valeurs de population, comme le modèle mathé-
matique, mais ouvre également l’accès à des résultats plus précis, permettant de mettre en avant
l’influence de la répartition des ressources sur la position des agents dans l’environnement.
5.2 Stratégies de déplacement
Un facteur important de l’évolution du système proie-prédateur est l’algorithme de déplacement
utilisé. Cet algorithme détermine en effet non seulement la manière dont chaque agent considérera
les données de son voisinage, mais également le nombre de branchements et la régularité
du nombre d’opérations à effectuer, pour un bon remplissage des ressources GPU.
5.2.1 Déplacement aléatoire
Une première implémentation du déplacement des proies et prédateurs est la sélection d’une
destination aléatoire à chaque itération. Cette approche évite le parcours du voisinage de chaque
agent pour la recherche d’une cible, et donc de nombreux accès mémoire, mais est peu intéressante
à implémenter en termes de modèle et d’adaptation GPU :
— En termes de modélisation, elle est très peu cohérente avec le comportement de nombreuses
espèces animales capables de détecter et poursuivre des proies. Elle minimise également
artificiellement la population pouvant être supportée par le modèle, en ne laissant qu’une
chance minime, en fonction de la densité des ressources dans l’environnement, à chaque
individu de disposer des ressources nécessaires à sa survie.
— En termes d’adaptation sur GPU, ce comportement réduit la démarche de chaque individu
au simple tirage aléatoire d’un jeu de coordonnées. Ce tirage rend inutile tout parcours
de données sur GPU, et ne requiert plus qu’une gestion des conflits et la génération de
nombres aléatoires. Ces deux processus sont difficiles à réaliser sans rendre partiellement
séquentiels les deux traitements, ce qui limite l’intérêt des centaines de coeurs offerts par
l’architecture.
Cette stratégie de déplacement aléatoire est surtout utilisée pour valider le fonctionnement
d’une nouvelle simulation.
5.2.2 Proie la plus proche
Cette seconde stratégie implique un parcours pour chaque individu de l’ensemble des cases du
modèle qui sont à sa portée, suivi par un déplacement sur la position de la proie la plus proche. Elle
requiert un grand nombre d’accès mémoires pour évaluer toutes les cases destinations possibles,
ainsi qu’une notion de priorité entre ces cases : une case proche contenant une proie doit être
préférée à une autre case solution plus éloignée.
Une manière d’éviter le calcul de la distance de chaque proie est d’effectuer le parcours des
cases voisines sous forme d’une spirale comme illustré par la Figure 5.2. Ce parcours en spirale
permet non seulement de garantir que les proies seront automatiquement considérées par ordre
d’éloignement, mais offre également l’avantage de pouvoir arrêter l’évaluation à la première proie
détectée (court-circuit).CHAPITRE 5. ADAPTATION D’UN MODÈLE MULTI-AGENTS SUR GPU : PROIE-PRÉDATEUR 72
individu
cible
rayon
Figure 5.2 – Principe de recherche de la proie la plus proche
Cet algorithme est aisément parallélisable sur GPU en attribuant une tâche à chaque individu,
puis en effectuant le parcours des cellules voisines sous forme de boucle à l’intérieur de chacune de
ces tâches. Il implique néanmoins, du fait de la condition d’arrêt, une forte variabilité du nombre
de cellules à parcourir et donc du temps d’exécution de chaque tâche.
Il n’est pas facile de paralléliser davantage ce parcours en spirale en confiant l’examen de
chaque case candidate à un thread distinct. Cet algorithme de déplacement requiert en effet la prise
en compte des cases dans un ordre particulier, qui n’est pas garanti par l’ordonnanceur GPU. Une
solution à ce problème est d’introduire un calcul de la distance pour chaque destination potentielle,
suivie d’une réduction pour ne conserver que la cible détectée la plus proche de l’individu.
Cette stratégie minimise la distance de déplacement de chaque prédateur, mais n’est pas forcé-
ment la meilleure en termes de survie à moyenne ou longue échéance, car la proie la plus proche
n’est pas forcément la plus dotée en énergie.
5.2.3 Proie la plus énergétique
Une autre stratégie de déplacement possible est de sélectionner cette fois systématiquement
la proie à portée disposant de la plus grande quantité d’énergie. Cette stratégie, qui permet de
toujours sélectionner la proie la plus intéressante immédiatement accessible, garantit la sélection
d’une proie équivalente ou supérieure en énergie par rapport à la sélection de la cible la plus
proche. Elle impose cependant le parcours de l’ensemble des cases à portée avant de pouvoir tirer
une conclusion, tel qu’illustré par la Figure 5.3. Le nombre d’accès à la mémoire est d’autant plus
important, en comparaison avec la recherche de la proie la plus proche, que le modèle est dense.
Ce parcours obligatoire de l’ensemble des cellules à portée rend cette stratégie beaucoup plus
coûteuse en nombres d’accès mémoire. L’absence de priorité entre les différentes cases voisines
permet cependant des accès plus réguliers sur GPU, ligne par ligne ou colonne par colonne, pour
mieux tirer parti du chargement des données par paquet ou du regroupement des accès mémoire
réalisés à l’exécution.
5.2.4 Compromis et stratégies avancées
En fonction de l’intelligence du prédateur modélisé, il peut être pertinent de combiner une ou
plusieurs des stratégies suggérées ci-dessus. Ainsi, si aucune proie n’est à portée d’un individu,
un déplacement aléatoire par défaut offre une chance de se rapprocher de densités de proie plusCHAPITRE 5. ADAPTATION D’UN MODÈLE MULTI-AGENTS SUR GPU : PROIE-PRÉDATEUR 73
individu
cible
rayon
Figure 5.3 – Principe de recherche de la proie la plus énergétique
importantes. Ce déplacement comporte cependant également le risque d’éloigner l’individu des
ressources recherchées, et son intérêt est donc très dépendant des paramètres du modèle et de la
répartition géographique des agents. Nous avons fait le choix dans notre modèle de ne pas déplacer
l’individu en l’absence de cible, pour éviter ce problème.
Au-delà de ces compromis instantanés entre plusieurs comportements, la recherche de cible
ouvre également la voie à de véritables intelligences, avec mémorisation des proies. Il est ainsi
possible d’intégrer la possibilité pour le prédateur de suivre sa proie si celle-ci quitte son champ
de vision immédiat. Un autre mécanisme pouvant être implémenté est un comportement de persistance
: si plusieurs cibles offrent des caractéristiques très similaires, mais deviennent tour à tour
les plus intéressantes du fait de micro-variations du modèle entre chaque itération, il est alors pertinent
de pousser l’individu à se concentrer sur une seule cible, plutôt que de dépenser son énergie
à courir dans diverses directions.
5.3 Adaptation OpenCL
Après avoir présenté les principales approches de modélisation possibles pour le modèle proieprédateur
et en particulier les différents algorithmes de déplacement et leur influence sur la simulation,
tant en termes de modèle que de parallélisation, nous étudions dans cette section les choix
d’implémentation effectués pour notre implémentation OpenCL.
5.3.1 Algorithme retenu
Pour évaluer l’efficacité de l’adaptation de ce type d’algorithme sur plate-forme GPGPU, nous
avons choisi d’implémenter l’algorithme proie-prédateur décrit dans l’algorithme 1.
Cette implémentation est caractérisée par la simulation de trois populations, dont deux repré-
sentent des prédateurs :
— L’herbe, ou végétation représente les ressources végétales pouvant être consommées par
la population herbivore du modèle.
— Les proies représentent la première population prédatrice du modèle, capables de consommer
des végétaux, de se déplacer et de se reproduire. Cette population est caractérisée par
son abondance, liée à des besoins limités et un taux de fertilité important.
— Les prédateurs représentent la seconde population prédatrice du modèle, capable de
consommer des proies de la première population. Cette seconde catégorie d’individus estCHAPITRE 5. ADAPTATION D’UN MODÈLE MULTI-AGENTS SUR GPU : PROIE-PRÉDATEUR 74
Algorithme 1 : Algorithme proie-prédateur retenu
Data : grass Grille de flottants représentant la couche herbe
Data : preys Grille de flottants représentant la couche proies
Data : preds Grille de flottants représentant la couche prédateurs
Data : n Largeur de chacune des trois grilles d’entrée
Data : m Hauteur de chacune des trois grilles d’entrée
1 for i = 0 to n do
2 for j = 0 to m do
3 grass[i][j] ← grass[i][j] + growth;
4 end
5 end
6 for (i, j) ∈ (proiesX, proiesY) do
7 x, y ← f indT arget(i, j);
8 if preys[i][j] vide then
/* Déplacement de la proie en x, y */
9 preys[x][y] ← preys[i][j];
10 preys[i][j] ← 0;
11 end
/* Consommation des végétaux */
12 preys[x][y] ← clamp(preys[x][y] + grass[x][y], prey_min, prey_max);
/* Diminution de l’énergie de la proie */
13 preys[i][j] ← preys[i][j] − delta;
14 if preys[i][j] < 0 then
/* Décès de la proie */
15 preys[i][j] ← 0;
16 end
17 end
18 for (i, j) ∈ (predateursX, predateursY) do
19 x, y ← f indT arget(i, j);
20 if preds[i][j] vide then
/* Déplacement du prédateur en x, y */
21 preds[x][y] ← preds[i][j];
22 preds[i][j] ← 0;
23 end
/* Consommation de la proie */
24 preys[x][y] ← 0;
/* Diminution de l’énergie du prédateur */
25 preds[i][j] ← preys[i][j] − delta;
26 if preds[i][j] < 0 then
/* Décès du prédateur */
27 preds[i][j] ← 0;
28 end
29 endCHAPITRE 5. ADAPTATION D’UN MODÈLE MULTI-AGENTS SUR GPU : PROIE-PRÉDATEUR 75
associée à des besoins plus importants, et un taux de fertilité relativement plus faible.
Cet algorithme pose plusieurs problèmes de parallélisation :
— L’évolution de chaque population dépend des mises à jour des populations précédentes.
— Plusieurs individus d’une même population peuvent tenter de se déplacer au même endroit.
— L’algorithme repose sur le parcours des positions des proies et des prédateurs. Cette liste
de positions doit être mise à jour au fur et à mesure de la disparition et de l’apparition de
nouveaux individus.
5.3.2 Représentation mémoire
Dans notre implémentation OpenCL, nous avons fait le choix de représenter les données globales
du modèle sous la forme d’une unique structure mémoire accessible en lecture seule à toutes
les tâches GPU. Ces informations comprennent l’ensemble des données d’entrée de la simulation :
taux de métabolisme et de croissance des ressources végétales, énergie minimale et maximale pour
chaque individu...
Chaque population est stockée sous forme de grille à deux dimensions (Figure 5.4). Toutes ces
grilles font la même taille, et peuvent être considérées comme une vision particulière de l’espace
de simulation. La présence d’un agent est indiquée par une énergie strictement positive dans une
cellule, et l’absence d’individu correspond à une valeur d’énergie négative ou nulle.
Prédateurs
Proies
Végétation
Figure 5.4 – Stockage retenu pour les populations et les niveaux d’énergie du modèle proieprédateur
Pour éviter un parcours complet de chaque grille pour localiser les individus, quatre tableaux
statiques indiquant la position des agents proies et prédateurs du modèle sont également spécifiés
en paramètres des traitements de mise à jour et de déplacement :
— Un tableau comprenant les positions en x des proies.
— Un tableau comprenant les positions en y des proies.
— Un tableau comprenant les positions en x des prédateurs.
— Un tableau comprenant les positions en y des prédateurs.
Ces tableaux de positions sont mis à jour par le CPU entre chaque itération de la simulation
pour prendre en compte l’apparition de nouveaux individus ou les décès d’agents existants. Cette
mise à jour sur le processeur hôte permet d’éviter toute problématique de réallocation mémoire
non supportée sur GPU.CHAPITRE 5. ADAPTATION D’UN MODÈLE MULTI-AGENTS SUR GPU : PROIE-PRÉDATEUR 76
5.3.3 Extraction de sections parallèles
Il est possible de paralléliser le modèle proie-prédateur de deux manières sur GPU :
— Soit en réalisant l’ensemble de la simulation sur GPU.
— Soit en n’intervenant que sur les traitements coûteux et parallélisables.
La première approche implique de gérer la totalité des problèmes de parallélisation posés par le
modèle en OpenCL, et en particulier la gestion des structures de données dynamiques comprenant
les positions des proies. Elle implique également le traitement de populations agents très diverses
en nombre, qu’il s’agisse de l’herbe, des proies, ou des prédateurs. Cette diversité impose soit une
réalisation de la simulation en plusieurs lancements OpenCL, soit une occupation très disparate
des threads d’exécution lancés sur la carte graphique aux différents stades de l’exécution.
Nous avons donc fait le choix de privilégier la seconde approche, où la simulation est au départ
intégralement réalisée sur CPU, pour en adapter ensuite un ou plusieurs traitements sur GPU. Dans
ce cas, un point central de l’adaptation est de sélectionner les portions du programme à même de
bénéficier d’une parallélisation sans modification fondamentale de l’algorithme. Cette sélection est
favorisée par l’existence dans le modèle d’opération de transformation ou de réductions analogues
à celles proposées par des bibliothèques telles que BLAS ou MPI. C’est en particulier le cas de
l’opération de mise à jour des ressources végétales, qui correspond à l’application d’une même
fonction mathématique à chaque cellule de l’environnement, et le cas de la réduction de la quantité
d’énergie présente dans le modèle.
Dans l’algorithme décrit, trois traitements semblent de bons candidats à une telle extraction :
— La mise à jour des ressources végétales. L’application d’une transformation mathématique
simple à chaque cellule, sans dépendance sur ses voisines, permet l’utilisation d’une
tâche OpenCL pour la mise à jour de chaque cellule. L’absence de synchronisation permet
ainsi de tirer aisément parti du grand nombre de coeurs du GPU. Le coût de cette section
est également directement proportionnel à la taille de l’environnement de simulation, plutôt
qu’au nombre d’individus présents dans le modèle, ce qui garantit un temps de calcul
important et aisément prévisible en connaissant les dimensions du modèle d’entrée. Cette
opération revient à l’application d’une même fonction mathématique à chaque cellule de
l’environnement.
— La recherche des nouvelles positions pour chaque individu. Si la gestion des individus
est malaisée à implémenter de manière intégrale sur GPU, du fait de l’apparition ou de
la disparitions des agents, ou des nombreuses conditions rencontrées dans l’algorithme, la
recherche de cibles de déplacement implique le parcours d’un nombre de cellules d’autant
plus important que le nombre et la portée de chaque agent augmentent. Réaliser ce calcul
sur GPU permet le parcours de cellules en parallèle pour chaque position d’individu du
modèle, et laisse ensuite la possibilité au CPU d’intervenir au niveau de la prise en compte
de cette valeur brute, en l’ignorant ou l’adaptant si nécessaire.
— Totalisation des quantités d’énergie présentes dans le modèle. Le choix de représentation
de chaque population dans une grille spécialisée, enfin, permet aisément d’effectuer
la somme des valeurs de l’ensemble des cellules de la grille pour obtenir l’énergie totale
à une itération donnée représentée sous forme de végétaux, de proies ou de prédateurs.
Ce traitement revient à une forme de réduction cas de la quantité d’énergie présente dans
chaque grille du modèle.CHAPITRE 5. ADAPTATION D’UN MODÈLE MULTI-AGENTS SUR GPU : PROIE-PRÉDATEUR 77
5.4 Synthèse
Dans ce chapitre, nous avons évoqué une parallélisation possible du modèle proie-prédateur
reposant sur la délégation de certaines fonctions au GPU. La parallélisation d’une partie du modèle
est motivée par deux observations :
— Certains traitements correspondent directement à des opérations déjà parallélisées par des
bibliothèques telles que BLAS ou MPI. C’est en particulier le cas de l’opération de mise à
jour des ressources végétales, qui revient à l’application de la même fonction mathématique
à chaque cellule de l’environnement, et le cas de la réduction de la quantité d’énergie
présente dans le modèle.
— D’autres traitements, comme le déplacement, impliquent la réalisation d’un grand nombre
d’itérations de boucle pour chaque agent dans le modèle. Dans ce cas, cette opération
de recherche peut être parallélisée, de manière à permettre à tous les agents de consulter
l’environnement simultanément.
Au vu de notre contexte et de cette première démarche de parallélisation d’un système multiagents,
il est maintenant possible de présenter les différentes approches pouvant être utilisées pour
l’adaptation de ce type de système sur GPU.6
Methodes d ´ ’adaptation SMA sur GPU
Au vu de notre contexte et de notre démarche de parallélisation du modèle proie-prédateur
en OpenCL, il est possible de dégager trois méthodes principales d’utilisation du GPU pour des
simulations multi-agents : l’adaptation de la totalité du modèle, la parallélisation de certaines opé-
rations, ou le recours à des opérations parallélisées existantes.
La première approche, l’adaptation de la totalité du modèle, implique l’implémentation de l’ensemble
de l’algorithme sur GPU par le concepteur. Dans ce cas, l’essentiel de la simulation utilise
le langage et les structures de données OpenCL pour son exécution, et la gestion de l’allocation,
de la copie et de la manipulation des structures de données est directement effectuée par le programme.
Cette solution permet également un contrôle total de l’exécution par le programme.
La seconde approche, la parallélisation de certaines opérations seulement sur GPU, vise à maximiser
le gain en performance obtenue tout en conservant une démarche de parallélisation incré-
mentale. Cette approche partielle permet de conserver les aspects complexes de la simulation sur
le CPU, comme dans le cas de la gestion des listes de positions de chaque individu dans le modèle
proie-prédateur. Elle requiert elle aussi une expertise en programmation pour implémenter
ces opérations parallélisées.
La troisième approche, enfin, est de réutiliser des opérations de haut niveau déjà parallélisées
sur GPU. Cette approche permet l’utilisation de la puissance des cartes graphiques dans une simulation
multi-agents sans connaissance particulière de l’architecture. Elle implique toutefois de
se conformer à l’interface de ces fonctions existantes en visant une certaine généricité des traitements.
Dans le modèle proie-prédateur, il est ainsi intéressant de se ramener à des opérations
matricielles, plutôt que d’effectuer le traitement de chaque case de manière indépendante.
Dans les sections suivantes, nous présentons dans un premier temps comment l’espace de simulation
utilisé par le système multi-agents est susceptible d’orienter le choix du concepteur vers
l’une ou l’autre de ces approches. Nous évoquons ensuite, pour chacune de ces trois solutions, les
contraintes associées pour permettre une utilisation efficace de la parallélisation sur GPU.
6.1 Gestion de la dimension spatiale
L’algorithme d’évolution d’un système multi-agents ne fixe généralement pas de bornes particulières
au nombre d’individus ou à la taille de l’environnement utilisé dans le modèle. Ces deux
paramètres sont déterminés par le scénario de la simulation.
Une connaissance même approximative de ces paramètres au moment de la conception d’un
programme permet cependant au développeur de privilégier a priori certaines structures de données.
Le choix d’utiliser un dictionnaire se justifie ainsi pour indexer un grand nombre d’éléments,CHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 80
mais s’avère au contraire pénalisant pour une très petite quantité de données, du fait des traitements
supplémentaires requis par la gestion de la structure.
Cette connaissance préalable est également importante dans le cadre de l’implémentation d’un
système multi-agents : si certaines portions de l’algorithme présentent un coût constant, comme
l’initialisation des variables globales, d’autres sont directement liées à ces paramètres d’exécution.
La mise à jour des agents peut ainsi présenter un coût linéaire par rapport au nombre d’agents
présents dans le modèle. Au contraire, la recherche dans un voisinage dans un espace de simulation
en deux dimensions représente un coût évoluant de manière quadratique.
Suivant les modèles, cette topologie spatiale est présente sous forme de structure de données
explicite, dans le cas du modèle proie-prédateur, ou de manière plus abstraite. Ce second type est
illustré par le graphe d’accessibilité utilisé pour le modèle MIOR plus loin dans ce mémoire.
Cette variation des coûts en fonction des paramètres d’entrée influence directement les performances
obtenues par une implémentation particulière, et en particulier par une adaptation sur le
GPU, en application de la loi d’Amdhal. Si les portions adaptées sur GPU sont parallélisables et
deviennent de plus en plus coûteuses avec l’augmentation du nombre d’agents ou de la taille de
l’espace de simulation, l’utilisation de cette plate-forme sera alors d’autant plus avantageuse en
regard au CPU que ces deux paramètres augmentent. Au contraire, si le coût de ces portions parallélisées
reste constant ou très limité dans la plage de paramètres qui intéresse le chercheur, les
gains offerts par telle adaptation seront plus limités.
Dans toute expérimentation, il apparaît donc prometteur d’identifier les traitements dont le coût
augmente rapidement en regard de l’espace de simulation du système, puis d’évaluer l’impact sur
les performances de ces traitements sur différentes tailles du système, si possible avec un facteur
de mise à l’échelle assurant un comportement identique de la simulation.
6.2 Développement d’un modèle sur GPU
La première approche de parallélisation d’un système multi-agents sur GPU est de réaliser l’ensemble
du modèle sur ce support. De nombreuses réalisations de ce type ont été présentées dans
la section 3.3.1. Cette approche requiert toutefois la maîtrise du modèle de programmation GPU,
ainsi que la gestion de nombreuses problématiques par le concepteur du modèle. Nous détaillons
ces différentes problématiques dans la suite de cette section.
6.2.1 Implémentation des structures de données
OpenCL ne spécifie pas, en tant que standard basé sur le langage C, de structures telles que les
listes chaînées ou les grilles : les seules structures de données gérées directement par le langage
sont les types primitifs, les structures et les tableaux statiques. Pour pouvoir adapter un modèle
multi-agents sur GPU, il est donc nécessaire de convertir toutes les structures décrites dans le
modèle en combinaison d’un ou plusieurs de ces types de données.
Cette restriction limite le modèle à l’utilisation de tableaux statiques à une dimension ou à
des structures spécifiques telles que les textures pour représenter les grilles souvent rencontrées
dans les systèmes multi-agents. Cette conversion en structures de données implique des choix de
représentation. La Figure 6.1 illustre ainsi deux manières possibles de représenter une matrice en
OpenCL, sur la base d’une linéarisation ligne par ligne ou colonne par colonne. Chacune de ces alternatives
est adaptée à un mode particulier d’accès aux données. La linéarisation par ligne permetCHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 81
1 2 3
4 5 6
7 8 9
1 2 3 4 5 6 7 8 9
1 4 7 2 5 8 3 6 9
Linéarisation par lignes
Linéarisation par colonnes
Figure 6.1 – Linéarisation par lignes ou par colonnes d’une grille à deux dimensions
de tirer un meilleur parti de la localité des données en cas de traitements sur des lignes complètes
de matrice, et en particulier du chargement des données par paquet par la carte graphique. Elle
est également adaptée à la répartition des cellules de chaque ligne entre plusieurs traitements, en
permettant à la carte graphique de grouper l’accès aux données voisines en mémoire. Ces deux
avantages disparaissent dans le cas d’un traitement de la matrice colonne par colonne où il sera
alors nécessaire de préférer une linéarisation par colonnes, pour les mêmes raisons.
La conversion de ces structures est rendue plus difficile en OpenCL, par rapport au C, par
l’impossibilité d’utiliser des pointeurs à l’intérieur des structures de données GPU [ope]. Toute
structure basée sur ce concept (liste chaînée, graphe...) doit également être représentée sur GPU
sous forme d’un ou plusieurs tableaux statiques ou d’objets texture avec une perte en flexibilité
d’utilisation.
La gestion de ces représentations alternatives doit être prise en charge à la fois au niveau du
système hôte, pour permettre l’allocation et l’initialisation de ces structures de données, et au
niveau du périphérique d’exécution. La plupart des bibliothèques OpenCL décrites dans notre
contexte se focalisent sur l’utilisation de structures et d’opérations du côté hôte uniquement, en
délégant à l’implémentation le soin de gérer les données indiquées, même si des bibliothèques
comme ELMO [FVSS13] facilitent certains traitements au niveau de l’exécution GPU.
6.2.2 Allocation et gestion de la mémoire
OpenCL requiert également une gestion totalement manuelle de la mémoire de la part du dé-
veloppeur, au contraire de langages comme Java ou de nombreuses plates-formes multi-agents qui
intègrent un mécanisme de ramasse-miettes chargé de la libération automatique des ressources.
Cette gestion manuelle de la mémoire est basée sur un mécanisme de comptage des références
à chaque objet natif OpenCL, où la mémoire est libérée une fois que plus aucune référence n’existe
sur l’objet. Ce mécanisme implique une vigilance importante de la part du développeur pour s’assurer
que les ressources natives sont effectivement libérées après utilisation.
Une dernier aspect important de la gestion en mémoire est que son allocation repose, comme
en C, sur la demande d’un espace de taille fixée au système. La zone mémoire obtenue n’est pas
typée, et peut être utilisée indifféremment pour n’importe quel type de donnée. Si cette généricité
permet d’envisager la réutilisation du même espace mémoire pour plusieurs données du modèle,
elle empêche également toute vérification automatique de son utilisation par le compilateur ou la
plate-forme d’exécution.
Les espaces mémoires obtenus sont également caractérisés, comme en C, par l’absence de toute
vérification de la validité des accès. Il est ainsi aisément possible, en manipulant des tableauxCHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 82
de données, d’écrire ou de lire à des adresses mémoires invalides. Ce type d’erreur n’est pas
nécessairement détecté par la plate-forme d’exécution, et impose une grande vigilance dans l’accès
aux structures de données pour éviter de corrompre silencieusement les données de la simulation.
6.2.3 Gestion de l’exécution
Au-delà de la gestion de la représentation des données du modèle, la réalisation d’un modèle
multi-agents directement sur GPU pose la question de la granularité de parallélisation de l’exécution
et du type de distribution des données à retenir : est-il préférable d’effectuer la totalité de la
simulation en un seul lancement de kernel ? Vaut-il mieux, au contraire, découper l’exécution en
plusieurs kernels correspondants à des données et des traitements différents ? Comment découper
l’algorithme utilisé en threads ?
Granularité de parallélisation
La décomposition du traitement à effectuer en nombreux threads est un pré-requis important
pour une exécution efficace du nombre important de coeurs fournis par l’architecture matérielle
GPU. L’exécution d’un agent à la fois n’a ainsi aucun intérêt si l’exécution de cet agent n’est pas
parallélisable et coûteuse en soi, du fait des coûts de transfert, du faible taux d’occupation et des
temps d’exécution obtenus.
Une manière d’assurer ce découpage est d’exécuter tous les agents du modèle de manière simultanée
(parallélisation "en largeur"), en associant chaque agent à un thread d’exécution. Une
alternative est une parallélisation dite "en profondeur", dans laquelle chaque agent réalise un ou
plusieurs calculs coûteux à même d’être largement parallélisés, de manière à justifier son exécution
indépendante sur GPU.
Le choix du nombre de kernels devant être utilisés pour la réalisation de la simulation dépend
de plusieurs facteurs :
L’algorithme a un impact primordial sur le type de parallélisation retenue. Il peut être aisément
parallélisable, s’il s’agit par exemple d’un traitement indépendant sur chaque élément d’une grille
d’entrée, ou au contraire imposer de nombreuses synchronisations entre agents. Si tous les threads
d’une exécution doivent conclure les mêmes opérations avant de pouvoir continuer l’exécution
de la simulation, des barrières d’exécution deviennent nécessaires. Le découpage en programmes
distincts est un autre moyen d’obtenir implicitement ce type de synchronisation.
Le nombre de threads (work-items) devant être lancés. Le nombre et l’organisation des
threads associés à un kernel sont fixés au niveau du lancement et ne peuvent pas être modifiés en
cours d’exécution. Si plusieurs populations d’agents de tailles variées, ou des structures de taille
très variées, existent dans le modèle, il est préférable d’utiliser un découpage adapté à chaque
population, plutôt qu’un unique découpage peu adapté, de manière à maximiser l’utilisation des
threads lancés. Le lancement en un seul kernel d’une simulation proie-prédateur comprenant 2000
proies et 100 prédateurs implique ainsi l’utilisation de 2000 works-items, si chaque population doit
être traitée en parallèle. Si ce découpage est optimal en regard du nombre de proies, seuls 5% des
threads seront effectivement utilisés pour la simulation les prédateurs, ce qui induit une irrégularité
importante en temps de traitement sur GPU.
Les dépendances de données. Le type des données manipulées et leur utilisation dans les
différentes phases de l’exécution ont également leur importance en termes de découpage. Ainsi,
les objets textures ne sont accessibles qu’en lecture ou en écriture au sein d’un même lancement.CHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 83
Les dépendances de transfert. Certaines données peuvent également demander des traitements
intermédiaires sur CPU avant de poursuivre l’exécution sur GPU. Dans ce cas, l’application
de ces traitements requiert une récupération des données par le CPU, un calcul, puis une nouvelle
copie sur GPU, et les coûts de transferts associés.
La fréquence et le nombre des transferts devant être réalisés. Le fait de déléguer une partie
de la simulation au GPU impose l’échange régulier de données entre les deux plates-formes d’exé-
cution, pour la mise à jour de la simulation ou la récupération de résultats. S’il est plus intéressant
d’effectuer tous les traitements en un minimum de lancements, pour limiter les coûts associés à ces
transferts, des contraintes en termes de découpage d’exécution, évoqués dans le paragraphe précé-
dent, ou en termes de visualisation de la simulation peuvent imposer le découpage de la simulation
en plusieurs étapes de traitement.
Distribution des données
L’exécution en OpenCL est basée sur le découpage de la tâche en une grille à une, deux ou trois
dimensions de threads (ou work-items) exécutant le même traitement pour l’accès aux données.
Chacun de ces threads est associé à une position dans cette grille. Dans ces circonstances, il est
naturel de souhaiter adapter ce découpage d’exécution au découpage retenu pour les données, de
manière à pouvoir utiliser ces positions dans les traitements. Pour les systèmes multi-agents, cette
association revient souvent à associer un thread à chaque agent en cours de traitement du système.
Cette association entre index dans la grille d’exécution et agent ouvre la voie à deux possibilités
de représentation des données des agents dans le modèle, illustrées par la Figure 6.2.
positionX
positionY
positionZ
positionX
positionY
positionZ
positionX
positionY
positionZ
positionX
positionY
positionZ
x1 x2 x3 x4 ... xn
x
y
z
x2
y2
z2
x3
y3
z3
...
xn
yn
zn
x1
y1
z1
y1 y2 y3 y4 ... yn
z1 z2 z3 z4 ... zn
x4
y4
z4
Agent 1
Agent 2
Agent 3
Agent 4
positionX
positionY
positionZ
positionX
positionY
positionZ
positionX
positionY
positionZ
positionX
positionY
positionZ
Agent 1
Agent 2
Agent 3
Agent 4
Figure 6.2 – Représentations possibles des propriétés multi-agents en termes de structures OpenCL
La première approche pour le stockage de ces données est d’associer à chaque ensemble de
propriétés son propre tableau à une dimension. Dans le cas où chaque agent est associé à un triplet
de coordonnées réelles (x, y,z) représentant sa position dans l’espace de simulation, ce processus
se traduit par le stockage de ces informations sous forme de trois tableaux de réels, un parCHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 84
coordonnées. Le nombre de tableaux à une dimension obtenu est directement lié au nombre de
propriétés différentes associées à chaque agent : si ce nombre augmente, le nombre de tableaux
nécessaires, et donc le nombre de paramètres devant être passés au programme, augmente également.
Si le modèle agent décrit plusieurs types d’individus différents, dotés ou non de certaines
propriétés, un choix se pose alors au concepteur du stockage mémoire : soit d’effectuer l’union de
tous les ensembles de propriétés stockés dans le modèle, soit de dédier à chaque type d’agent son
ensemble de tableau, sans réutilisation. Le premier cas permet de limiter l’explosion du nombre
de paramètres quand de nombreuses informations sont communes à toutes les catégories d’agents,
comme une position. Elle signifie cependant que chaque tableau de propriétés n’est plus applicable
à l’ensemble des agents, et comprendra donc des “lacunes” correspondant aux agents pour
lesquels cette propriété n’est pas définie. Ces lacunes peuvent avoir à être ignorées au moyen de
tests nuisant à l’utilisation effective des coeurs d’exécution en forçant le matériel à évaluer les
deux branches de la condition. Le second cas évite ce problème, chaque propriété étant définie
pour l’ensemble du type d’agent décrit, au prix d’une multiplication du nombre de structures de
données devant être gérées dans la programmation du modèle.
Une seconde approche est une programmation “objet”, où chaque ensemble de propriétés est
stocké dans sa propre structure spécialisée. Il est dans ce cas important de prendre en compte
l’augmentation de l’espace mémoire engendré par l’alignement des attributs de chaque structure.
Une règle simple pour minimiser ces pertes mémoires est, autant que possible, d’organiser les
propriétés par ordre de taille dans la description de la structure. Cette opération n’est pas effectuée
automatiquement par la plupart des compilateurs pour éviter de produire des représentations
binaires différentes, et donc des incompatibilités, en fonction du logiciel utilisé pour compiler
chaque portion de programme.
Le choix de l’une ou l’autre de ces solutions est à la fois gouverné par les considérations dé-
crites en termes de stockage (nombre de paramètres nécessaires, de types distincts, recouvrement
ou non de nombreuses propriétés entre les agents) et par l’algorithme lui-même, et plus particuliè-
rement l’ordre et le mode d’accès aux données. Ainsi, dans le cadre d’un kernel où tous les agents
accèdent à une seule propriété, un stockage des propriétés par tableaux permet de récupérer cette
information pour tous les agents voisins en une seule requête, du fait des lectures par paquet effectuées
par le GPU. Si l’exécution de chaque agent est au contraire basée sur l’accès à ses propres
données uniquement, l’utilisation de tableaux de structures permet dans ce cas de récupérer toutes
les propriétés associées à l’agent de manière simultanée.
6.2.4 Diagnostic des erreurs
Le développement et le diagnostic des erreurs de modèles complets sur GPU sont rendus diffi-
cile par l’impossibilité d’écrire des informations de diagnostic dans une sortie ou dans un fichier
pendant l’exécution OpenCL.
La récupération des erreurs est également rendue ardue par la nature asynchrone de l’exécution
sur GPU. Cette asynchronisme se traduit par une vérification des erreurs sur de nombreuses implémentations
d’OpenCL au moment de la soumission de la prochaine opération seulement. Cette
soumission peut n’avoir aucun rapport avec l’exécution fautive ou être éloignée, ce qui retarde la
découverte du dysfonctionnement.
Enfin, la remontée des erreurs est effectuée, comme en C, sous forme de codes de retours
prédéfinis n’indiquant pas la source et la position précise de l’erreur dans le programme. Ces
codes d’erreurs sont de plus susceptibles de varier entre implémentations d’OpenCL.CHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 85
Il est possible de pallier, dans une certaine mesure, à ces difficultés de diagnostic en examinant
régulièrement l’évolution des structures de données de la simulation au cours du processus de
développement, ou en écrivant des informations de diagnostic dans des structures de données de
sorties spécialisées. Cette solution ne fonctionne cependant pas en cas d’interruption du kernel
d’exécution, et permet surtout la validation du bon fonctionnement de la simulation.
6.3 Parallélisation de certains traitements
Une seconde approche de parallélisation d’un système multi-agents sur GPU est de ne réaliser
que certains traitements sur carte graphique et de conserver le reste de la simulation sur CPU.
Cette approche permet de conserver les aspects complexes de la simulation sur le CPU, comme
dans le cas de la gestion des listes de positions de chaque individu dans le modèle proie-prédateur.
Elle permet de tirer parti de la puissance du GPU pour des traitements parallélisables et coûteux
en temps de calcul, et donc d’accélérer l’exécution du modèle dans son ensemble, mais requiert
elle aussi une expertise en programmation pour implémenter ces opérations. L’utilisation de deux
langages et architecture d’exécution différentes dans la même simulation impose également de
pouvoir transformer les structures de données utilisées sur CPU en structures équivalentes sur
GPU, et inversement, pour les informations communes aux deux modes d’exécution.
6.3.1 Adaptation des structures de données CPU
Le langage Java est associé à une très vaste bibliothèque de structures de données prédéfinies
à la disposition des développeurs. Cette base commune permet au concepteur de nouvelles bibliothèques
Java de disposer des structures les plus courantes, comme les dictionnaires, les listes ou
des files d’attente sans avoir besoin d’en développer sa propre implémentation ou de recourir à
des bibliothèques externes. Cette standardisation des structures de données facilite également leur
partage et leur adaptation sous forme de structure OpenCL.
6.3.2 Exécution synchrone ou asynchrone
Les simulations multi-agents sont basées sur le découpage de leur évolution en étapes discrètes
déclenchées de manière régulière (pas de temps) ou par certains événements. L’exécution du modèle
ou de la plate-forme est également souvent synchrone, pour faciliter la gestion de la mise à
jour de la vue ou des résultats de la simulation.
Le modèle d’exécution offert par OpenCL est, pour sa part, basé sur une exécution asynchrone
par le biais d’un mécanisme de file d’attente. L’utilisation d’opérations asynchrones favorise la
réalisation de tâches en parallèle de l’exécution de traitements et l’indication de dépendances entre
tâches, tandis que l’exécution synchrone permet un blocage implicite de l’exécution du modèle
multi-agents dans l’attente de résultat.
Dans ces circonstances, une première approche est d’interrompre le déroulement de la simulation
sur CPU pour chaque traitement sur GPU en effectuant des soumissions synchrone. Le
déroulement de l’exécution obtenue est illustré par la Figure 6.3. Cette approche revient à bloquer
l’exécution de la totalité du modèle tant que le traitement GPU n’est pas terminé, alors qu’il serait
par exemple possible d’exploiter le CPU pour réaliser des opérations d’affichage ou encore la mise
à jour ou l’exécution d’autres parties du modèle.CHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 86
Traitement CPU 1
Traitement CPU 4
Traitement GPU 1
Traitement GPU 2
Traitement CPU 2
Traitement CPU 3
Traitement CPU 3bis
Figure 6.3 – Synchronisation bloquante de chaque traitement GPU
Une seconde approche est de lancer l’ensemble des traitements GPU en une seule fois pour
obtenir le type de déroulement de l’exécution illustré par la Figure 6.4. Dans ce cas, les opérations
GPU sont lancées à la suite, au moyen du système de dépendances fourni par OpenCL, et
le programme CPU attend la fin de l’ensemble des traitements plutôt que chaque opération intermédiaire.
Cette approche permet de tirer parti du CPU et du reste des ressources matérielles de
la machine pendant l’exécution sur GPU, au prix toutefois d’une certaine désynchronisation des
traitements à l’intérieur de l’itération, du fait de l’exécution de plusieurs traitements consécutifs
en arrière plan, avant leur réintégration dans la simulation.
Traitement CPU 1
Traitement CPU 4
Traitement GPU 1
Traitement GPU 2
Traitement CPU 2
Traitement CPU 3
Figure 6.4 – Synchronisation bloquante à la fin des traitements GPUCHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 87
Ces deux approches offrent comme avantage la conservation de l’ensemble des traitements
au sein de la même itération. Dans les deux cas, l’ensemble des traitements GPU est terminé et
réintégré à chaque pas de temps. Elles montrent cependant leurs limites dans deux situations :
— Pour des traitements de fond très longs. Dans ce cas, la poursuite de l’itération est susceptible
d’être bloquée pendant un temps important.
— Si le recours au GPU à chaque itération ne permet pas une exécution efficace. Il est dans ce
cas possible de recourir à un système de mise en attente des traitements pour grouper par
lots les lancements à effectuer.
Une troisième solution est donc de désynchroniser l’exécution des itérations de la simulation
sur CPU et des traitements GPU. De cette manière, il devient possible d’exécuter plusieurs ité-
rations avant de récupérer les données résultats, ou encore de rassembler les travaux de plusieurs
itérations avant exécution sur GPU. Cette approche est la plus délicate à gérer, et demande une
connaissance fine du modèle simulé, pour déterminer le nombre d’itérations de décalage pouvant
être admises entre traitements CPU et GPU, puisque le découpage en pas de temps n’est plus
respecté.
Ce choix du niveau de synchronisation implique également un choix du nombre d’étapes de
lancements utilisées pour effectuer les traitements, en fonction du taux de contrôle et des différents
découpages de parallélisation pour chaque portion de calculs, comme nous l’avons vu dans le
choix de la granularité de parallélisation pour l’implémentation d’un modèle sur GPU.
Dans des modèles qui ne requièrent que des mises à jours partielles ou sporadiques du système,
il peut être difficile de rassembler d’assez grandes quantités de traitements pour bénéficier d’une
exécution sur GPU. La mise en place d’un mécanisme de file d’attente est alors nécessaire, de
manière à rassembler les traitements en attente et les exécuter par lot de manière asynchrone,
plutôt que sous forme de lancements indépendants. Cette approche, illustrée par la Figure 6.5,
permet ensuite la récupération des résultats par la simulation au moyen d’une autre file de données.
Modèle
agent
File de traitements en attente
Exécution parallèle
avec OpenCL
Récupération des résultats
Figure 6.5 – Regroupement des traitements en attente pour une exécution par lot sur GPUCHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 88
6.3.3 Gestion de la mémoire
Dans le cas où seuls certains traitements sont parallélisés sur GPU, il est possible de distinguer
trois cycles de vie distincts pour les structures mémoires OpenCL :
— Tout la durée d’utilisation du GPU. Ce cycle de vie comprend les structures de données,
telles que le contexte d’exécution OpenCL ou les files de soumission de traitement, qui
sont utilisées pour toute la durée de la simulation. La création d’un nouveau contexte est
effectuée soit au moment de l’initialisation du modèle ou de la plate-forme, soit au moment
du premier lancement OpenCL. Sa libération peut être gérée de la même manière,
soit implicitement par la plate-forme ou la sortie du programme, soit explicitement par
la simulation. La libération explicite du contexte d’exécution est importante dans le cas
où le même programme créerait d’autres contextes par la suite, pour éviter toute perte de
ressources liée aux anciens contextes d’exécution GPU encore présents en mémoire.
— Le lancement d’un ensemble de fonctions apparentées ou de la même fonction à plusieurs
reprises. La même opération peut être utilisée à chaque itération du modèle, ou plusieurs
fois dans une même itération pour des fonctions différentes. C’est le cas, par exemple,
dans le modèle proie-prédateur, de la fonction de déplacement utilisée à la fois pour les
proies et les prédateurs. Dans ces circonstances, il est intéressant de ne pas avoir de nouveau
à préparer et compiler les mêmes programmes GPU à chaque appel de la fonction.
Cette réutilisation impose cependant, une fois de plus, la gestion de la mémoire par la
plate-forme ou la simulation. Une solution est de permettre au développeur d’indiquer s’il
est souhaitable de conserver les programmes entre chaque exécution, ou si la totalité des
structures nécessaires au lancement doit être de nouveau préparée à chaque traitement.
— Le lancement d’un seul traitement. Comme nous l’avons vu dans notre présentation du
modèle de programmation GPU, l’exécution du lancement d’un programme implique une
copie des données d’entrée sur le périphérique avant l’exécution, suivi d’une récupération
des résultats une fois l’exécution terminée. Cette démarche donne lieu à l’utilisation de
nombreux objets temporaires, susceptibles d’être alloués et libérés automatiquement par
l’implémentation du traitement sur GPU, de manière transparente pour le reste de la simulation.
La prise en compte de ces trois cycles de vie est importante pour permettre une gestion correcte
de l’allocation et de la libération de la mémoire native, tout en minimisant la quantité de gestion
manuelle de la mémoire devant être effectuée par le reste de la simulation, souvent basée sur un
mécanisme de ramasse-miettes. L’utilisation de ce mécanisme n’est hélas pas possible pour automatiser
toutes ces libérations, car son invocation n’est pas garantie par de nombreux langages
et de nombreuses plates-formes tant qu’il reste de la mémoire disponible. Les structures natives
n’étant que partiellement situées dans les données visibles par le programme, la saturation des
ressources GPU ne déclenche pas ce mécanisme de récupération mémoire. La prise en compte du
ramasse-miettes peut cependant venir en complément de cette gestion du cycle de vie des diffé-
rentes structures GPU, en filet de sécurité supplémentaire permettant la libération de la mémoire.
6.4 Utilisation de traitements parallélisés existants
Les deux approches précédentes correspondent à un premier scénario de parallélisation, où le
concepteur dispose d’une expertise GPU à même de lui permettre de réaliser tout ou partie de la
simulation sur cette architecture. Elles ne permettent cependant pas directement un second scénario
d’utilisation, le recours au GPU sans connaissance particulière de l’architecture d’exécution ouCHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 89
d’un langage de programmation GPGPU.
Une troisième approche possible d’adaptation d’une simulation multi-agents est de réutiliser
des opérations de haut niveau déjà parallélisées sur GPU, en considérant ainsi la programmation
GPGPU comme une boîte opaque permettant d’améliorer les performances du programme. Elle
ne requiert pas une gestion directe des ressources ou de l’exécution GPU par la simulation ou la
plate-forme multi-agents.
L’utilisation de fonctions génériques implique cependant, comme dans le cas de l’utilisation de
bibliothèques matricielles ou d’algèbre linéaire, de ramener les portions de la simulation à paralléliser
à des opérations et des structures de données standards pour pouvoir utiliser un traitement
générique.
Dans le modèle proie-prédateur, il est ainsi intéressant de ramener la mise à jour des végétaux
ou la somme des énergies à des opérations matricielles, plutôt qu’à un traitement ponctuel par
chaque agent dans l’algorithme.
6.4.1 Contrôle du contexte d’exécution
OpenCL sélectionne par défaut automatiquement une périphérique d’exécution local présent
sur la machine, CPU ou GPU, si aucun type de matériel n’est indiqué. Ce comportement facilite le
lancement de calculs sans avoir à choisir explicitement un support parmi les solutions d’exécution
disponibles.
Il est toutefois important, dans le l’utilisation de traitements parallélisés pré-implémentés, que
le concepteur de modèle ait la possibilité de contrôler le type de périphérique d’exécution utilisé,
pour plusieurs raisons :
— Dans le cas d’une parallélisation hybride, pour garantir que l’exécution des opérations aura
bien lieu sur GPU, Xeon Phi, ou FPGA plutôt que sur le processeur déjà utilisé pour le
reste de la simulation.
— Pour permettre la comparaison entre différents matériels, de manière à mesurer l’impact
sur les performances de différentes alternatives d’exécution.
Pour faciliter au maximum l’utilisation de ces traitements agents parallélisés, et assurer leur
portabilité sur de nombreuses machines, quelles que soient les ressources locales disponibles de
manière générale, il est toutefois important de laisser la possibilité d’une sélection implicite du
type de périphérique utilisé. Ce choix par défaut peut alors être celui du premier périphérique disponible,
ou reposer sur des heuristiques plus complexes, privilégiant la solution disponible considérée
comme la plus rapide en calcul.
6.4.2 Gestion de la mémoire
L’utilisation de traitements parallélisés existants libère l’utilisateur de la responsabilité de la
gestion des structures mises en jeu de manière interne par les traitements, mais requiert toujours la
prise en compte des structures persistantes entre plusieurs traitements.
Le fait de devoir préparer à nouveau un contexte d’exécution et compiler un programme GPU
pour chaque opération peut poser problème dans le cas de calculs courts. Ces préparations prennent
alors en effet un temps important en regard du temps effectivement passé en calcul sur le périphé-
rique.
Une solution à ce problème est de regrouper les traitements de même type sous forme de mo-CHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 90
dule, à même d’être préparé une seule fois et réutilisé pour lancer plusieurs fois le même traitement.
Dans ce cas, le lancement d’un traitement parallélisé sur GPU peut être décomposé très
simplement :
— Création d’un contexte.
— Instantiation d’un module d’exécution.
— Lancement de n traitements fournis par ce module.
— Libération du module après utilisation.
— Libération du contexte.
Il est possible d’envisager une libération automatique de toutes les ressources associées à ce
contexte au moment de sa destruction. Cette démarche simplifie alors encore davantage ce type
d’utilisation dans une simulation ou une plate-forme multi-agents existants.
6.4.3 Conception de nouveaux traitements génériques
Si l’utilisation de traitements génériques permet l’utilisation du GPU sans expertise de l’architecture,
elle requiert également une démarche de conception particulière pour le développement
de ces traitements. Si ce processus se rapproche de la seconde approche de parallélisation d’une
simulation multi-agents, une adaptation partielle sur GPU, elle s’en différencie toutefois par la
volonté de proposer une interface générique, découplée de tout modèle spécifique.
Cette volonté de proposer une opération utilisable le plus largement possible se retrouve à la
fois dans le choix des structures de données, de type grille, vecteur ou scalaires plutôt qu’objet, et
dans l’interface d’appel. Cette dernière est conçue de manière à permettre au concepteur d’indiquer
tous les paramètres d’entrée et de sortie de l’exécution sur GPU en une seule fois, en minimisant
autant que possible les transformations ou préparations à effectuer. De cette manière, la totalité de
l’exécution (préparation, copie des données, exécution et récupération des résultats) peut être prise
en charge une seule fois par la fonction générique, plutôt que par le concepteur.
Il est possible d’illustrer cette démarche de généralisation sur la mise à jour des ressources
végétales de l’environnement dans le modèle proie-prédateur.
Une première approche de mise à jour de cette grille est d’indiquer directement les facteurs de
croissance devant être appliqués sous forme de constantes dans l’implémentation OpenCL. Cette
solution lie cependant fortement cette mise à jour au modèle proie-prédateur : pour pouvoir utiliser
ce traitement dans un autre modèle, il est nécessaire d’effectuer une copie du code associée à ce
traitement, et de modifier la valeur de ces constantes.
Une manière de rendre ce traitement générique et directement utilisable par d’autres simulations
multi-agents est d’indiquer ces facteurs de croissance dans l’appel de la fonction. L’opération
de mise à jour devient alors un moyen d’appliquer une transformation affine sur une grille quelconque,
plutôt qu’uniquement sur un environnement proie-prédateur.
Ce type de traitement générique peut être rapproché des opérations proposées par des bibliothèques
comme CuBLAS : il peut alors être exploité sans connaissance particulière du fonctionnement
de l’algorithme ou du GPU avec une simple structure de grille et deux facteurs indiquant
l’opération à appliquer à chaque cellule.CHAPITRE 6. MÉTHODES D’ADAPTATION SMA SUR GPU 91
6.5 Synthèse
Ce chapitre nous a permis de mettre en avant deux scénarios d’utilisation du GPU dans des
modèles et des plates-formes multi-agents existants.
Le premier scénario repose sur une utilisation directe des concepts de programmation GPU
pour implémenter tout le modèle agent sur cette architecture. Cette utilisation de bas niveau impose
cependant de nombreuses contraintes, tant en termes de représentation des données qu’en termes
d’exécution, pour lesquelles il est toutefois possible de fournir des mécanismes venant en aide au
développeur.
Le second scénario repose sur l’utilisation de traitements agents parallélisés existants ou implémentés
par le concepteur. L’utilisation du GPU est alors totalement abstraite pour le reste de
la simulation, ce qui facilite son intégration dans des modèles ou des plates-formes multi-agents
pour accélérer des portions de traitements. Cette seconde utilisation, de beaucoup plus haut niveau,
pose également ses propres problématiques pouvant être en partie résolues par une bibliothèque
adaptée.
L’étude de ces deux scénarios a conduit notre réflexion lors de la conception de la bibliothèque
MCMAS, conçue pour permettre ces deux types d’utilisations.7
MCMAS, une bibliotheque d ` ’execution ´
gen´ erique ´
Dans le chapitre précédent, nous avons mis en avant les deux méthodes de parallélisation de modèles
multi-agents sur GPU, le portage de la totalité du modèle sur cette architecture d’exécution
ou la seule adaptation de certains traitements. Dans ce chapitre, nous présentons notre bibliothèque
MCMAS, qui vise à répondre à ces deux scénarios en facilitant à la fois l’utilisation du GPU sans
connaissance approfondie de la plate-forme, et la réutilisation d’algorithmes et de structures pour
des modèles qui souhaiteraient utiliser OpenCL.
Dans une première section, nous détaillons les objectifs auxquels répond notre bibliothèque.
Nous étudions ensuite l’influence de ces objectifs sur l’architecture de MCMAS, basée sur une
interface de programmation haut niveau, ne mettant pas en jeu de connaissances GPU, et une
interface plus bas niveau permettant un accès complet à OpenCL. Nous présentons ensuite l’implémentation
par MCMAS de la gestion du contexte d’exécution et des principales structures de
données rencontrées dans les systèmes multi-agents. Nous abordons également la manière donc la
bibliothèque permet le recours à des types plus spécifiques spécialisés pour l’exécution sur GPU.
Enfin, nous présentons l’utilisation de MCMAS par le biais de son interface de haut niveau, puis
par le biais de son interface de bas niveau pour développer de nouvelles fonctionnalités de manière
indépendante ou au sein de la bibliothèque.
7.1 Présentation générale
MCMAS 1
est une bibliothèque Java développée pour permettre la parallélisation efficace de
systèmes multi-agents sur GPU. Son exécution est basée sur le modèle de programmation OpenCL,
de manière à permettre l’utilisation une variété de supports la plus large possible, allant d’architectures
many-cores comme les GPU aux processeurs traditionnels le cas échéant.
La volonté centrale derrière la conception de MCMAS est d’offrir deux niveaux d’utilisation
au développeur, basés sur des interfaces de programmation distinctes :
— Une interface d’utilisation OpenCL accessible en Java incluant tous les éléments nécessaires
à l’accès au modèle de programmation, dans le cadre d’une programmation objet,
ainsi que des structures de données et des mécanismes d’aide à l’exécution prêts à être
utilisés.
— Une interface de haut niveau permettant l’appel d’implémentations optimisées des traitements
multi-agents les plus courants. Cette interface permet la parallélisation aisée de
modèles existants sans connaissance GPU, tant depuis des modèles d’agents directement
1. Many-Core Multi Agent SystemsCHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 94
réalisés en Java, que depuis des plates-formes existantes telles que MadKit, NetLogo ou
GAMA. L’utilisation de ces fonctions est conçue pour être la moins intrusive possible et
réduire au minimum le nombre de structures de données manipulées pour réaliser un traitement.
Cette volonté de fournir deux interfaces d’utilisation a une influence directe sur l’architecture
retenue pour la bibliothèque, que nous présentons dans la section suivante.
7.2 Architecture
L’architecture de MCMAS peut être vue comme l’empilement de deux couches applicatives
distinctes et complémentaires en termes d’utilisation :
— Une base commune, MCM 2
. Cette couche permet l’accès au modèle de programmation
OpenCL par le biais d’une interface objet. Elle comprend de nombreux outils de gestion de
l’exécution et des structures de données communément utilisées pour l’implémentation de
modèles et de traitements multi-agents utilisables sur GPU. Elle représente l’interface de
bas niveau de MCMAS, permettant la réalisation de nouveaux traitements avec la bibliothèque.
— Un ensemble de plugins fournissant des traitements génériques réutilisables. Cette couche
applicative repose sur l’interface de programmation MCM pour proposer des traitements
multi-agents déjà implémentés sous la forme de fonctions de haut niveau, comme la mise
à jour de l’environnement ou le calcul de déplacements. Cet ensemble de plugins est extensible
au moyen de la couche applicative MCM ou en encapsulant l’appel à d’autres
plugins, de manière à ajouter le support de nouvelles opérations et de nouvelles structures
de données à la bibliothèque.
Ces deux couches applicatives sont représentées dans la Figure 7.1, qui illustre également les
concepts de plugins et de contexte d’exécution proposés par notre bibliothèque. Des fonctions
différentes sont dévolues à chacune de ces deux couches, comme nous le présentons par la suite.
7.2.1 Une interface de bas niveau : MCM
MCM représente la base de la bibliothèque MCMAS, et offre l’accès à l’interface de programmation
de bas niveau de notre bibliothèque et à tous les mécanismes de l’exécution sur GPU. Elle
reprend la gestion d’un grand nombre de problématiques liées au développement et au lancement
de programmes OpenCL.
MCM facilite la gestion de la mémoire native en intégrant la gestion du ramasse-miettes et en
permettant de manière optionnelle d’associer toutes les structures mémoires et applicatives à leur
contexte d’allocation, de manière à assurer leur libération automatique au moment de la destruction
de ce contexte.
Cette couche applicative fournit les structures de données communes de type grille, vecteur ou
objet proposées par MCMAS, à la fois du côté Java et OpenCL de l’exécution. La conversion de
ces structures MCMAS vers et depuis les types de données Java les plus courants est également
incluse à ce niveau de la bibliothèque.
MCM repose sur la couche d’adaptation JOCL pour l’accès à l’interface de programmation
2. Many-Core ManagerCHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 95
JOCL (adaptateur OpenCL)
Plugin
Gestionnaire MCM
Files d'attentes, structures de données,
programmes OpenCL...
Contexte
MCMAS Plugin
Plate-forme ou modèle multi-agent
Interface
haut niveau
Interface
bas niveau
Figure 7.1 – Architecture de MCMAS
native. Le choix de cette solution est motivée par son minimalisme illustrée par une interface de
programmation identique à OpenCL transposée en Java. D’autres bibliothèques, telles que LWJGL,
proposent des implémentations OpenCL déjà orientées objets, sur lesquelles il est cependant
plus malaisé de redéfinir une autre gestion de l’allocation ou de la libération de la mémoire.
7.2.2 Une interface de haut niveau basée sur des plugins
MCMAS propose, au dessus de la couche logicielle MCM, une interface de haut niveau basée
sur l’utilisation d’un contexte d’exécution abstrait MCMAS et de plugins regroupant des fonctions
multi-agents apparentées.
Un contexte d’exécution abstrait
Le contexte d’exécution MCMAS représente un environnement d’exécution doté de tous les
mécanismes nécessaires au lancement d’un traitement OpenCL. Ce contexte vient répondre au
besoin de personnaliser l’exécution des traitements en permettant au concepteur de modèle multiagents
de sélectionner le type de périphérique d’exécution souhaité et d’activer différents mécanismes
à l’exécution tels que l’enregistrement du temps consacré à chaque opération (profiling). En
l’absence d’indication, MCMAS favorise par défaut l’utilisation des cartes graphiques présentesCHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 96
en local, et recourt, le cas échéant, à l’utilisation du processeur traditionnel.
Ce contexte offre également l’accès aux objets MCM sous-jacents, de manière à permettre la
combinaison des deux interfaces de programmation offertes par MCMAS dans un même environnement
d’exécution.
Des plugins spécialisés
Les opérations de haut niveau proposées par MCMAS sont regroupées en plugins spécialisés
par thématiques, de manière à faciliter la découverte de l’interface de haut niveau de la bibliothèque
et d’assurer un découpage clair des responsabilités de chaque module.
Ces plugins gèrent la réutilisation des ressources mémoires entre fonctions apparentées de manière
transparente, et implémentent des classes de traitements agents pouvant être parallélisées.
Cette décomposition en modules indépendants facilite l’ajout de nouvelles fonctionnalités à
MCMAS, pour gérer de nouveaux traitements ou de nouvelles structures de données rencontrés
dans les systèmes multi-agents.
Une grande partie des plugins proposés avec MCMAS est incluse dans la même archive que
la bibliothèque logicielle. Les plugins MCMAS peuvent également être distribués de manière indépendante
: l’enregistrement de ces nouvelles opérations n’impose pas de contrainte particulière,
de manière à faciliter leur intégration dans tout programme ou plate-forme multi-agents existant.
7.3 Implémentation
Après ce panorama de l’architecture proposée par MCMAS, nous présentons dans la suite
quelques points d’implémentation de cette bibliothèque et nous justifions les choix correspondants
qui ont été effectués.
7.3.1 Contexte d’exécution
La première fonction essentielle pour MCMAS est la création d’un contexte d’exécution et des
structures correspondantes. Ce processus implique le choix d’un périphérique d’exécution sur la
machine, qui est susceptible d’offrir de manière simultanée l’accès à des architectures matérielles
many-core ou à des architectures multi-coeurs CPU plus traditionnelles.
Le choix de ce périphérique d’exécution peut être effectué de trois façons différentes avec
MCMAS :
— En l’absence d’indication, MCMAS sélectionne automatiquement une solution d’exécution.
Dans ce cas, les cartes graphiques sont retenues en priorité, avant de considérer à
défaut l’exécution sur le processeur local.
— En indiquant un type de matériel d’exécution. Dans ce cas, MCMAS recherche tous les
périphériques OpenCL de ce type présents sur la machine, et sélectionne par défaut le
premier matériel rencontré. Une erreur est retournée le cas échéant par la bibliothèque.
Il est possible d’indiquer plusieurs types de matériel à rechercher, pour reproduire une
recherche en cascade similaire à celle effectuée en l’absence d’indication.
— En indiquant une implémentation et un matériel OpenCL particulier. Cette dernière approche
permet de contrôler le périphérique d’exécution effectivement utilisé par MCMAS.CHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 97
Elle est indispensable pour exploiter plusieurs cartes graphiques qui seraient présentes sur
la même machine.
En parallèle du choix du périphérique, de nombreux paramètres de l’exécution OpenCL
peuvent également être contrôlés, parmi lesquels :
— Le niveau d’optimisation à utiliser pour la compilation des programmes OpenCL.
— L’activation du support du profiling, pour permettre l’obtention de statistiques de temps sur
chaque opération.
— L’utilisation par défaut d’opérations flottantes en double ou simple précision.
— Le respect strict ou non du standard IEEE sur les opérations flottantes, pour permettre
l’obtention de meilleures performances sur les opérations les plus courantes.
MCMAS permet le contrôle simple de la disponibilité et de l’activation de ces fonctionnalités
indépendamment des spécificités liées aux différentes versions d’OpenCL et aux extensions proposées
par les implémentations du standard de chaque fabriquant. Par défaut, les fonctionnalités ne
pénalisant ni les performances ni la précision des calculs sont activées, pour permettre un meilleur
diagnostic au moment de la compilation d’erreurs de syntaxe ou des ressources consommées sur
GPU.
7.3.2 Structures de données agents
De nombreuses structures de données, telles que les vecteurs ou les grilles, sont très couramment
utilisées par les systèmes multi-agents.
Si ces structures sont fournies de manière standard sous forme de collection ou aisément réalisables
par le développeur sous forme de tableaux statiques à plusieurs dimensions en Java, l’absence
de support objet et les restrictions sur les types de données imposées par OpenCL rendent
moins aisée leur représentation sur GPU, particulièrement en l’absence de véritable bibliothèque
de données standard.
OpenCL ne permet en effet le passage et l’utilisation sur GPU que de trois catégories de données
:
— Des données scalaires de type primitif ou structure.
— Des tableaux statiques à une dimension.
— Des textures.
Dans ces circonstances, il est nécessaire pour supporter les principaux types de données agents
de pouvoir les convertir et les manipuler sous la forme d’une combinaison d’une ou plusieurs des
structures ci-dessus.
L’approche retenue par MCMAS est de tirer parti des outils de conversion déjà fournis par
JOCL entre buffers binaires Java NIO et buffers OpenCL, en facilitant la conversion et la récupération
des autres types scalaires à partir de ce format. Pour ce faire, de nombreuses classes
constituées de fonctions statiques de conversion sont fournies.
Dans les sous-sections suivantes, nous allons présenter quelques structures de données fournies
par MCMAS, ainsi que leur implémentation.CHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 98
Types primitifs
Le langage OpenCL étant directement basé sur le standard C99, l’ensemble des types primitifs
communs à C et à Java sont directement utilisables dans MCMAS, à l’exception notable du type
booléen.
Les types non signés disponibles en C et en OpenCL doivent cependant être manipulés avec
précaution, Java ne gérant que les types signés. L’interprétation automatique du premier bit comme
un indicateur de signe signifie en effet que leur valeur sera interprétée de manière différente entre
le système hôte et les kernels d’exécution.
Types objets
Il est possible de passer des objets à l’exécution d’un programme OpenCL en les représentant
sous forme de structure. Ces structures reprennent alors les propriétés de l’objet devant être
accessibles sur le GPU.
Ces structures sont générées automatiquement par introspection à partir de toute classe Java
héritant de la classe Struct. Seuls les attributs publics associés à la classe sont pris en compte,
OpenCL ne proposant pas de contrôle d’accès. Le Listing 7.2 illustre un exemple d’objet Java et
de la structure équivalente associée au niveau d’OpenCL.
1 public class Coord extends
Struct {
2
3 public int x;
4 public int y;
5 public int z;
6
7 public Coord(int x, int y, int
z) {
8 this.x = x;
9 this.y = y;
10 this.z = z;
11 }
12 }
1 struct {
2 int x;
3 int y;
4 int z;
5 } Coord;
Figure 7.2 – Exemple d’objet Java et de sa représentation en OpenCL avec MCMAS
Vecteurs
Le langage OpenCL propose un type de tableau statique hérité du langage C. Ces tableaux
peuvent non seulement stocker les types communs à ces deux langages (primitifs et structures),
mais également les types vectoriels introduits par l’architecture GPU. Ces tableaux, contrairement
à leur équivalent Java, ne stockent cependant aucune information de taille. Dans ces conditions,
deux choix sont possibles :
— L’utilisation directe de tableaux OpenCL. Dans ce cas, la taille du tableau doit être stockée
et indiquée aux différentes fonctions de manière indépendante. Cette approche similaire à
celle employée en C/C++ est grandement facilitée dans le cas de problèmes où la taille des
structures est directement liée aux propriétés du modèle, et peut donc être déduite de manière
aisée à partir de ces informations. Le nombre de positions d’individus à déplacer peutCHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 99
ainsi facilement être déduit, dans le cadre du modèle proie-prédateur, à partir du nombre
total de threads lancés, puisqu’un thread correspond à un agent à déplacer. Dans le cas où
plusieurs structures de données partageraient une même taille, comme l’addition de deux
vecteurs, le passage de la taille de la structure comme donnée importante permet de n’avoir
à spécifier qu’une seule fois l’information.
— L’utilisation d’une structure de type vecteur, représentant un tableau natif OpenCL associé
à une information entière de taille.
Dans ce dernier cas, une structure OpenCL peut être utilisée pour le stockage des méta-données
du vecteur associée à un tableau contenant les données brutes du vecteur. Une autre solution est de
stocker cette information de taille au début ou à la fin des données du tableau, sous forme d’élé-
ment supplémentaire : cette seconde approche requiert cependant que les éléments stockés dans
le tableau soient d’un type compatible avec la représentation de cette taille, ainsi qu’une vigilance
particulière lors du parcours des données du vecteur pour ignorer cet élément supplémentaire. La
définition de fonctions d’accès spécifiques, ou d’une condition de terminaison particulière, devient
alors nécessaire.
Le fait qu’OpenCL interdise l’emploi de pointeurs dans les structures de données [ope] rend
l’utilisation d’une structure séparée stockant les méta-données peu pratique. Deux approches sont
possibles pour contourner cette limitation, avec cependant certains problèmes :
— La déclaration de structures de tableaux dont la taille est déclarée à la compilation. Cette solution
requiert la connaissance de toutes les tailles de vecteur au moment du chargement du
programme, et la génération d’une structure pour chaque taille de vecteur du programme.
Une alternative est la définition d’une taille maximale pour les vecteurs utilisés, et la défi-
nition à la compilation d’une seule structure de données. Cette approche peut cependant, en
fonction des variations de tailles de données, occasionner des pertes mémoires importantes.
— L’utilisation de deux variables, l’une associée aux méta-données, l’autre au tableau comprenant
les éléments du vecteur. Cette second approche, plus simple, ne réduit pas le
nombre de variables distinctes nécessaire par rapport à un stockage séparé de la taille
du tableau dans l’algorithme, et peut rapidement favoriser une explosion du nombre de
paramètres requis pour le fonctionnement du programme.
Au vu de ces problématiques, deux implémentations des vecteurs sont proposées par défaut par
MCMAS, dont la représentation mémoire est illustrée sur la Figure 7.3 :
taille e1 e2
e3 etaille -1
e1 e2 e3
e4
Taille en début de tableau
Marqueur de fin
Figure 7.3 – Représentations de vecteurs proposées par MCMAS
— Une représentation basée sur un tableau statique contenant comme premier élément le
nombre d’éléments stockés. Ce stockage au début du tableau est motivé par la nécessitéCHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 100
de disposer de cette information à un emplacement aisément déductible sans connaître la
taille du vecteur.
— Une représentation basée sur un marqueur de fin. Cette représentation ne permet plus l’accès
direct à la taille du tableau, mais requiert un parcours du tableau pour obtenir cette
information. Ce parcours est rendu nécessaire dans le cas de l’application d’un traitement
à chaque élément ou de la copie des données, et n’est donc pas pénalisant pour ce type
d’opération. Il pose toutefois problème pour insérer ou récupérer un élément particulier
du tableau, s’il est nécessaire de procéder à la validité de l’indice indiqué par rapport aux
limites du tableau.
Collections
En complément des tableaux statiques, le langage Java propose un vaste ensemble de collections,
correspondant aux structures de données les plus connues et utilisées dans le domaine de
l’algorithmique :
— Listes simplement et doublement chaînées
— Dictionnaires
— Matrices
— Piles, files...
Ces structures de données sont représentées en Java sous la forme de type objets dérivés de la
classe de base Collection, qui assure la disponibilité de nombreuses méthodes communes d’insertion,
de suppression, de parcours des éléments ou de récupération de la taille.
Cette généricité des opérations facilite la conversion de ces collections vers et depuis des tableaux
statiques au niveau de MCMAS à l’aide d’un ensemble de primitives de conversion inté-
grées à MCM. Les positions des individus dans le modèle proie-prédateur sont ainsi, dans notre
implémentation, basées sur une collection d’entiers convertie en tableau statique au niveau du
GPU.
Grilles
Une structure souvent rencontrée dans les systèmes multi-agents est la grille. Suivant le type
de modèle représenté, elle peut constituer l’ensemble des données (cas d’une implémentation du
modèle à base d’automates cellulaires) ou un simple moyen de discrétiser un espace de simulation
(cas du modèle proie-prédateur).
La solution la plus directe pour représenter une telle structure dans de nombreux langages est
l’utilisation de tableaux de tableaux, ou tableaux à plusieurs dimensions. Dans ce cas, l’accès aux
données est effectué au moyen d’une double indexation du contenu, du type tableau[x][y].
Cette implémentation n’est cependant pas directement possible en OpenCL du fait de la limitation
des tableaux à une seule dimension. Dans ces circonstances, plusieurs implémentations
alternatives sont proposées par MCMAS, en fonction du type de grille et d’accès souhaités sur
GPU.
La solution la plus simple à cette limitation en nombre de dimensions est la linéarisation de la
grille sous forme d’un tableau à une dimension.
Dans ce cas, l’accès à l’élément situé aux coordonnées (x, y) du tableau revient au calcul d’un
unique index basé sur ces deux dimensions, et la largeur ou hauteur de la grille, suivant le sens deCHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 101
linéarisation retenu, en lignes ou en colonnes. Si x correspond à l’abscisse, y à l’ordonnée, l à la
largeur et L à la hauteur de la grille, cet index est calculé de la manière suivante :
1 / / Li n é a r i s a t i o n en l i g n e
2 i = y * l + x
3
4 / / Li n é a r i s a t i o n en c ol o n n e
5 i = x * L + y
Le calcul de cet index est pris en charge de manière transparente par les objets grilles offerts
par MCMAS du côté CPU, et par un ensemble de directives de macro-processeur du côté de
l’exécution OpenCL.
La linéarisation des données est très efficace du point de vue des accès mémoire GPU car elle
permet de s’assurer que des éléments adjacents seront effectivement stockés à des emplacements
mémoires contigus ou à intervalles réguliers, de manière à pouvoir regrouper et profiter de la largeur
des lectures mémoires sur cette architecture. Cette proximité des données permet d’optimiser
l’exploitation des caches L1 et L2 intégrés aux matériels GPU récents, en assurant le stockage de
ces données voisines dans la même ligne de cache.
Cette linéarisation montre cependant ses limites dans le cas de grilles de faible densité, où un
grand nombre de cellules ne sont pas utilisées :
Consommation mémoire. La linéarisation de grilles de grande dimension impose au périphé-
rique de disposer d’assez de mémoire contigüe pour stocker tous les éléments de la grille, même
inutilisés, là ou des implémentations Java peuvent être basées sur des structures creuses comme
des collections.
Nombre d’accès. Si ce type de grille est très performant en accès, du fait de la simple nécessité
de calculer un index supplémentaire par rapport à un tableau statique et de la proximité des données
en mémoire, des opérations comme le calcul du nombre de cellules utilisées dans la grille ou tout
traitement sur les cellules imposent un parcours de l’ensemble de la grille.
Cette utilisation inefficace de la mémoire pour des structures de faible densité est rendue obligatoire
par l’impossibilité d’allouer de la mémoire depuis un programme OpenCL, ce qui impose
un dimensionnement de la structure très défensif, à même de gérer le pire des scénarios.
Une solution, dans ce cas, est d’employer d’autres représentations pour les grilles, où seules
les cases effectivement utilisées seront stockées de manière contigüe, plutôt que l’ensemble de
la grille. Un grand nombre de formats [BG09] ont déjà été proposés pour la littérature pour ce
type de matrices à faible densité, typiquement optimisés soit pour la création (DOK 3
), soit pour le
parcours et la modification de matrices (LIL 4
, COO 5
, CSR6
). Ces formats sont actuellement en
cours d’implémentation dans MCMAS.
7.3.3 Structures spécifiques
A côté des types courants en Java, MCMAS permet l’accès à deux types de données spécifiques
au GPU, les textures et les types vectoriels. Dans les sections suivantes, nous présentons leur
principe et leur fonctionnement.
3. Dictionnaire de clés
4. Liste de listes
5. Liste de coordonnées
6. Lignes creuses compresséesCHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 102
Textures
Ces structures, à l’origine graphique, sont représentées en OpenCL par des objets image associés
à des dimensions et un format de stockage des pixels. Ce format de stockage indique le nombre
de canaux stockés pour chaque pixel (rouge, vert, bleu, alpha...) ainsi que le type de donnée utilisé
pour la représentation de chaque canal (entier 8bits, 16bits ou flottant...)
Une même texture peut être employée dans plusieurs kernels OpenCL, mais ne peut être utilisée
qu’en lecture ou en écriture par un même kernel. Cette limitation empêche son utilisation pour des
données agents qui seraient accessibles en entrée/sortie, mais permet son utilisation dans le cadre
de mises à jour non destructives d’un paramètre d’entrée en lecture seule, où les modifications sont
stockées dans un buffer résultat en écriture, comme c’est par exemple le cas dans le jeu de la vie.
Une autre restriction de ces textures tient au nombre limité de formats supportés, pour le stockage
des données, chaque canal étant prévu pour le stockage d’une composante entière ou flottante.
Ces limitations de format empêchent le stockage de données en double précision, de structures
ou de plus de trois informations par pixel, contrairement aux types vectoriels ou au tableaux
de structures permis par OpenCL.
L’utilisation de textures présente cependant plusieurs avantages :
— L’accès à ces objets est optimisé par un cache spécialisé sur toutes les architectures GPU
supportant OpenCL, comme nous l’avons vu dans la présentation de l’architecture mémoire
GPU. Cet avantage est particulièrement employé dans le cas de modèles comme celui de
proie-prédateur ou des automates cellulaires, où un nombre limité de propriétés doit être
stocké par chaque case mais un accès rapide est indispensable.
— Contrairement aux tableaux, il est possible de déclarer des images à deux ou trois dimensions.
Cet aspect multi-dimensionnel facilite l’accès à un élément particulier de la texture
sans utilisation d’opérations supplémentaires évoquées dans le cas des vecteurs, et permet
au concepteur d’associer directement la dimension des textures et le découpage de l’exécution
des données, de manière à simplifier son programme et exploiter au mieux la localité
des données dans chaque unité de traitement.
— Un dernier intérêt des textures, enfin, est la possibilité de les afficher directement de manière
graphique à l’aide des primitives d’intégration OpenGL offertes par OpenCL. Cette
fonctionnalité est particulièrement intéressante dans le cadre de systèmes multi-agents, où
une forme d’affichage est souvent attendue pour faciliter le suivi de la simulation. L’absence
de transformation particulière est un avantage important dans le cas de modèles dotés
de grands nombres d’individus, où tout traitement représenterait une perte en temps
d’exécution pouvant être consacré à la simulation elle-même.
Types vectoriels
OpenCL complète l’ensemble de types primitifs hérités de C par des types vectoriels permettant
de stocker dans une seule variable 2, 3, 4, 8 ou 16 données primitives de même type. Ces types
vectoriels, également présents sur d’autres modèles de programmation GPGPU comme CUDA,
sont nativement supportés par de nombreuses opérations arithmétiques fournies par le modèle de
programmation. Ce support permet, par exemple, d’effectuer un calcul de distances euclidiennes
ou une normalisation de vecteur sur GPU en stockant chaque élément sous la forme d’un seul
paramètre.
L’accès aux membres de ces types vectoriels est possible en OpenCL à l’aide des champs x, y,
z et w pour les quatre premiers éléments ou sous forme d’index numérique, tel qu’illustré par leCHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 103
Listing 7.1.
Listing 7.1 – Initialisation de données vectorielles OpenCL
1 float4 pos = (float4) (0, 0, 0, 0);
2 pos.x = 1.0;
3 pos.s3 = 4.0;
Le standard OpenCL impose le support de ces alternatives vectorielles pour les types char,
short, int, float et long et leurs variantes non signées. Chaque implémentation peut également
fournir un support vectoriel pour les nombres réels de type double, en déclarant une extension, de
manière analogue au mécanisme proposé par OpenCL.
Au-delà de la possibilité de stocker un ensemble de coordonnées dans une même variable, un
autre intérêt important de ces types vectoriels est la facilité avec laquelle ils peuvent être composés
ou décomposés en OpenCL, en combinant les noms ou les index de champs de chaque côté
de l’opérateur d’affectation. De telles facilités rendent le changement de nombre de dimensions
d’une coordonnée, requis pour certaines opération agent, trivial en OpenCL, tel qu’illustré par le
Listing 7.2.
Listing 7.2 – Transtypage de données vectorielles OpenCL
1 float2 pos1 = (float2) (1, 2);
2 float4 pos2 = (float4) (1, 3, 5, 0);
3 float2 pos4 = (float4) (0, 0, 0, 0);
4 pos4 = (float4) (pos1.xy , pos2.z}
L’utilisation de ces types dans MCMAS est rendue possible par le biais de la bibliothèque joclstructs,
proposée par les développeurs de JOCL, offrant l’accès à ces types sous forme d’objets
Java.
7.3.4 Exécution synchrone ou asynchrone
La plate-forme OpenCL est basée sur une soumission de l’ensemble des opérations à réaliser
sur le périphérique en file d’attente. Ce mode de fonctionnement permet au programme principal
de poursuivre son exécution, et de consulter les résultats de sa soumission de manière ultérieure,
grâce à un "ticket" retourné lors de la soumission.
Ce mécanisme est également intégré dans l’interface de bas-niveau de MCMAS, sous forme
d’objets événements Java implémentant l’interface standard Future, en plus des opérations
OpenCL spécialisées. Ces événements peuvent être alors manuellement utilisés pour choisir le
moment où synchroniser l’exécution des traitements, ou directement comme paramètres pour la
soumission de nouveaux traitements, de manière à créer un enchaînement d’actions OpenCL. Ce
mécanisme de dépendances peut par exemple être utilisé pour effectuer la copie de données avant
et après le lancement d’un programme sans synchronisation intermédiaire, comme illustré par le
Listing 7.3.
Ce mécanisme, indispensable pour tirer parti du recouvrement permis par OpenCL entre opé-
rations de copie des données et d’exécution, est exploité par de nombreux plugins offerts par
MCMAS. Il peut également être mis à disposition au niveau de l’interface par le biais de variantes
asynchrones des opérations proposées, de manière analogue à l’interface proposée par MPI pour
la communication en mémoire distribuée.CHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 104
Listing 7.3 – Utilisation asynchrone de MCM
1 / / Pr é p a r a t i o n d e s a r g um e nt s e t l a n c e m e nt d ’ un programme OpenCL
2 kernel. setArguments (vector , radius , xPositionsMem , yPositionsMem ,
xResultsMem , yResultsMem );
3
4 MCMEvent finished = q. enqueue1DKernel (kernel , vector.length);
5
6 / / Mise en f i l e d ’ a t t e n t e de l a r é cup é r a t i o n d e s donn é e s r é s u l t a t s ,
7 / / une f o i s l ’ ex é c u t i o n du programme t e r m i n é e ( é v é n é ment f i n i s h e d )
8 MCMEvent r1 = q. enqueueReadBuffer (xResultsMem , Pointer.to(xResults), 0,
xResultsMem .getSize (), finished);
9 MCMEvent r2 = q. enqueueReadBuffer (yResultsMem , Pointer.to(yResults), 0,
yResultsMem .getSize (), finished);
10
11 / / A u t r e s t r a i t e m e n t s J av a
12
13 / / A t t e n t e b l o q u a n t e de l a f i n du g r a p he d ’ ex é c u t i o n
14 MCMEvent.waitFor(r1 , r2);CHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 105
7.4 Utilisation de l’interface de haut niveau
Après nous être intéressés à son architecture, nous présentons dans cette section l’utilisation de
l’interface de haut niveau de notre bibliothèque, sans connaissance particulière de la programmation
GPU. Cette utilisation est rendue possible à l’aide de deux structures principales : le contexte
d’exécution et un ou plusieurs plugins offrant l’accès aux fonctions de haut niveau de MCMAS.
7.4.1 Initialisation de MCMAS
L’interface de haut niveau de MCMAS est basée sur l’utilisation d’un contexte d’exécution
de type MCMASContext. Cet objet contient l’ensemble des structures nécessaires à la soumission
d’un traitement OpenCL, et admet différents constructeurs permettant au développeur d’indiquer
le type et les paramètres d’exécution souhaités, tel que représenté dans le Listing 7.4.
Une fois instancié, un contexte MCMAS peut être utilisé pour créer et appeler des plugins
MCMAS. Ces deux modes d’utilisation peuvent être librement combinés pour un même contexte.
Listing 7.4 – Exemples de création de différents types de contexte MCMAS
1 / / Aucun argument , s é l e c t i o n a ut o m ati q u e de l a p l a t e −f o rm e d ’ ex é c u t i o n p a r
MCMAS:
2 / / GPU en p r i o r i t é , p u i s CPU.
3 MCMASContext context = new MCMASContext ()
4
5 / / Dé f i n i t i o n e x p l i c i t e de l a p r i o r i é t é d e s p l a t e −f o r m e s à u t i l i s e r :
6 MCMASContext context = new MCMASContext ( ContextType .GPU , ContextType .CPU)
7
8 / / Cr é a t i o n d ’ un c o n t e x t e GPU
9 MCMASContext context = new MCMASContext ( ContextType .GPU)
10
11 / / Cr é a t i o n d ’ un c o n t e x t e CPU
12 MCMASContext context = new MCMASContext ( ContextType .CPU)
13
14 / / Cr é a t i o n d ’ un c o n t e x t e s u p p o r t a n t l e p r o f i l i n g
15 MCMASContext context = new MCMASContext (MCMAS. PROFILING );
7.4.2 Exemples d’appel de fonctions de haut niveau
Une fois un contexte MCMAS obtenu, il est possible de l’utiliser pour appeler de nombreuses
fonctions de haut niveau regroupées sous forme de plugins spécialisés inclus dans la bibliothèque.
Chacun de ces plugins propose un ensemble de fonctions classées par thématique d’utilisation
(calcul de distance, diffusion...) Ces fonctions admettent un certain nombre de paramètres d’entrée
et de sortie correspondants au traitement à effectuer. L’accent est mis, au niveau de ces paramètres
d’entrée, sur l’utilisation de tableaux statiques et d’autres structures Java standard, de manière à
permettre la plus large utilisation possible de ces fonctions.
Des outils de conversions fournis avec MCMAS facilitent le passage vers ces types depuis les
autres types de données référencés dans notre présentation précédente, et en particulier depuis
des objets, des buffers de données ou des objets. Nous illustrons dans la suite de cette section
l’utilisation de certains des plugins fournis par notre bibliothèque.CHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 106
Calcul de distances
Une première fonctionnalité rencontrée dans de nombreux systèmes multi-agents, dont le modèle
proie-prédateur, est le calcul de distances euclidiennes entre individus. Selon le type de modèle
employé, ce calcul peut être effectué en une, deux ou trois dimensions, sur des coordonnées
entières (grille) ou réelles.
L’obtention de ces distances implique généralement, sur CPU, le calcul séquentiel de cette
distance pour chaque couple d’agents présents dans le modèle, ou le calcul de ces distances à la
volée pour les seuls points utilisés.
Le calcul de ces distances pouvant être aisément effectué en parallèle, il est possible de réaliser
tous ces calculs en simultané avec MCMAS, en indiquant en entrée les coordonnées à considérer
et en récupérant l’ensemble des distances comme résultat.
Les coordonnées des points d’entrée peuvent être spécifiées sous forme d’un tableau par dimension
à considérer (array_x, array_y, array_z), sous forme de tableau de structures coordonnées, ou
encore sous forme de tableau de type vectoriel OpenCL tel que float2 ou float3, comme évoqué
précédemment.
Pour deux ensembles de M et N coordonnées d’entrée, le résultat de ce module est une grille
comprenant les distances euclidiennes entre chaque point du premier ensemble et chaque point du
second ensemble, de dimension M × N, et de type compatible avec le stockage des coordonnées
d’entrée (entier, réel ou flottant).
Diffusion
Une autre opération souvent rencontrée dans les modèles multi-agents est la diffusion d’une
quantité au sein d’un vecteur ou d’une grille. Ce mécanisme est souvent utilisé pour des mises à
jour de l’environnement, de manière à simuler la diffusion de phéromones par exemple dans le cas
du modèle des fourmis, ou de populations dans des modèles de reproduction d’individus dans un
nouvel habitat.
Cette diffusion est caractérisée par plusieurs paramètres :
— Le nombre de dimensions considérées : le nombre de cellules voisines vers lesquelles diffuser
est directement lié à la configuration du modèle. Dans un modèle à une dimension,
avec des cellules en grille, seules deux voisines devront être considérées, contre six dans le
cas de deux dimensions et vingt-six dans un cas à trois dimensions.
— La possibilité ou non de diffuser en diagonale : le calcul précédent suppose que l’ensemble
des cellules voisines sont considérées. Si seules celles partageant une arête avec la cellule
courante sont prises en compte (diffusion "en croix"), alors le nombre de voisins pour
chaque cellule est modifié, ce qui peut changer drastiquement le comportement de la simulation.
Un autre choix important pour effectuer cette diffusion est le comportement devant être retenu
aux limites de la grille, où certains voisins sont manquants :
— Une première approche est de supposer toute diffusion en dehors de la grille comme perdue.
Ces frontières se comportent alors comme un puits sans fond, et peuvent amener une perte
de matière dans le modèle (système non clos).
— Une autre approche est d’interdire la diffusion en dehors de la grille (système fermé). Cette
approche est préférable dans le cadre d’un véritable environnement fermé, mais décon-CHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 107
seillée dans le cas d’un modèle ne représentant qu’une fraction d’un environnement plus
vaste, comme une parcelle de terrain d’un territoire, car elle introduit des frontières artificielles
pouvant influer sur le cycle d’évolution des agents situés à la périphérique du
modèle, sans que cette influence n’ait aucune base pratique.
— Une dernière approche, enfin, est de considérer l’environnement agent comme bouclant
verticalement et horizontalement. Cette approche, souvent retenue pour des raisons de
commodité, revient à représenter l’espace de simulation comme la projection d’un tore.
Le module diffusion de MCMAS fournit les opérations correspondant à ces différents cas. Cette
implémentation est également basée sur l’utilisation de programmes OpenCL adaptés à chaque
type de données d’entrée (scalaire, structure ou vectoriel, entière ou flottante).
Le lancement d’une diffusion peut être effectué en quelques lignes, à l’aide des paramètres
acceptés par la fonction, comme l’illustre le Listing 7.5.
Listing 7.5 – Exemple d’utilisation du plugin diffusion sur une grille de flottants représentée par
un tableaux à deux dimensions
1 / / Dé c l a r a t i o n d e s s t r u c t u r e s
2 float [][] grille , grilleResultat ;
3
4 / / I n s t a n t i a t i o n d ’ un c o n t e x t MCMAS e t du p l u g i n de d i f f u s i o n
5 MCMASContext context = new MCMASContext ();
6 DiffusePlugin diffuser = DiffusePlugin . newInstance (context);
7
8 / / Pr é p a r a t i o n d e s s t r u c t u r e s de donn é e s MCMAS
9 MCMASGrid input = MCMAS. createGridFrom (grille);
10 MCMASGrid output = MCMAS. createGridFrom ( grilleResultat );
11
12 / / L a nceme nt d ’ une d i f f u s i o n e t r é cup é r a t i o n du r é s u l t a t .
13 / / D i f f u s e P l u g i n . DIMENSION_4 r e q u i e r t une d i f f u s i o n v e r t i c a l e e t h o r i z o n t a l e
:
14 / / D i f f u s e P l u g i n . DIMENSION_8 p e r m e t t r a i t de demander l a p r i s e en c om pte d e s
d i a g o n a l e s .
15 diffuser.diffuse(input , output , DiffusePlugin . DIMENSION_4 );
16
17 / / R e c o pi e de l a g r i l l e o bt e n u e d a n s l a s t r u c t u r e j a v a o r i g i n a l e
18 output.write( grilleResultat );
De nombreux modèles agents imposent également des limites minimales et maximales particulières
à la valeur pouvant être stockée dans chaque cellule. Ces limitations sont prises en compte
par le plugin diffusion fourni par MCMAS via la disponibilité de variantes bornées des opérations
précédentes, permettant d’indiquer la valeur minimale et la valeur maximale permises pour chaque
cellule.
Cette opération de normalisation peut également être effectuée à l’aide d’un plugin spécialisé
fourni par MCMAS, de manière indépendante.
Réduction
De très nombreuses simulations agents requièrent la production régulière d’indicateurs associés
au modèle, comme la quantité globale d’énergie présente dans le système ou la population dans
le modèle proie-prédateur. La dispersion de ces quantités entre les différents éléments du modèle
implique, à chaque itération, de pouvoir synthétiser ces quantités dans une variable globale, à
même d’être affichée ou utilisée pour interrompre ou non la simulation.CHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 108
Des modèles de programmation CPU tels que OpenMP ou MPI facilitent cette opération à
l’aide de primitives de réduction, permettant au concepteur d’indiquer les données devant être
réduites et l’opération à utiliser (somme, minimum, maximum...)
MCMAS reprend cette logique dans un plugin spécialisé permettant d’effectuer cette réduction
en parallèle à l’aide des informations suivantes :
— Le champ de la réduction : un vecteur ou une grille contenant la propriété du modèle agents
à prendre en compte.
— L’opération de réduction : minimum, maximum, moyenne, addition, multiplication...
Le résultat d’une réduction totale est un type scalaire, et un vecteur pour une réduction partielle.
Comme dans le cadre d’une diffusion, le type résultat est compatible avec le type d’entrée : flottant,
par exemple, pour une réduction sur des données flottantes.
Fonctions affines
Un autre type de traitement parallélisable est, comme nous l’avons vu dans le cas du modèle
proie-prédateur, l’application d’une même fonction affine a × x + b à chaque cellule d’un vecteur
ou d’une grille d’entrée.
Cette opération est directement supportée par MCMAS sur ces deux structures de données, un
vecteur pouvant être considéré comme une grille à une dimension. Le Listing 7.6 illustre l’appel
du plugin effectué pour la croissance de l’herbe dans le cadre du modèle proie-prédateur.
Listing 7.6 – Application d’une fonction affine sur les éléments d’une grille
1 / / Dé c l a r a t i o n d e s s t r u c t u r e s
2 float [][] grille , grilleResultat ;
3
4 / / I n s t a n t i a t i o n d ’ un c o n t e x t MCMAS e t du p l u g i n de d i f f u s i o n
5 MCMASContext context = new MCMASContext ();
6 DiffusePlugin transformer = AXBPlugin . newInstance (context);
7
8 / / Pr é p a r a t i o n d e s s t r u c t u r e s de donn é e s MCMAS
9 MCMASGrid input = MCMAS. createGridFrom (grille);
10 MCMASGrid output = MCMAS. createGridFrom ( grilleResultat );
11
12 / / L a nceme nt de l a t r a n s f o r m a t i o n e t r é cup é r a t i o n du r é s u l t a t .
13 / / a v a ut 1 . 0 , c a r aucun f a c t e u r v a r i a b l e de c r o i s s a n c e n ’ e s t a p p l i q u é .
14 / / b v a ut GRASS_GROWTH, l e t a u x de c r o i s s a n c e f i x e d é f i n i d a n s l a s i m u l a t i o n
.
15 transformer . transform (input , output , 1.0, GRASS_GROWTH );
16
17 / / R e c o pi e de l a g r i l l e o bt e n u e d a n s l a s t r u c t u r e j a v a o r i g i n a l e
18 output.write( grilleResultat );
7.4.3 Utilisation depuis des framework multi-agents existants
La bibliothèque MCMAS est utilisable directement en Java, mais doit également pouvoir être
accessible à des plates-formes multi-agents ne permettant pas l’accès direct à ce langage.
Dans ce cas, il est possible de fournir le service assurant le rôle d’interlocuteur et de traducteur
entre le formalisme utilisé par la plate-forme et MCMAS. Ce service peut être un agent du systèmeCHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 109
spécialisé, tel qu’illustré sur la Figure 7.4, ou un système indépendant, accessible par le biais de
messages. Bibliothèque MCSMA
Parcelle
Agent service
Interfaces
MCSMA
Cellule
Cellule
Di
ffusion
Di
ffusion
Réduction
populations cellules
diffusion(cellules)
reduction(cellules, totals)
Traitement messages
et appels de services
Encapsulation
des résultats
Figure 7.4 – Exemple d’utilisation de MCMAS depuis un modèle multi-agents
Chacun de ces messages doit respecter un format bien défini, indiquant le traitement souhaité
ainsi que des contraintes d’exécution du calcul (sur GPU, sur CPU...). L’identité de l’expéditeur
est mémorisée avant le traitement de chacun de ces messages, de manière à pouvoir lui envoyer les
résultats de l’exécution dans un autre message une fois la requête traitée.
Par exemple, dans le cas de Madkit où les agents communiquent à l’aide d’un gestionnaire
de messages, ce processus se traduit pas la mise en place d’un protocole d’échange. Dans le cas
de GAMA, cette intégration peut être réalisée sous la forme d’un plugin ajoutant des fonctions
MCMAS au langage de description utilisé pour les agents.
Cette couche d’adaptation entre MCMAS et la plate-forme multi-agents ciblée permet l’utilisation
transparente de la bibliothèque, en conservant l’infrastructure du modèle existant.
L’utilisation d’un agent service permettant la réalisation de traitements MCMAS est une autre
solution utilisant les mécanismes de communication du modèle existant. Il est également possible
d’utiliser MCMAS directement au niveau de chaque agent, soit à l’aide de Java directement, soit
à l’aide d’une couche d’adaptation dans le cas de plates-formes telles que GAMA ou NetLogo.
7.5 Développement de nouveaux plugins
L’ensemble de plugins fourni avec MCMAS ne pourra jamais recouvrir l’ensemble des fonctionnalités
pouvant être rencontrées dans la littérature agents. Pour pallier à cette limitation, MCMAS
permet l’ajout aisé de nouveaux plugins, de manière à permettre au concepteur de simulations
d’étoffer les fonctionnalités offertes par la bibliothèque.
Pour valider le type d’opération à implémenter et l’implémentation à utiliser, plusieurs étapes
de réflexion et de conception sont recommandées. Dans cette section, nous décomposons les différentes
étapes de cette démarche.CHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 110
7.5.1 Conception du modèle et parallélisation
La première étape du développement d’un nouveau plugin est la définition du problème rencontré
et de sa portée exacte. Un système multi-agents peut représenter un ensemble d’individus et
de comportements complexes, se prêtant ou non à une adaptation sur GPU. Il est alors dans ce cas
nécessaire de déterminer les parties du modèle pouvant tirer avantage d’une exécution sur GPU,
ainsi que la manière de paralléliser ces traitements.
Un élément important pour évaluer les gains pouvant être attendus de la parallélisation avec
MCMAS est d’évaluer l’impact en termes de performance des parties du modèle pouvant être accélérées
par rapport au temps total d’exécution de la simulation, en application de la loi d’Amdahl.
Une conséquence directe de cette loi est que tout gain obtenu par l’utilisation d’une plate-forme
est rapidement limité si la portion parallélisée ne représente pas une fraction significative du temps
d’exécution de la simulation multi-agents. Le découpage du modèle en sous-parties peut même,
dans ce cas, entraîner une perte de performance liée aux échanges de données entre les différentes
portions de l’algorithme.
Il est donc nécessaire, en développant un nouveau plugin MCMAS, d’avoir à l’esprit ces limitations
et une estimation du gain de performance pouvant être attendu, ainsi que le nombre
de recours à cette simulation, de manière à pouvoir quantifier le temps pouvant être consacré à
une adaptation GPU du modèle par rapport au temps supplémentaire qui aurait été utilisé avec
l’ancienne implémentation.
L’efficacité d’exécution d’un programme sur GPU est directement liée aux opérations et aux
structures utilisées, mais n’est pas linéaire en termes d’efforts. La recherche de performance est un
processus sans fin tendant toujours vers une limite où les adaptations à effectuer ne permettent plus
de gains en performance très importants. Nos cas d’applications illustrent particulièrement qu’un
portage à l’identique d’un algorithme ne permet que rarement l’obtention de bonnes performances,
pour des raisons d’occupation processeur, de synchronisation ou de mémoire.
Un autre aspect critique de l’efficacité de l’utilisation du GPU, déjà évoqué dans notre pré-
sentation du découpage d’une simulation en OpenCL, est le niveau de granularité retenu par la
simulation, c’est à dire la taille en temps passé sur chaque plate-forme. Une parallélisation “à gros
grains” permet de réduire le nombre d’échanges entre les deux plate-formes, et donc les coûts
de synchronisation ou de communication associés ces échanges. Au contraire, une parallélisation
dite “à petits grains” implique le lancement de nombreux traitements simultanés sur GPU, pour
minimiser l’impact des échanges plus réguliers devant avoir lieu.
7.5.2 Définition de l’interface et des fonctionnalités
Une fois la problématique et la solution précisément connues, il est nécessaire de définir la
manière dont la parallélisation pourra être intégrée dans le modèle existant. Cette intégration porte
à la fois sur les scénarios d’exécution, et les données manipulées :
— Dans quel ordre les opérations seront-elles appelées ? Est-il possible de se servir de cette
information pour rendre les traitements asynchrones ou de changer leur ordre d’exécution ?
— Quelles structures de données sont-elles utilisées ? Doivent-elles être transformées pour
une exécution sur GPU ? Peuvent-elles être partagées entre un maximum de traitements,
pour éviter des copies ?
Ces deux problématiques, complémentaires, ont une importance vitale pour la définition de
l’interface du nouveau plugin, et plus particulièrement sur le nombre et le prototype des opérationsCHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 111
fournies.
7.5.3 Implémentation de la solution retenue
Une fois l’interface du plugin définie, il est possible de réaliser l’implémentation de la solution
elle-même. Dans MCMAS, cette implémentation met en jeu deux langages différents :
— Java pour l’ensemble des traitements exécutés sur CPU. Dans le cadre d’un plugin, ces
traitements comprennent au minimum la gestion de la copie et des lancements des traitements
sur la plate-forme OpenCL, ainsi que le suivi de l’exécution et la récupération des
résultats. Cette partie peut également inclure des pré-traitements sur les données, soit dans
le cadre de conversions de représentations, soit parce que ces traitements sont peu adaptés
à une exécution sur GPU. Le reste du modèle multi-agents n’est pas nécessairement réalisé
en Java, si une interface d’adaptation MCMAS est utilisée.
— OpenCL est utilisé pour tous les traitements ayant lieu sur le périphérique. Comme C et
C++, ce langage permet l’inclusion de portions de programmes existantes au moment de
la compilation. Cette fonctionnalité est utilisée par MCMAS pour fournir de nombreux
raccourcis pour la manipulation des structures de données incluses dans MCMAS, et permet
également au plugin de partager des fonctionnalités entre ses traitements natifs. Il est
importante de noter que tout lancement de programme OpenCL implique de définir explicitement
le point d’entrée (kernel) utilisé : il est donc toujours possible d’implémenter tous
les traitements du plugin dans un unique fichier source OpenCL.
Si OpenCL permet le stockage de binaires correspondant à des programmes compilés, les binaires
obtenus sont spécifiques à l’implémentation et au matériel courant. Ce mécanisme permet
d’éviter de multiples compilations au-delà de la première exécution, et ainsi de réduire le temps
de chargement du programme, mais ne dispense pas le développeur du plugin de devoir fournir
le code source des portions OpenCL de son programme, en cas de distribution sur de nombreuses
plates-formes.
Le plugin obtenu peut être directement inclus dans l’arborescence de fichiers sources du modèle
multi-agents y ayant recours, ou empaqueté sous forme d’archive JAR indépendante, de manière à
faciliter son partage et sa distribution.
La distribution d’une documentation et de tests associés au nouveau plugin est fortement recommandée.
La rédaction de ces tests est facilitée par la disponibilité de nombreuses fonctions
de création de contextes et de récupération d’informations, en termes de plate-forme d’exécution
et de temps au niveau de MCMAS. La création d’un contexte simple CPU, GPU, avec ou sans
activation des fonctionnalités de profiling, est ainsi possible en une ligne.
7.5.4 Validation
Une fois le développement du plugin terminé, une validation de celui-ci est requise. Cette
validation regroupe deux aspects :
— La validation de l’exactitude des résultats. Cette première étape, critique, consiste à
s’assurer que les résultats obtenus sont similaires à ceux prévus par le modèle théorique
ou observés dans l’implémentation originale. Elle peut être effectuée de manière formelle,
dans le cas où l’équivalence sémantique avant et après adaptation peut être établie. Le
recours au parallélisme tend cependant à introduire de nombreuses inconnues dans ce type
de démonstration, qu’il est nécessaire de quantifier. Ces difficultés favorisent une validationCHAPITRE 7. MCMAS, UNE BIBLIOTHÈQUE D’EXÉCUTION GÉNÉRIQUE 112
expérimentale, bouclant d’une certaine manière le cycle de pensée agent : dans ce cas, les
résultats obtenus par les deux implémentations sont comparées dans le cadre d’un protocole
expérimental prenant en compte les cas limites, les données et les conditions d’utilisation
devant être envisagées.
— La validation des performances obtenues. Cette seconde étape permet de quantifier
les performances effectivement observées par rapport à l’implémentation originale et aux
éventuelles attentes basées sur les caractéristiques de la solution retenue et de la plateforme,
comme le nombre de cœurs. Elle ne peut être qu’expérimentale, à l’aide de mesures
de temps d’exécution des simulations. La comparaison de ces temps, et l’allure des courbes
de performance obtenue, permet de caractériser le type de comportement obtenu en termes
de performance et de ressources consommées. Ces résultats peuvent, ou non, conforter les
attentes établies au moment de la conception du plugin. Ils permettent également de mettre
en avant des parties coûteuses ou mal adaptées de l’algorithme dont l’impact aurait pu être
négligé ou sous-estimé, pouvant relancer une itération supplémentaire de parallélisation.
7.6 Synthèse
Dans ce chapitre, nous avons présenté MCMAS, notre bibliothèque dont l’objectif est de
prendre en charge deux scénarios d’utilisation, l’utilisation du GPU au moyen de fonctions gé-
nériques sans connaissance de l’architecture ou le développement de nouveaux traitements GPU.
Ce double usage est à l’origine du choix d’une architecture modulaire pour MCMAS, basée
d’une part sur une interface de bas niveau, MCM, pour l’accès au modèle de programmation
OpenCL et d’autre part sur un ensemble de plugins regroupant des traitements agents pré-
implémentés. Ces plugins reposent également sur l’interface MCM, pour favoriser la combinaison
des deux types d’utilisation ou l’expérimentation de nouveaux traitements.
Cette architecture se retrouve également dans l’implémentation de la bibliothèque. Elle est
basée sur trois parties fondamentales :
— Un contexte d’exécution encapsulant tout l’environnement d’exécution GPU.
— Un ensemble de structures de données GPU et d’outils de conversion de ces structures vers
et depuis des structures de données Java.
— Une interface de programmation MCM reprenant les principaux concepts OpenCL mais en
facilitant la gestion dans un environnement objet.
Nous avons ensuite abordé l’utilisation de MCMAS selon chacun de ces deux scénarios d’utilisation
:
— Sans connaissance GPU. Dans ce cas, l’utilisation de l’interface de haut niveau MCMAS
est possible simplement au moyen de la création d’un contexte d’exécution, suivie de l’instantiation
d’un ou plusieurs plugins avec ce contexte. Les fonctions fournies par ces plugins
peuvent alors être utilisées pour lancer des opérations comme des calculs de déplacements,
de distances, ou de transformations matricielles.
— Avec des connaissances GPU, pour le développement de nouveaux traitements avec MCM.
Ce type d’utilisation permet alors, de manière optionnelle, l’encapsulation de ces traitements
dans un plugin MCMAS de manière à favoriser leur redistribution et leur réutilisation
dans d’autres simulations multi-agents.8
Validation sur des modeles existants `
Dans le chapitre précédent, nous avons présenté notre bibliothèque MCMAS, ainsi que ses
deux scénarios d’utilisation, par le biais d’une interface de bas niveau MCM, ou au moyen de
fonctions génériques fournies par un ensemble de plugins. Pour valider son utilisation sur des cas
concrets, nous illustrons dans ce chapitre son utilisation sur trois exemples de systèmes multiagents
concrets : le modèle proie-prédateur, qui nous a servi de fil rouge à la présentation de
MCMAS, un modèle de simulation de l’évolution microscopique des sols, MIOR, et enfin un
modèle de diffusion de populations, le modèle Collemboles.
Dans une première section, nous commençons par présenter les deux modèles n’ayant pas encore
été évoqué, ainsi que la manière dont nous avons choisi de les paralléliser avec MCMAS.
Dans une seconde section, nous présentons ensuite les performances obtenues sur ces trois adaptations.
Pour cela, nous commençons par décrire les plates-formes d’exécution et le protocole
utilisés, avant d’analyser les performances obtenues. Nous synthétisons enfin, dans la troisième
section, les observations et les recommandations pour une parallélisation sur GPU qu’il nous a été
possible de tirer de ces trois adaptations.
8.1 Parallélisation de modèles
L’étude de ces trois modèles a été l’occasion d’appliquer plusieurs approches de parallélisation
parmi celles évoquées dans le Chapitre 6. Pour le modèle proie-prédateur, nous avons choisi une
implémentation reposant sur l’utilisation de plugins génériques fournis par MCMAS pour paralléliser
certains traitements coûteux de la simulation. Pour le modèle MIOR, nous avons choisi de
réaliser un nouveau plugin MCMAS pouvant être utilisé pour lancer de nombreuses simulations
microscopiques. Enfin, pour le modèle Collemboles, nous avons utilisé l’interface de bas niveau
MCM pour implémenter chaque étape de la simulation sur GPU.
8.1.1 Proie-prédateur
Dans la continuité de notre réflexion sur ce modèle, dans le chapitre 5, nous avons choisi d’implémenter
la mise à jour des ressources végétales de l’environnement et le déplacement des individus
proies et prédateurs à l’aide des plugins génériques de transformation de données et de
recherche dans une grille proposés par l’interface de haut niveau de notre bibliothèque.
Cette implémentation est basée sur l’algorithme 1. Deux plugins fournis par MCMAS sont mis
à contribution :
— Le plugin de fonction affine est utilisé pour l’ensemble de la mise à jour de la grille re-CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 114
présentant les ressources végétales à chaque itération. Dans le cadre de ce traitement, la
structure de données grille fournie par MCMAS est automatiquement considérée comme
un vecteur.
— Un plugin de recherche de maximums fourni avec MCMAS est utilisé pour le calcul des
déplacements des individus vers la cible la plus énergétique. Ce plugin permet la recherche
de maximums locaux autour d’une ou plusieurs positions dans une grille. Pour ce faire,
trois informations sont indiquées, la grille ainsi que les positions et le rayon de recherche.
Ce plugin retourne en résultat le maximum local trouvé pour chaque position, correspondant
à la case vers laquelle doit se déplacer l’individu dans le modèle proie-prédateur.
Pour permettre la recherche des nouvelles positions en parallèle à l’échelle de chaque population,
l’évolution de chaque type d’individu proie ou prédateur du modèle est effectuée étape par
étape, tel qu’illustré par la Figure 8.1 :
— Préparation des positions. Toutes les positions en deux dimensions des individus de la
population sont synthétisées, en vue de l’appel à MCMAS. Cette étape permet également
un comptage du nombre d’agents présents dans le modèle. Cette étape n’est pas parallélisée
car elle implique la manipulation de structures de données dynamiques dont la taille n’est
pas connue à priori, la liste des positions.
— Recherche de maximums locaux. Cette opération, implémentée par un plugin MCMAS,
permet le calcul de la nouvelle position des individus en un seul lancement. Elle admet
trois arguments d’entrée : un espace de recherche, une liste de positions et un rayon de
recherche. Ce rayon de recherche indique la distance maximale autour de chaque position
où chercher un couple de coordonnées solution dans l’espace de recherche. La fonction
retourne en résultat une liste de coordonnées correspondant aux maximums locaux trouvés
pour chaque position. Cette fonction implique un parcours coûteux, en particulier si le
rayon de recherche est important. Ce parcours a l’avantage de pouvoir être réalisé simultanément
pour tous les individus du modèle, ce qui justifie sa parallélisation.
— Déplacements. Une fois les nouvelles positions obtenues, ces informations sont utilisées
pour déplacer chaque individu de manière séquentielle. Cette application séquentielle garantit
la cohérence des déplacements, en assurant un fonctionnement du type "premier arrivé,
premier servi" : si un conflit de destination existe entre plusieurs individus, le premier
l’emporte, et les autres restent immobiles pour cette itération. Cette étape n’est pas parallé-
lisée de manière à pouvoir traiter de manière séquentielle les déplacements sur le CPU, et
ainsi gérer les conflits où plusieurs individus souhaitent se déplacer au même emplacement.
— Consommation. Les ressources présentes à la position de chaque individu sont consommées
: dans le cas d’une proie, la quantité de végétaux est réduite. Dans le cas du prédateur,
la proie est tuée. Dans les deux cas, le différentiel en énergie est ajouté à l’individu courant,
dans une certaine limite correspondant à la vitesse maximale d’absorption des ressources
pour ce type d’individu. Cette étape n’est pas parallélisée car elle ne représente qu’une
soustraction et une addition simple pour chaque individu qui peut être effectuée dans la
continuité du déplacement.
— Reproduction. Si l’énergie de l’individu dépasse un certain seuil, un nouvel individu est
créé à son ancienne position. La quantité d’énergie minimale prévue par le modèle est retirée
de l’individu parent et assignée à ce nouvel arrivant. Cette opération demeure séquentielle
car elle implique une modification de la grille pour ajouter de nouveaux individus
susceptible d’aboutir à des conflits.
— Métabolisme. L’énergie de chaque individu est décrémentée. Si elle devient négative ou
nulle, l’individu est supprimé du modèle, pour indiquer son décès. Cette opération est susceptible
d’être parallélisée en traitant en parallèle tous les niveaux d’énergie du modèle,CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 115
mais nécessiterait en pratique le traitements de nombreuses cellules vides de la grille, ainsi
qu’un aller-retour sur GPU. Dans ces circonstances, cette gestion du métabolisme est réalisée
dans la même boucle que les trois traitements précédents.
Ce processus d’évolution des individus est appliqué de manière identique à chacune des populations
du modèle, en variant les positions et les distances de recherche. Elle permet de réaliser le
calcul du déplacement de manière parallèle, plutôt que sous forme de nombreuses boucles séquentielles
sur CPU.
Reproduction
Recherche maximum
Entrée : grille, positions,
distance
Sortie : solutions
Préparation
des positions
Déplacement
Métabolisme
Simulation MCMAS
Consommation
Figure 8.1 – Décomposition du cycle de vie des individus avec MCMAS
8.1.2 Une simulation microscopique : MIOR
Le modèle multi-agents MIOR (MIcro-ORganisme) [CCP07] reproduit l’évolution microscopique
des sols sous l’effet de l’activité microbienne. Ce modèle permet de simuler l’évolution en
terme de biomasse microbienne, de quantité de matière organique et de CO2 produit d’un cube de
sol de de 0.002 mm de côté.
Cette échelle microscopique requiert le lancement d’un grand nombre de simulations MIOR
pour traiter des volumes de sols macroscopiques. Dans ce cas, le développement d’un plugin
MIOR permettant de lancer des paquets de simulation est intéressant pour permettre la simulation
de volumes variables de sol en parallèle, en tirant parti du parallélisme d’exécution offert
par l’architecture GPU. Cette multiplication des modèles permet aussi d’augmenter le nombre
d’agents en parallèle, de manière à garantir une occupation efficace des coeurs matériels.
Ce lancement peut être effectué de deux manières :CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 116
— Soit jusqu’à la stabilisation de l’évolution de l’ensemble des simulations MIOR. De cette
manière, le modèle macroscopique dispose de toutes les informations futures de l’état microscopique
de cette cellule. Le nombre d’itérations nécessaires à cette stabilisation de
toutes les simulations n’est cependant pas forcément aisé à prévoir en fonction des paramètres
d’entrée.
— Soit sur un nombre fixe d’itérations. Cette alternative permet d’éviter une attente trop
longue pour l’obtention des résultats des simulations MIOR. Il est également possible dans
ce cas au modèle Sworm de relancer ces simulations ultérieurement sur GPU, en fonction
des besoins du modèle macroscopique. Elle ne garantit pas d’atteindre la stabilisation de la
simulation.
Sworm
échelle n
Sworm
échelle n + 1 Simulation MIOR
Figure 8.2 – Représentation fractale de l’environnement Sworm
Le modèle MIOR repose sur deux espèces d’agents :
— Les Méta-Mior (MM) qui représentent des colonies microbiennes consommatrices de carbone.
— Les dépôts de matière organique (OM) qui caractérisent les dépôts de carbone répartis dans
le volume de sol.
Les agents Meta-Mior sont associés à deux comportements distincts :
— la respiration : transformation du carbone minéral en dioxyde de carbone CO2)
— la croissance : chaque colonie ayant prélevé suffisamment de carbone dans l’environnement
est en mesure de croître en population.
Ces deux comportements sont décrits dans l’algorithme séquentiel 2.
Aucune interaction n’est considérée comme possible entre les colonies microbiennes : les seuls
échanges sont réalisés entre dépôts de carbone et colonies, en fonction de leur proximité spatiale
(distance en deux ou trois dimensions) par rapport au rayon d’action associé à la colonie microbienne.
Ces associations peuvent être représentées sous la forme de lignes liant les agents de
chaque type pouvant potentiellement interagir, tel qu’illustré par la Figure 8.3CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 117
Algorithme 2 : Algorithme séquentiel d’évolution MIOR
Data : mmList Tableau d’agents MM (colonies microbiennes)
Data : omList Tableau d’agents OM (dépôts de carbone)
Data : world Environnement global de la simulation
1 breathNeed ← world.respirationRate × mm.carbon;
2 growthNeed ← world.growthRate × mm.carbon;
3 availableCarbon ← totalAccessibleCarbon(mm);
4 if availableCarbon > breathNeed then
/* Processus de respiration */
5 mm.active ← true;
6 availableCarbon ← availableCarbon − consumCarbon(mm, breathNeed);
7 world.CO2 ← world.CO2 + breathNeed;
8 if availableCarbon > 0 then
/* Processus de croissance */
9 growthConsum ← max(totalAccessCarbon(mm), growthNeed);
10 consumCarbon(mm, growthConsum);
11 mm.carbon ← mm.carbon + growthConsum;
12 end
13 else
14 mm.active ← f alse
15 end
Figure 8.3 – Représentation graphique d’une simulation MIORCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 118
Problématiques d’implémentation du plugin
L’ajout d’un nouveau plugin MCMAS permettant de lancer plusieurs simulations MIOR de
manière simultanée implique l’utilisation de MCM, puisque l’ensemble de la simulation et non
certains traitements génériques doit être parallélisé. Cette approche implique donc l’utilisation
d’OpenCL pour implémenter l’algorithme MIOR, ce qui impose la gestion de plusieurs problématiques
:
— La parallélisation de l’exécution du modèle. Cette démarche, commune à toute parallélisation
de modèle sur GPU, impose en particulier l’identification du grain de parallélisation
retenu aux différentes étapes de l’algorithme d’évolution.
— L’adaptation des structures de données. Les principales structures de données utilisées par
MIOR sont une grille et un vecteur de structures par population, contenant les informations
de chaque agent.
— La gestion de l’accès aux ressources partagées. La parallélisation de l’algorithme séquentiel
MIOR implique le partage de nombreux dépôts de carbone entre colonies microbiennes.
Il est nécessaire, à ce niveau, de garantir un accès équitable à ces ressources pour
ne pas pénaliser certains agents. Cette problématique est l’occasion d’étudier l’application
des barrières d’utilisation OpenCL.
— Le choix du nombre d’itérations de la simulation à exécuter. Ce nombre peut être directement
indiqué en paramètre du lancement, ou déterminé à partir de l’évolution du modèle.
Dans ce second cas se pose alors la question de définir la ou les métriques permettant de
déterminer s’il y a lieu d’arrêter l’exécution.
Organisation de l’exécution en parallèle
Le plugin MIOR repose sur l’utilisation d’un bloc, ou work-group, pour traiter chaque simulation
MIOR. A l’intérieur de ce bloc, chaque agent de la simulation est associé à un thread GPU.
La simulation d’une itération de la simulation est découpée en fonctions OpenCL distinctes, pour
permettre leur appel de manière indépendante à des fins de tests ou en un seul lancement pour
effectuer une ou plusieurs itérations.
L’utilisation d’un work-group par simulation permet l’exécution de plusieurs modèles en parallèle,
tel qu’illustré sur la Figure 8.4. Ce choix permet également de tirer parti des possibilités
de recouvrement d’exécution offertes par OpenCL : si l’exécution de un ou plusieurs work-items
est bloquée (accès mémoire, opération coûteuse) les ressources disponibles peuvent être allouées
à d’autres work-items en attente d’exécution. Cette exécution de multiples simulations permet
également de garantir un bon remplissage des coeurs fournis par la plate-forme, ce qui n’est pas
toujours possible avec une seule simulation en fonction du nombre d’agents à traiter.
La possibilité de lancer plusieurs simulations MIOR simultanément réduit également le nombre
de copies et de données nécessaires pour une même quantité de simulations. Étant donné la rapidité
de chaque simulation, ce facteur a un impact direct sur les performances obtenues, tel qu’illustré
dans nos expérimentations.CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 119
MIOR MIOR MIOR
Workgroup
Kernel
Workgroup Workgroup
Simulations MIOR
Figure 8.4 – Répartition de l’exécution de plusieurs modèles MIOR en OpenCL
Adaptation des structures de données
L’adaptation du modèle MIOR requiert la conversion des données du modèle existant en structures
de données OpenCL. Dans le cadre de la réalisation de ce plugin, l’environnement et les
agents sont représentés sous forme de tableaux statiques de structures représentant l’état de chaque
entité. Le comportement associé à ces entités est, quant à lui, implémenté sous forme de fonctions
OpenCL, appelées par les programmes OpenCL exécutés.
Quatre structures de données, illustrées sur le Listing 8.1, sont employées pour représenter
chaque simulation MIOR :
— Un tableau d’agents MM, stockant l’état des colonies microbiennes du modèle.
— Un tableau d’agents OM, représentant l’état des dépôts de matière organique.
— Une matrice de topologie, stockant les informations d’accessibilité
— Une structure monde globale, stockant à la fois les paramètres du système (taux de respiration,
de métabolisme) et les données résultat (quantité de CO2 produite).CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 120
Listing 8.1 – Structures de données MIOR utilisées en OpenCL
1 / / C ol o ni e mi c r o bi e n n e
2 typedef struct MM {
3 float x; / / P o s i t i o n X
4 float y; / / P o s i t i o n Y
5 int carbon; / / Carbone de l a c o l o n i e
6 int dormancy; / / É t a t a c t u e l
7 } MM;
8
9 / / Dé pô t de c a r b o n e
10 typedef struct OM {
11 float x; / / P o s i t i o n X
12 float y; / / P o s i t i o n Y
13 int carbon; / / Carbone du d é pô t
14 } OM;
15
16 / / E n vi r o n n em e nt de s i m u l a t i o n
17 typedef struct World {
18 int nbMM;
19 int nbOM;
20 int RA; / / Rayon d ’ a c t i o n
21 float RR; / / Taux de r e s p i r a t i o n
22 float GR; / / Taux de c r o i s s a n c e
23 float K; / / Taux de d é c o m p o s i t i o n
24 int width; / / T a i l l e du modè l e
25 int minSize; / / T a i l l e mi nim al e d ’ une c o l o n i e mi c r o bi e n n e
26 int CO2; / / Q u a n t i t é t o t a l e de CO2 d a n s l e modè l e
27 } World;
L’ensemble de ces structures est d’abord alloué et initialisé par le processus principal, puis
copié sur le périphérique d’exécution OpenCL.
La topologie du modèle peut être représentée sous deux formes (Figure 8.5) :
— En associant directement à chaque jeu de coordonnées (i, j) de la matrice l’information de
voisinage entre la colonie microbienne i et le dépôt de carbone j.
— En représentant ces informations sous forme de structure compacte en nombre d’accès.
Notre proposition, basée sur [JGLG09], permet de diminuer le nombre d’accès mémoire
devant être effectués pour accéder à tous les voisins associés à un agent particulier. Cette
représentation compacte se traduit par le stockage contigu des numéros d’index associés à
chaque agent dans chaque ligne de la matrice, mais requiert une duplication de la structure,
comme dans le cas des techniques de linéarisation de grille évoquées dans les structures
de MCMAS, pour permettre un accès efficace d’un point de vue ligne (index MM connu,
recherche des OM associés) et colonne (index OM connu, recherche des MM associés).
L’utilisation d’une représentation compacte (en nombre d’accès) consomme davantage de mé-
moire mais permet une réduction du nombre d’accès mémoire nécessaires pour le traitement du
modèle proportionnelle à la densité de remplissage de la matrice de topologie. Une utilisation de la
matrice à 10% permet ainsi de réduire d’autant le nombre d’accès mémoire nécessaires au parcours
de toutes les cellules utilisées de la structure dans le cadre de la mise à jour du modèle.
L’allocation dynamique de mémoire n’est actuellement pas possible en OpenCL, et vient seulement
d’être introduite dans les dernières versions du standard CUDA. Toutes ces structures de matrices
doivent donc être allouées de manière statique sur CPU en prenant en compte le pire des cas
possibles, où tous les agents OM du modèle accessibles depuis tous les agents MM. Une allocation
moins pessimiste est possible en ajoutant une étape de pré-traitement du modèle, de manière àCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 121
Figure 8.5 – Représentation creuse et compacte en accès de la topologie MIOR
compter le nombre de liaisons devant effectivement être représentées, au prix toutefois d’une étape
de calcul supplémentaire. Cette piste n’a pas été évaluée dans notre étude.
Gestion de l’accès aux ressources critiques
Deux points critiques du modèle MIOR sont l’équité d’accès aux ressources en carbone pour
les colonies microbiennes du modèle et la nécessité d’assurer la cohérence des mises à jour de
données, pour éviter toute perte ou gain de matière dans le modèle.
Sur une architecture massivement parallèle telle que les cartes graphiques, ce type de synchronisation
peut très rapidement devenir coûteux, et entraîner une séquentialisation de l’algorithme.
Dans ce cas extrême, l’ensemble des fils d’exécution est bloqué en attente d’un verrou, et un seul
agent peut s’exécuter : les performances obtenues sont alors inférieures à celles d’une simple implémentation
séquentielle, du fait des latences et de la complexité introduites par la gestion de la
synchronisation. Il est donc critique, dans la parallélisation complète d’un système multi-agents,
de s’assurer que les agents seront effectivement capables de s’exécuter de manière indépendante,
pour tirer parti du parallélisme.
Pour traiter cette problématique, l’algorithme de la simulation MIOR a été adapté pour permettre
un découpage en trois étapes d’exécution parallélisables, séparées par des barrières de synchronisation.
Ce fonctionnement est permis par un découpage en parts de carbone des ressources
présentes dans le modèle :
1. distribution : le carbone disponible dans chaque dépôt de carbone (OM) est partagé en parts
équitables entre tous les MM y ayant accès.
2. simulation du métabolisme : les différents processus métaboliques associés aux colonies
microbiennes (respiration, croissance) sont appliqués en parallèle pour chaque agent sur
les parts de carbone qui lui sont associées.
3. rassemblement : les parts de carbone restantes non consommées sont réintégrées dans leur
dépôt d’origine.
Cette solution permet de réduire le nombre de synchronisations nécessaires à chaque itération
à trois barrières, plutôt qu’un grand nombre de verrous, et permet également d’exécuter ces trois
étapes en un seul lancement depuis le langage Java.CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 122
Détection de la terminaison
Si le modèle MIOR s’intéresse à l’évolution microscopique d’un système, il est tout à fait
possible de le coupler avec des modèles s’appliquant à d’autres échelles de taille, notamment
macroscopiques, pour obtenir une simulation plus exhaustive du problème : on parle alors de
simulation multi-échelles.
Sworm [BMD+09] est un exemple de système multi-agents agent pouvant compléter l’évolution
à l’échelle microscopique décrite par MIOR. Ce modèle permet de représenter l’effet de la
macrofaune (par exemple les vers de terre) et de la microfaune (les bactéries) sur l’évolution des
quantités de matière organique dans le sol. L’implémentation de Sworm est développée en Java sur
la plate-forme Madkit [GF00a]. Elle se focalise sur l’effet bioturbant (déplacement des matières
minérales et organiques) causé par les vers de terre dans le sol. Cette version ne prenant pas en
compte l’activité microbienne, l’objectif du modèle MIOR est de simuler cette activité à l’échelle
d’un cube de sol de 0.002 mm, là où le modèle Sworm s’intéresse à des échelles de sols de 20 cm.
La représentation des données sous la forme d’unités de sol est liée à cette intégration : pour
ne pas imposer l’instantiation de l’ensemble des cellules du volume de sol représenté, Sworm se
base sur une représentation des données de type fractale (Figure 8.2). Cette organisation permet
l’allocation et le raffinement de la représentation de chaque cellule de sol à la demande. Elle est
totalement transparente du point de vue de la représentation des données du modèle MIOR, qui ne
manipule que des cellules de la plus petite échelle de représentation. Elle possède cependant son
importance en termes de scénarios d’exécution devant être envisagés pour ce modèle. L’instantiation
de nouvelles unités macroscopiques de sol implique en effet le lancement de nombreuses
simulations MIOR, qui peuvent être déléguées par lot sur GPU.
Cette utilisation dans le cadre d’un autre modèle pose cependant le problème de pouvoir contrô-
ler le temps d’exécution, et donc la quantité de traitements effectués par ces simulations MIOR. Il
est possible de définir deux critères de terminaison pour assurer ce contrôle :
— Stabilisation de l’évolution du modèle sur N itérations
— Exécution d’un nombre fixé d’itérations
Ces deux critères répondent à des optiques différentes, avec toutefois systématiquement la volonté
de pouvoir suivre l’historique de l’évolution des principales données du modèle (quantité de
carbone, de CO2
).
Stabilisation de l’évolution du modèle sur N itérations
Ce critère de terminaison correspond à une absence d’évolution d’un ensemble de métriques
pendant un nombre fixé d’itérations. Cet ensemble peut comprendre un nombre variables de mé-
triques, suivant le niveau d’évolution à surveiller : une simple surveillance de la quantité globale
de carbone stockée par les colonies microbiennes permet par exemple de déceler tout arrêt de fixation
du carbone sur cette période de temps. Cet état ne garantit pas cependant l’arrêt de l’évolution
du modèle, mais simplement l’absence de ressources en carbone suffisantes pour déclencher
la moindre croissance microbienne. La poursuite du processus de respiration n’est pas prise en
compte. La surveillance des quantités de dioxyde de carbone (CO2) pallie à ce défaut, du fait de
sa production lors du processus de respiration. Une surveillance de ces deux quantités n’est cependant
pas nécessaire pour garantir l’arrêt des deux processus d’évolution dans le modèle : la
respiration prenant le pas sur toute croissance dans l’algorithme, la cessation de ce processus suffit
à garantir l’arrêt du second.
L’utilisation de N itérations de surveillance est rendue nécessaire par l’obligation de prendreCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 123
en compte l’éventuel décès d’une ou plusieurs colonies bactériennes, une fois ce type d’équilibre
atteint. Ces décès, en diminuant la concurrence d’accès aux dépôts de carbone, augmentent la
quantité de carbone utilisable par les autres colonies microbiennes en partageant l’accès. Cette
augmentation est susceptible de permettre à ces colonies de sortir de leur état de dormance et de
relancer une nouvelle phase d’évolution du système.
L’inconvénient de ce critère d’arrêt est la difficulté d’estimer à priori le nombre d’itérations né-
cessaires à la stabilisation du système. L’exécution sur GPU ne pouvant pas être interrompue par le
programme, il est difficile, même avec une connaissance précise des paramètres de la simulation,
de par la nature aléatoire du positionnement des agents, et donc leur accès aux ressources, et de certains
processus, de calculer une échéance de temps fiable avant obtention du type de stabilisation
de l’évolution recherchée.
Exécution d’un nombre fixé d’itérations
Ce critère de terminaison est totalement agnostique vis-à-vis de l’état du modèle, et considère
le seul nombre d’itérations de la simulation écoulé comme indicateur d’arrêt. Cette limite permet,
en connaissant la durée moyenne d’une itération, d’estimer le temps total nécessaire pour effectuer
le calcul demandé. En variant le nombre d’itérations exécutées pour chaque lancement GPU, cette
information permet le contrôle de la latence maximale entre deux retours de résultats.
L’estimation de la durée d’une itération est possible, en dépit de la nature stochastique de certaines
portions de l’algorithme (positions, probabilité de décès) en considérant le cas le plus coû-
teux possible en complexité d’exécution. Dans le cas de MIOR, les seules boucles de l’algorithme
sont associées à des parcours de relations inter-agents. Ce coût revient à calculer le nombre maximal
de relations pouvant être présentes dans le modèle. Ce nombre est atteint si chaque colonie
microbienne a un rayon d’interaction égal ou supérieur à la dimension la plus grande du modèle.
Tous les dépôts de carbone présents dans le modèle sont alors accessibles à chaque colonie microbienne,
ce qui se traduit, pour n colonies microbiennes et m dépôts de carbone, par un total de
n ∗ m relations possibles.
Les deux approches de terminaison sont rendues possibles par le plugin MIOR fourni avec MCMAS,
de manière à permettre le choix de l’une ou l’autre des approches par le modèle Sworm, en
fonction du nombre de simulations à lancer et des impératifs en temps du modèle macroscopique.
8.1.3 Un modèle macroscopique : Collemboles
Après avoir présenté la parallélisation du modèle MIOR, nous nous intéressons à présent à un
autre système multi-agents, macroscopique cette fois, Collemboles. Ce modèle nous permet de
mettre en avant un exemple de parallélisation complète de modèle sur GPU au moyen de plusieurs
kernels d’exécution lancés de manière asynchrone.
Présentation du modèle
Le modèle Collemboles est un système multi-agents conçu pour modéliser la diffusion d’arthropodes,
des collemboles, entre des parcelles de plusieurs types naturelles, forestières ou artificielles,
en vue d’étudier leur impact sur la biodiversité. Il est basé sur le chargement de données depuis un
système d’information géographique pour obtenir un espace en deux dimensions découpé en parcelles
de terrain de forme polygonale, tel qu’illustré par la Figure 8.6. Cet environnement continuCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 124
est ensuite décomposé en cellules, ou patchs, correspondants à une aire de sol fixe, qui sont utilisés
comme unités de base de modélisation. L’implémentation de référence de cet algorithme a été
réalisée en NetLogo, de manière à permettre une visualisation aisée de l’évolution de la répartition
géographique et de la densité de population des individus.
Figure 8.6 – État initial d’une simulation Collemboles - Implémentation NetLogo
L’évolution de la simulation est découpée en quatre étapes, appliquées au niveau de chaque
cellule :
1. L’Arrivée de nouveaux individus. Cette opération correspond à la distribution équitable
d’une fraction de la population de chaque parcelle à toutes les cellules la constituant. Toutes
les populations du modèle étant entières, ce processus n’a d’effet au niveau de chaque
parcelle que si cette fraction de nouveaux individus représente un nombre supérieur à la
quantité de cellules de la parcelle.
2. La Reproduction, qui consiste à mettre à jour la population de chaque parcelle pour correspondre
à la somme des populations de toutes les cellules la composant, pour permettre un
suivi de l’évolution de chaque parcelle.
3. La Diffusion. Cette opération consiste à diffuser une portion de la population de chaque
cellule à ses huit voisines, comme évoqué dans nos exemples de plugins MCMAS. Cette
diffusion se différencie de celle fournie par notre bibliothèque par le fait qu’elle n’a lieu que
si le terrain de la parcelle courante est adapté aux collemboles et si la population globale
de la parcelle atteint un certain seuil.
4. La Mort des individus. A la fin de chaque itération, toute population non nulle de collemboles
au niveau de parcelles inadaptées à ces individus est fixée à zéro pour indiquer sa
disparition.
Cet algorithme, relativement simple, est cependant composé de plusieurs opérations coûteuses
en temps de calcul mais parallélisables : la diffusion et la mise à jour des populations. L’applicationCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 125
de ces traitements à chaque cellule est cependant largement conditionnelle, en fonction d’informations
externes telles que le type ou la population de la parcelle, ce qui rend difficile l’utilisation
des primitives de haut niveau de diffusion ou de réduction fournies par MCMAS. Dans la suite de
cette section, nous évoquons un autre moyen de paralléliser cette exécution à l’aide de l’interface
bas niveau donnant accès à OpenCL.
Implémentation
Comme nous venons de le voir, les différents traitements mis en jeu par le modèle Collemboles
sont parallélisables, mais mettent en jeu de nombreuses conditions externes qui rendent difficile
l’utilisation de primitives de haut niveau MCMAS. Dans ces conditions, nous avons retenu une
autre approche d’implémentation basée sur l’utilisation de l’interface de bas niveau pour décomposer
le déroulement de la simulation en quatre traitements distincts lancés sans synchronisation
intermédiaire sur GPU, tel qu’illustré par la Figure 8.7 :
— Un kernel responsable de la gestion des nouveaux arrivants.
— Un kernel chargé de la reproduction des individus.
— Un kernel responsable de la diffusion des populations sur les parcelles propices.
— Un dernier kernel gérant la disparition des populations situées sur des parcelles inadaptées.
Nouveaux arrivants
Préparation
données
Récupération et
enregistrement
des résultats
CPU GPU
Reproduction
Diffusion
Décès
Figure 8.7 – Découpage d’une itération collembole entre CPU et GPUCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 126
Structures de données
Deux structures principales sont mises en jeu dans le modèle Collemboles :
— Les parcelles, associées à une surface, une population et un type de terrain.
— La grille représentant l’environnement de simulation, dont chaque cellule comprend une
indication de parcelle et une population.
La représentation des parcelles en OpenCL peut être effectuée, comme nous l’avons vu dans
notre réflexion sur les structures de données agents, sous forme de tableaux de structures ou d’un
tableau pour chaque propriété.
Nous avons choisi, dans le cas du modèle Collembole, d’avoir recours à un tableau par propriété
pour représenter les parcelles pour plusieurs raisons :
— Le faible nombre de propriétés associées à chaque parcelle limite l’explosion du nombre
de paramètres sur GPU.
— Seules une ou deux de ces propriétés sont utilisées à chaque étape des traitements. Le
découpage des propriétés en structures distinctes permet donc de récupérer certaines informations
du modèle en cours d’exécution à des fins de vérification ou de stockage sans
perturber l’exécution des traitements n’y ayant pas recours.
— Les traitements des cellules étant toujours basés sur les mêmes propriétés dans un même
traitement, ce découpage maximise la localité de ces propriétés en mémoire, à la fois pour
optimiser les accès et l’occupation des éventuels caches L1 et L2 présents sur le matériel.
Ce raisonnement s’applique également à l’environnement, pour lequel l’utilisation d’une grille
par propriété, assez similaire à celle de l’implémentation proie-prédateur, a été retenue. Dans le
cas de la grille d’environnement, ce découpage en grilles de propriétés offre un avantage supplé-
mentaire, en permettant de limiter au strict minimum les données devant être présentes en mémoire
GPU à un moment donné.
Nouveaux arrivants
L’arrivée de nouveaux arrivants est traitée au niveau de chaque cellule. Pour cela, chaque instance
du kernel récupère la population et le nombre de cellules de la parcelle associée à la cellule
courante, pour déterminer le nombre d’individus devant être répartis sur chaque unité de sol. Cette
opération revient à calculer de nombreuses fois la même fraction de population à répartir, mais
permet à chaque thread de ne mettre à jour que sa cellule locale, ce qui élimine tout problème de
synchronisation de l’écriture des données.
Reproduction
Ce traitement est également effectué pour chaque cellule de l’environnement. La réduction de
la population au niveau de la parcelle est effectuée sous forme d’addition atomique, pour garantir
la cohérence des totaux obtenus.
Le choix d’un traitement basé sur les parcelles, plutôt que les cellules, éviterait l’utilisation
d’opérations atomiques, mais impose de disposer d’une liste des cellules associées à chaque parcelle
pour ne pas avoir à parcourir l’ensemble de la grille, structure qui n’est pas présente dans
notre modèle.
Le code final obtenu est très proche d’une opération de diffusion MCMAS, si ce n’est que les
résultats sont réduits en plusieurs sous-totaux sur la base de parcelles plutôt que sous la forme
d’une unique valeur scalaire.CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 127
Diffusion
La réalisation de la diffusion sur GPU des populations du modèle est effectuée en deux étapes,
séparées par une barrière d’exécution.
— Une quantité d’individus à diffuser est calculée au niveau de chaque cellule.
— Chaque cellule récupère un huitième de la quantité de chaque cellule voisine et l’ajoute à
sa propre population.
L’application des mises à jour sur la cellule associée à chaque thread, plutôt que d’effectuer
directement les mises à jour sur les cellules voisines, permet comme dans le cas de l’arrivée de
nouveaux individus de garantir l’absence d’écriture de la même donnée par plusieurs threads différents,
et ainsi d’éviter la synchronisation des modifications associées dans le modèle.
Mort des individus
Le dernier traitement exécuté sur GPU pour chaque cellule est la mise à zéro de la population
de chaque cellule inadaptée du fait du type de terrain aux individus collemboles. Cette dernière
opération ne requiert pas de considération particulière en termes de synchronisation de l’exécution,
la seule donnée utilisée en écriture est la cellule courante. Elle peut donc être directement réalisée
sans adaptation particulière en OpenCL.
8.2 Etudes de performances
8.2.1 Supports d’exécution
Dans le cadre de nos études de performances, nous avons eu recours à une variété de supports
d’exécution, tant grand public que orientés vers le calcul haute performance. Dans cette section,
nous présentons les caractéristiques de chacun de ces matériels, pour les replacer dans le contexte
de l’évolution de l’exécution sur GPU.
L’objectif de cette variété de supports est de permettre la comparaison entre gammes professionnelles
et grand public d’une part, entre anciennes et nouvelles générations d’autre part, de
différentes solutions matérielles d’exécution. De cette manière, il est possible de quantifier, pour
un chercheur, le bénéfice pouvant être obtenu par l’utilisation de matériel spécialisé par rapport à
celle de son poste personnel. Cette variété permet également de valider les performances obtenues
de manière indépendante par rapport à une génération de matériel ou une implémentation OpenCL
donnée.
Il est important de noter que le nombre de coeurs n’est pas directement comparable entre maté-
riel NVIDIA et AMD, les unités d’exécution proposées par ce second fabriquant étant plus nombreuses
mais également plus spécialisées.
Voici la liste de ces supports, classés par ordre chronologique.
NVIDIA Geforce 8800GT
Le premier matériel sur lequel nous avons eu l’occasion de réaliser des essais est une carte
graphique milieu de gamme grand public de NVIDIA, la Geforce 8800GT, sortie en octobre 2007.
Cette carte dispose de 112 unités d’exécution, soit 14 multi-processeurs, cadencés à 1.5 GHz et
accompagnés de 512 Mo de mémoire vive, et offre une puissance théorique de 504 Gflops enCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 128
simple précision. Elle ne supporte pas matériellement la gestion des nombres en double précision.
Dans nos expérimentations, elle est associée à un processeur Intel Core 2 Q9300 fonctionnant à
2.5 GHz. Elle ne propose pas de mécanisme de cache L1 et L2.
NVIDIA Tesla S1070
Le second matériel utilisé est un châssis graphique dédié au calcul GPU proposé par NVIDIA
en 2009. Il est constitué de quatre cartes graphiques Tesla C1060 dotées de 240 unités d’exécution,
soit 30 multiprocesseurs cadencés à 1.3 Ghz pour une puissance théorique de 933 Gflops par carte.
Chaque carte est associée à 4 Go de mémoire vive. Dans le cadre de nos tests, un seul de ces
GPU est utilisé, couplé à un processeur Intel Xeon X5550 cadencé à 2.67 Ghz. L’architecture
matérielle de cette solution est très similaire à la Geforce 8800GT présentée précédemment. Elle
se différencie par la quantité de mémoire disponible, 4 Go, ainsi que le support de la correction
des erreurs mémoires (ECC) et des calculs en nombres flottants double précision. Elle ne propose
pas de mécanisme de cache L1 et L2.
AMD Radeon HD6870
La carte graphique AMD Radeon HD6870 est une carte graphique grand public de milieu de
gamme sortie en octobre 2010. Elle se caractérise par l’utilisation d’un mécanisme de cache L1
et L2 similaire à celui rencontré sur les cartes NVIDIA récentes, mais ne supporte pas toutefois
le traitement matériel de nombres flottants en double précision. Elle est constituée, au niveau du
matériel, de 1120 coeurs cadencés à une fréquence de 900 MHz, pour une puissance théorique
de 2016 Gflops. Ces unités d’exécution sont associées à 1Go de mémoire vive intégrés à la carte.
Dans nos expérimentations, elle est associée à un processeur AMD Phenom II X6 1090T cadencé
à 3.2 GHz.
NVIDIA Geforce 560Ti
La Geforce 560Ti est une carte graphique grand public de milieu de gamme sortie en janvier
2011. Elle est basée sur l’architecture Fermi. Cette carte propose 384 unités d’exécution cadencées
à 822 MHz et 1 Go de mémoire vive. Elle dispose d’un mécanisme de cache L1 et L2 et supporte
les calculs en double précision, mais limite le débit d’opérations obtenu à un douzième de celui des
traitements en simple précision. Dans notre configuration de test, elle est associée à un processeur
Intel Core i7 2600K cadencé à 3.4 GHz.
NVIDIA Tesla K20
La carte graphique Tesla K20 est basée sur l’architecture matérielle Kepler et propose donc
un cache L1 et un cache L2. Sortie fin novembre 2012, elle est destinée spécifiquement au calcul
scientifique, et supporte matériellement le traitement de nombres flottants en double précision
ainsi que la correction des erreurs mémoires. Elle est constituée au niveau matériel de 2496 coeurs
graphiques cadencés à 706 MHz, pour une puissance théorique de 3520 Gflops. Ces coeurs d’exé-
cution sont associés à 5120 Mo de mémoire vive. Les performances en double précision offertes
par cette carte sont de l’ordre du tiers des performances obtenues en simple précision. Cette carte
est associée dans nos expérimentations à un processeur Intel Xeon CPU E5-2609v2 cadencé à
2.50 GHz.CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 129
8.2.2 Protocole expérimental
L’évolution du matériel GPU est très rapide. Nous avons donc eu l’occasion, entre le début et
la fin de nos recherches, de tester des supports très différents. Certains d’entre eux, comme la carte
Geforce 8800GT, n’ont pas pu être utilisés pour l’ensemble de nos tests. Nous avons cependant
inclus les courbes correspondantes pour permettre une comparaison avec nos autres plates-formes
d’exécution.
Tous les tests ont été lancés sur des systèmes d’exploitation Linux 64 bits. Les courbes de la Geforce
8800GT ont été réalisées avec la version 3.2 de l’environnement CUDA fourni par la société
NVIDIA. Toutes les autres courbes mettant en jeu du matériel de ce fabriquant ont été réalisées
avec la dernière version stable, la version 5.2. Pour les tests de performance sur matériel AMD ou
CPU, nous avons utilisé l’implémentation OpenCL proposée par l’environnement AMD APP en
version 2.7.
Dans le cadre de nos expérimentations, nous avons choisi d’évaluer le temps d’exécution en
fonction de la quantité de traitements. Nous avons pour cela fait varier la taille et le nombre
d’agents du modèle dans le cas des modèles MIOR et Collemboles. Dans le cas de proie-prédateur,
cette variation de la quantité des traitements est obtenue en modifiant le rayon de recherche de
chaque individu.
Toutes les valeurs indiquées sont basées sur une moyenne des temps d’exécution obtenus sur
plusieurs dizaines d’exécution, de manière à minimiser l’impact du système d’exploitation et du
pilote graphique sur les temps observés.
8.2.3 Résultats obtenus
Proie-prédateur
Pour mesurer l’impact de l’utilisation du GPU sur les performances obtenues, nous avons choisi
de faire varier le rayon de recherche de nouvelles positions sur GPU, en maintenant toutes les
autres données constantes. De cette manière, il est possible de mesurer l’impact du nombre de
cases parcourues et du nombre d’accès mémoires sur les performances obtenues. Le rayon de
recherche est directement appliqué aux proies, et majoré de 50% pour les prédateurs, de manière
à conserver un rapport fixe entre les champs de vision de chaque population. Nous avons utilisé
pour nos expérimentation un environnement de dimension 1000, capable de tenir en mémoire
sur tous nos supports d’évolution. Pour éviter de donner l’accès à l’ensemble de l’environnement
à chaque individu, nous nous sommes arrêtés à un rayon de recherche de 100, correspondant à
1% de l’espace total simulé. Chaque courbe compare les performances obtenues entre la carte
graphique et le CPU présent sur le même support d’exécution, ce qui explique l’allure différente
de chaque courbe CPU.
Le temps moyen d’une itération est pris pour référence pour mesurer l’impact de ce rayon de
recherche sur les performances du modèle. Ce temps est à chaque fois comparé entre l’implé-
mentation basée sur MCMAS, et une implémentation reprenant exactement le même algorithme
mais utilisant des équivalents réalisés en Java de ces opérations génériques, de manière à disposer
de deux décompositions du programme équivalentes. La moyenne en temps d’exécution d’une
itération sur cinquante itérations de la simulation est retenue comme référence.
La Figure 8.8 illustre les temps obtenus sur carte Kepler et sur le processeur Xeon correspondant.
Tant que le rayon de recherche configuré pour les individus proies demeure inférieur à 30,
l’implémentation GPU présente des performances très similaires à la version CPU. Cette proximitéCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 130
0
1000
2000
3000
4000
5000
6000
7000
10 20 30 40 50 60 70 80 90 100
Temps moyen par itération (ms)
Rayon de recherche
CPU
GPU
Figure 8.8 – Temps moyen d’exécution d’une itération du modèle proie-prédateur sur carte Kepler
K20m et processeur Xeon CPU E5-2609v2
s’explique par le coût fixe du reste de l’itération, mais permet toutefois d’illustrer que le recours au
GPU ne pénalise pas les performances du modèle, même à petite échelle. La version de la simulation
s’exécutant sur carte Kepler prend l’avantage à partir d’un rayon de recherche supérieur à
30, et cet avantage devient particulièrement marqué à partir d’un rayon de recherche de 60, où les
performances CPU présentent un important ralentissement. La différence de performance atteint
un facteur 7 en faveur de la carte GPU quand le rayon de recherche approche de 100.
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
10 20 30 40 50 60 70 80 90 100
Temps moyen par itération (ms)
Rayon de recherche
CPU
GPU
Figure 8.9 – Temps moyen d’exécution d’une itération du modèle proie-prédateur sur carte Radeon
HD6870 et processeur AMD Phenom II X6 1090T
La Figure 8.9 illustre les performances obtenues sur la Radeon HD6870 décrite dans nos supports
d’exécution. L’implémentation GPU prend l’avantage dès un rayon de recherche de 10, et cet
avantage va ensuite en s’accentuant irrégulièrement jusqu’à un rayon de recherche de 70, au-delàCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 131
duquel la courbe CPU indique une brusque dégradation des performances. Si le comportement
du CPU par rapport à l’augmentation du rayon de recherche demeure très régulière, il est possible
de remarquer que les performances obtenues par la carte Radeon manifestent des variations
marquées. Les temps obtenus sur GPU sont meilleurs qu’avec notre carte Kepler, ce qui tend à
confirmer l’excellente réputation des cartes AMD en exécution GPU et en support d’OpenCL.
0
500
1000
1500
2000
2500
3000
3500
4000
10 20 30 40 50 60 70 80 90 100
Temps moyen par itération (ms)
Rayon de recherche
CPU
GPU
Figure 8.10 – Temps moyen d’exécution d’une itération du modèle proie-prédateur sur carte Geforce
560Ti et sur CPU
La Figure 8.10 montre les performances obtenues sur la plate-forme matérielle Geforce 560Ti.
Elle se caractérise, comme dans le cas de la carte Kepler, par des performances initialement très
proches entre version CPU et GPU, avant que les temps ne tournent nettement à l’avantage de cette
dernière à partir d’un rayon de recherche de 40. Cet avantage devient encore plus marqué à partir
d’un rayon de 60. La courbe GPU présente également, quoique de manière moins accentuée, les
pics observés sur les temps de la carte Radeon. L’accélération finale obtenue entre CPU et GPU
est du même ordre qu’avec la carte Kepler, un facteur sept, au rayon de recherche 100.
Si l’objectif de ces trois courbes est de mettre en avant les gains permis par l’utilisation de deux
ressources de calculs différentes, CPU et GPU, sur une même machine, il est également intéressant
de comparer les résultats obtenus entre matériels CPU et matériels GPU.
— Entre matériels GPU, la carte Kepler se caractérise par une très grande régularité des performances
obtenues, cependant légèrement en deçà des cartes grand public récentes. Cet
handicap relatif peut être mis sur le compte de la fréquence de fonctionnement moins élevée
de chaque coeur graphique (700 MHz contre 800 MHz ou plus). L’utilisation des ressources
est à contrario plus stable sur cette carte, comme l’indique la courbe plus régulière.
Les ressources en mémoire plus importantes offertes par la carte permettent également
d’envisager des scénarios de taille supérieure.
— Entre CPU, les comportements en termes de performance sont très similaires, avec une
première portion linéaire, suivie d’un point charnière avant que les performances ne se
dégradent plus rapidement. Ces courbes mettent en avant le temps supérieur utilisé par
l’implémentation correspondant au CPU associé à la carte Tesla K20. S’il s’agit du processeur
le plus récent de nos tests, ce retard en temps est aisément expliqué par le fait
que l’exécution CPU ne tire pas parti de tous les coeurs d’exécution dans nos tests. DansCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 132
ces conditions, la fréquence joue un rôle très important, directement visible sur la courbe
correspondant au processeur AMD (3.2 GHz) et encore plus sur la courbe correspondant
au processeur Core i7 2600K (3.4 GHz). Par comparaison, le processeur Xeon testé ne
fonctionne qu’à 2.5 GHz.CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 133
MIOR
Pour évaluer les performances de ce nouveau processus de distribution/rassemblement des ressources
du modèle sur GPU, nous avons choisi de comparer les performances obtenues par l’implémentation
sur plusieurs modèles de cartes graphiques. Pour illustrer l’impact des changements
incrémentaux apportés à l’algorithme original, nous avons également testé cinq implémentations
successives, comprenant un nombre croissant d’adaptations pour l’architecture GPU. Dans tous les
cas, le temps d’exécution moyen de 50 simulations a été retenu comme indicateur de performance.
Voici les caractéristiques des implémentations comparées :
— L’implémentation GPU 1.0 est une adaptation directe de l’algorithme et des structures de
données présentées, incluant seulement la suppression des dépendances d’accès aux données
par le biais du mécanisme de distribution/rassemblement décrit dans l’implémentation
du modèle.
— L’implémentation GPU 2.0 ajoute à l’algorithme de la première implémentation l’utilisation
d’une représentation alternative, plus compacte en termes d’accès, pour le stockage de
la topologie du modèle. Cette représentation exige toutefois des quantités plus importantes
de mémoire vive.
— L’implémentation GPU 3.0 introduit l’utilisation de la mémoire locale du périphérique
(voir présentation de l’architecture GPU), au moyen de copies manuelles de données les
plus utilisées (parts de carbone) au début et à la fin de chaque pas de calcul. L’algorithme
est par ailleurs identique à celui de la seconde implémentation.
— L’implémentation GPU 4.0 introduit la possibilité de résoudre plusieurs simulations en
parallèle pour chaque lancement de kernel. L’algorithme de chacune de ces simulations est
identique à la première implémentation.
— L’implémentation GPU 5.0 permet, de manière similaire à l’implémentation GPU 4.0, le
lancement de plusieurs implémentations GPU 2.0 de manière simultanée.
Les deux dernières implémentations présentées, GPU 4.0 et GPU 5.0, ont pour objectif de
permettre au modèle de profiter des possibilités de recouvrement d’exécution offerts par l’ordonnanceur
GPU, en s’assurant qu’il existe toujours des agents à exécuter en cas de blocage (barrière)
d’une simulation particulière, comme évoqué dans nos bonnes pratiques. Le fait de disposer de
nombreux threads permet en effet dans ce cas au matériel de traiter d’autres agents MIOR, pendant
que certains agents sont en attente de ressources.
Pour permettre la comparaison de ces implémentations avec la version séquentielle originale,
une version CPU réalisée en Java est également incluse.
Les figures 8.11, 8.12 et 8.13 donnent le temps d’exécution de 50 simulations sur nos supports
Tesla S1070, Geforce 560Ti et Tesla K20. Pour permettre une mesure de l’impact de la taille du
modèle et du nombre d’agents sur les performances, un facteur d’échelle est appliqué horizontalement
: à l’échelle 1, le modèle comprend 38 colonies microbiennes (MM) et 310 dépôts de
carbone (OM). Ces nombres sont multipliés par 6 à l’échelle 6, et la taille de l’environnement est
également modifiée pour conserver la même densité moyenne d’agents dans le modèle.
La Figure 8.11 met tout d’abord en évidence les performances obtenues sur une carte graphique
Tesla C1060 dénuée de cache. Ces courbes illustrent l’avantage initial en performance marqué en
faveur de l’implémentation GPU 2.0. Les autres variantes GPU sont plus lentes à prendre l’avantage
sur le CPU, et ne se détachent réellement en performance qu’à partir de l’échelle 4, pour
ensuite continuer à offrir des performances très proches. L’amélioration de performance obtenue
entre l’implémentation la plus rapide, GPU 2.0, et l’exécution sur CPU devient de l’ordre de 10 à
l’échelle 10.CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 134
0
100
200
300
400
500
600
700
Temps moyen d'exécution d'une simulation (ms)
0 2 4 6 8 10
Facteur de mise à l'échelle du modèle
CPU
GPU v1.0
GPU v2.0
GPU v3.0
Figure 8.11 – Performances CPU et GPU MIOR sur carte Tesla C1060
0
50
100
150
200
250
300
350
400
450
500
550
Temps moyen d'exécution d'une simulation (ms)
0 2 4 6 8 10
Facteur de mise à l'échelle du modèle
CPU
GPU v1.0
GPU v2.0
GPU v3.0
Figure 8.12 – Performances CPU et GPU MIOR sur carte Geforce 560Ti
La Figure 8.12 illustre les performances obtenues sur un matériel grand public beaucoup plus
récent, et illustre en particulier les importants progrès réalisés par la gestion de la mémoire locale.
Les courbes possèdent, en dehors de cet élément, une évolution très similaire, avec des temps
d’exécution absolus toutefois de l’ordre de deux fois plus rapides, du fait de la fréquence et du
nombre de cœurs plus importants sur cette plate-forme. Les courbes se caractérisent de manière
générale par leur évolution très régulière, sans la rupture en performance rencontrée par la carte
Tesla. Cette régularité peut être expliquée par la présence de cache d’exécution sur cette nouvelle
architecture, et d’un meilleur algorithme de regroupement des accès mémoires, plus à même de
gérer les accès à la topologie effectués par la simulation MIOR. Ces courbes illustrent une nouvelle
fois un avantage de l’implémentation GPU 2.0 sur les autres implémentation. Elle est ainsi cinqCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 135
0
100
200
300
400
500
600
700
800
900
Temps moyen d'exécution d'une simulation (ms)
0 2 4 6 8 10
Facteur de mise à l'échelle du modèle
CPU
GPU v1.0
GPU v2.0
GPU v3.0
Figure 8.13 – Performances CPU et GPU MIOR sur carte Kepler K20m
fois plus rapide que l’implémentation GPU 3.0 à l’échelle 10. Cet avantage sur l’implémentation
GPU 3.0 est toutefois moins marqué que pour la carte Tesla C1060, ce qui montre l’intérêt de
nombreuses optimisations des accès mémoires effectués sur le coût de recopie des données en
mémoire locale. Les courbes GPU 1.0 et CPU illustrent des tendances et des temps d’exécution
très similaires au support d’exécution plus ancien.
La Figure 8.13 correspondant à la carte Tesla K20 est extrêmement similaire aux courbes obtenues
sur Geforce 560Ti, ce qui s’explique aisément par la proximité dans le temps et en termes
d’architecture, Kepler contre Fermi, entre ces deux cartes. Kepler se caractérise ici par des performances
en léger retrait, comme dans le cas du modèle proie-prédateur. Ce retrait peut encore une
fois être expliqué par la différence de fréquence de fonctionnement entre les deux cartes, dédiées à
des utilisations différentes. Ces courbes confirment également encore une fois l’avantage en termes
de fréquence de processeurs comme le Core i7 2600K sur des processeurs plus récents mais moins
véloces comme le Xeon, dans le cadre d’une exécution séquentielle. L’implémentation GPU 2.0
permet de nouveau l’obtention des meilleures performances, en étant approximativement six fois
plus rapide à l’échelle 10 que l’implémentation GPU 3.0. L’implémentation GPU 1.0 demeure la
plus lente des implémentations GPU, avec un facteur 10 par rapport à l’implémentation GPU 2.0
à l’échelle 10.
Le plugin MIOR est conçu pour pouvoir réaliser un grand nombre de simulations microscopiques
dans le cadre de la simulation multi-échelles Sworm. Dans ces circonstances, il est intéressant
de mesurer le coût d’un lancement MIOR sur GPU, ainsi que l’évolution des performances
obtenues en fonction du nombre de simulations demandées, de manière à évaluer la taille de lot
la plus efficace. L’objectif, de cette manière, est d’amortir les coûts de transferts liés à l’exécution
sur GPU, tout en étant capable de connaître le temps d’exécution total du lot de simulation, de
manière à éviter de bloquer d’autres traitements Sworm.
Au vu de ces éléments, il existe plusieurs manières de mesurer les performances de l’exécution
en parallèle de plusieurs simulations :
— En mesurant les performances d’un seul lancement et en variant le nombre de simulationsCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 136
(Figure 8.14). Cette approche permet de mesurer l’évolution du temps total d’exécution de
l’ensemble des simulations, théoriquement linéaire (loi d’accélération). Une stagnation de
la courbe indique une amélioration de l’efficacité d’exécution sur GPU, et une augmentation
de sa pente illustre au contraire une augmentation du coût de la parallélisation. Une
mauvaise efficacité peut être compensée, à plus grand échelle, par le recouvrement des accès
et des calculs proposés par la carte graphique, possible uniquement quand le nombre
de threads d’exécution en attente est suffisant.
— En mesurant le temps d’exécution total pour effectuer un nombre fixe de simulations (Figure
8.15) en faisant varier le nombre de simulations lancés simultanément. Cette approche
permet de mettre en évidence les coûts associés aux transferts et aux lancements, par rapport
au nombre et à la durée des calculs utilisés.
La Figure 8.14 illustre les temps d’exécution obtenus pour le lancement d’un nombre variable
de simulations en une seule fois. Les courbes montrent que, pour des petits nombres de simulations,
l’implémentation compacte de la topologie mémoire est plus performante que la repré-
sentation sous forme de matrice pleine à deux dimensions. Cette tendance s’inverse au-delà de 50
simulations exécutées en parallèle, ce qui s’explique soit par une progression non linéaire des coûts
de synchronisation, soit par la consommation mémoire supplémentaire imposée par l’utilisation de
la représentation optimisée en accès.
0
10
20
30
40
50
60
70
80
90
0 10 20 30 40 50 60 70 80 90 100
Temps total d'exécution (ms)
Nombre de simulations (workgroup) par exécution
GPU v4.0
GPU v5.0
Figure 8.14 – Temps d’exécution par simulation MIOR sur Tesla C1060, en fonction du nombre
total de simulations
La Figure 8.15 illustre les temps d’exécution obtenus pour l’exécution d’un même nombre total
de simulations, en variant le quantité de systèmes lancés en simultané. Les courbes illustrent cette
fois les coûts résultants de l’exécution sur GPU pour des lancements de petite taille. Ces coûts comprennent
notamment la préparation du programme et la copie des données vers et depuis la carte,
entre chaque lot de simulations. Ces coûts sont masqués une fois que le nombre de simulations
devient suffisamment important, et que le pilote OpenCL peut ainsi effectuer un recouvrement des
temps de communication par des calculs pour conserver les unités d’exécution en activité. Cette
pénalité à l’exécution sur GPU est davantage marquée dans le cas de l’implémentation optimisée
en accès, mais est visible sur les deux courbes. Au-delà de 30 simulations par lancement, le tempsCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 137
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
0 10 20 30 40 50 60 70 80 90 100
Temps total d'exécution (ms)
Nombre de simulations (workgroup) par exécution
GPU v4.0
GPU v5.0
Figure 8.15 – Temps d’exécution total pour 1000 simulations MIOR sur plate-forme Tesla C1060,
en variant le nombre de simulations exécutées de manière simultanée.
d’exécution total de toutes les simulations stagne, indiquant qu’un remplissage optimal de la carte
est atteint pour cette implémentation.CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 138
Collemboles
Pour mesurer l’impact de l’utilisation du GPU sur les performances obtenues, nous avons choisi
de faire varier le nombre de cellules présentes dans le modèle. Cette mise à l’échelle de l’environnement
impose cependant une réflexion particulière, le découpage des parcelles étant assuré sur la
base de données géographiques externes, associées à une réalité géographique particulière. Dans
ces conditions, l’augmentation du nombre de cellules entraîne une augmentation de la précision
du modèle, plutôt qu’un agrandissement de l’espace de simulation.
Le temps d’exécution de 500 itérations du modèle Collemboles est pris en compte pour mesurer
l’impact de ce rayon de cellules sur les performances du modèle. Ce temps est comparé sur trois
catégories de supports d’exécution :
— Les GPU accessibles au grand public, représentés par les supports Geforce 560Ti et Radeon
HD6870.
— Les GPU destinés à une utilisation professionnelle, représentés par les cartes Tesla C1060
et Tesla K20.
— Deux CPU grands publics, pour évaluer les performances pouvant être attendues en l’absence
de GPU.
La même implémentation basée sur l’utilisation d’OpenCL est utilisée pour toute les courbes,
qui illustrent donc les performances pouvant être obtenues en utilisant tous les coeurs d’exécution
disponible sur le matériel.
0
200
400
600
800
1000
1200
1400
1600
0 5 10 15 20
Temps total pour 500 itérations (s)
Facteur de mise à l'échelle
AMD Phenom X6 1090T
Intel Core i7 2600k
Figure 8.16 – Temps d’exécution de 500 itérations du modèle Collembole sur CPU
La Figure 8.16 illustre tout d’abord les performances obtenues en OpenCL sur deux CPU grand
public, un AMD Phenom X6 1090T et un Intel Core i7 2600K. Ces courbes mettent en évidence
un comportement très irrégulier des performances observées, avec toutefois un avantage de l’ordre
de 40% en faveur du processeur Intel.
La Figure 8.17 illustre l’exécution sur deux solutions graphiques grand public, et met en avant
l’intérêt de paralléliser la simulation sur GPU, avec des gains de l’ordre d’un facteur 2 par rapport
à une exécution sur CPU.
La Figure 8.18 enfin, oppose deux matériels professionnels, une carte Tesla C1060 et une carteCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 139
0
100
200
300
400
500
600
700
800
900
1000
0 5 10 15 20
Temps total pour 500 itérations (s)
Facteur de mise à l'échelle
Geforce 560Ti
Radeon HD 6870
Figure 8.17 – Temps d’exécution de 500 itérations du modèle Collembole sur GPU grand public
0
500
1000
1500
2000
2500
0 5 10 15 20
Temps total pour 500 itérations (s)
Facteur de mise à l'échelle
Tesla C1060
Tesla K20m
Figure 8.18 – Temps d’exécution de 500 itérations du modèle Collemboles sur GPU professionnels
Kepler K20m, et permet de mettre en avant les énormes progrès réalisés en termes de noeuds de
calculs GPGPU en quatre années par des mécanismes comme les caches L1 et L2. Les temps obtenus
pour la carte Kepler sont sur cette figure proches des résultats sur cartes grand public récentes
illustrées par la Figure 8.17, alors que la carte Tesla C1060 se caractérise par des performances
jusqu’à quinze fois inférieures à l’échelle 20.
Collemboles est un exemple de modèle multi-agents bénéficiant de manière moins nette d’une
parallélisation sur GPU grand public, avec des gains de l’ordre d’un facteur 2 entre l’exécution sur
le CPU le plus rapide, le Core i7 2600K, et la Geforce 560Ti à l’échelle 20. Ce gain est toutefois
plus marqué dans le cas de la carte graphique professionnelle Tesla K20, qui permet d’obtenir
des traitements 4 fois plus rapide à l’échelle 10. La comparaison des cartes graphiques dotées de
caches d’une part, et de la Tesla C1060 dénuée de ce mécanisme d’autre part, permet de mettreCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 140
en avant l’impact de ce mécanisme dans le cas du modèle Collemboles. Parmi les GPU dotés de
ce mécanisme, les performances obtenues sont au contraire proches entre cartes graphiques grand
public et matériel professionnel.
8.3 Synthèse
Les résultats obtenus montrent un gain en performance sur GPU par rapport au CPU pour les
trois modèles multi-agents adaptés. Ces gains sont particulièrement visibles sur les modèles MIOR
et proie-prédateur, où l’utilisation du GPU permet d’obtenir un gain de l’ordre d’un facteur 10 en
performance.
Les résultats observés illustrent également l’importance de l’architecture matérielle, et en particulier
de la disponibilité ou non de mécanisme de cache L1 et L2, sur les performances observées.
Les cartes dotées de caches permettent l’obtention de meilleures performances dans tous les
cas. Cet avantage est d’autant plus marqué, dans le cas du modèle MIOR, sur des implémentations
ayant recours à de nombreux accès mémoires. Ils montrent l’intérêt du GPU pour déléguer certains
traitements normalement effectués sur CPU, en particulier dans le cas du système proie-prédateur.
Dans cette section, nous présentons quelques recommandations d’implémentation au sujet de
la parallélisation de traitements sur GPU, sur la base des modèles multi-agents parallélisés et de
l’implémentation de la plate-forme MCMAS.
En parallèle aux problématiques de découpage de la représentation et de l’exécution de la
simulation sur architecture GPU, certains défis d’implémentations propres à OpenCL s’appliquent
aux traitements pouvant être réalisés.
8.3.1 Allocations dynamique de mémoire
Si ce support est présent dans les toutes dernières révisions du modèle de programmation
CUDA, OpenCL ne permet pas, au moment de notre rédaction, l’allocation de mémoire depuis
le code GPU en cours d’exécution.
Cette limitation est particulièrement problématique pour la manipulation de la structure de
données dynamiques sur GPU, dans le cas où la taille des structures n’est pas connue au moment
du lancement du traitement.
Dans ce cas, la seule solution est une allocation défensive de la mémoire à priori, basée sur
l’hypothèse la plus pessimiste de la taille mémoire requise pour l’exécution du modèle. Elle né-
cessite un sur-dimensionnement des ressources allouées par rapport aux ressources effectivement
consommées, particulièrement dans le cas de modèles de taille importante, et donc une perte de
mémoire significative.
La seule alternative pour éviter ce type de perte est une interruption régulière des traitements
pour permettre des réallocations sur CPU, avec les coûts associés aux échanges de données et au
changement de contexte.
Ces deux approches requièrent des sacrifices soit en mémoire, soit en performance.CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 141
8.3.2 Variabilité du support matériel
Un autre défi d’implémentation posé par l’exécution sur GPU est l’existence de multiple géné-
rations de plates-formes matérielles, chacune associée à ses propres valeurs limites d’exécution ou
support de certaines fonctionnalités.
Des cartes anciennes telles que la plate-forme Tesla C1060 imposent ainsi des contraintes très
strictes en termes d’accès mémoires pour permettre une exécution efficace, alors que les CPU ou
les cartes graphiques plus modernes minimisent ces contraintes par la présence de logiques de
prédictions et de cache gommant ces latences. L’impact de ces attentes est particulièrement visible
dans le cas de nombreux accès aléatoires (MIOR) ou de petites tailles (Collemboles) à la mémoire
globale GPU sur des cartes dénuées de cache implicite.
Dans un souci de transparence, Nvidia propose la notion de Computing Capabilities (capacité
de calcul) pour chacune de ses cartes, indiquant les fonctionnalités CUDA et OpenCL supportées
par le matériel, et les limitations associées en termes d’exécution sur ces deux plates-formes :
— Nombre de registres utilisables par work-item et au total.
— Taille maximale de work-group et de grille d’exécution.
— Taille maximale pour chaque type de structure de données.
— Taille maximale totale de chaque espace mémoire.
Ces deux derniers paramètres sont particulièrement importants pour des simulations manipulant
de grands buffers de données. Nos expériences ont mis en avant le fait que, si sur les architectures
NVIDIA testées, la taille maximale utilisable pour des données en mémoire globale est directement
liée à la mémoire physique du périphérique, ce n’est pas le cas sur des implémentations OpenCL
proposées par AMD, où cette limite est fixée à une valeur inférieure par l’interface logicielle.
Ces limitations associées au matériel n’ont pas seulement une influence sur la possibilité ou
non d’exécuter un traitement OpenCL, mais également sur les performances attendues. Il est alors
nécessaire d’adapter l’algorithme ou le découpage de l’exécution utilisé à ces paramètres, pour
une efficacité maximale, comme évoqué dans la section suivante.
8.3.3 Adaptation aux paramètres de la plate-forme
Si le standard OpenCL impose à toutes les implémentations le support d’une base commune de
primitives et d’opérations, chaque implémentation reste libre, comme nous venons de le voir, de
définir ses propres limites au niveau des ressources disponibles.
Le respect du standard permet de garantir le fonctionnement du programme, mais n’assure pas
l’obtention automatique des meilleures performances possibles tant sur le nombre limité de coeurs
polyvalents offerts par un CPU que sur les centaines de coeurs d’un GPU.
La prise en compte dynamique du type et des limites effectivement offertes par un matériel au
moment de l’exécution est donc importante pour permettre une utilisation optimale du matériel
disponible [SFSV13].
L’adaptation la plus critique à ce niveau est celle de la taille des paquets d’exécution utilisés,
dont la valeur devra être aussi proche que possible, soit du nombre de coeurs effectivement
disponibles sur CPU, soit de l’unité de découpage d’exécution ou warp sur GPU.
La taille d’un warp est de 32 threads ou work-items sur la plupart des plates-formes GPU.
Les bonnes pratiques OpenCL [Cor12] proposées par NVIDIA recommandent une taille minimale
de 64 work-items pour les blocs OpenCL, de manière à permettre un recouvrement des accèsCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 142
mémoires. Elle recommandent également l’utilisation de blocs de 128 à 256 work-items pour des
premières expérimentations, pour ensuite ajuster cette valeur en fonction du taux d’occupation
obtenu et des performances obtenues. La société fournit une feuille de calcul permettant d’estimer
cette occupation en fonction du modèle de carte utilisé, pour faciliter le choix d’un découpage
optimal.
Un exemple de traitement particulièrement impacté par ce choix de découpage est celui de la
réduction en parallèle. Si l’utilisation d’un algorithme basé sur plusieurs passes est plus performante
sur GPU, il est plus efficace sur CPU d’effectuer un simple découpage du tableau en autant
de parties que de coeurs disponibles, et de réaliser l’ensemble de l’opération en un seul lancement.
Pour faciliter cette démarche, MCMAS recommande par défaut une valeur adaptée à l’architecture
sous-jacente (CPU, GPU ou autre). Cette valeur est également utilisée pour l’exécution
de fonctions de haut niveau par les plugins, en l’absence d’intervention de l’utilisateur. La valeur
optimale effective pour ce découpage est cependant très dépendante de l’algorithme exécuté et de
l’occupation résultante des ressources matérielles.
8.3.4 Différents espaces mémoires pour différentes utilisations
Comme évoqué dans notre présentation de l’architecture, les cartes graphiques disposent,
contrairement aux processeurs traditionnels, de multiples espaces mémoires spécialisés. La sé-
lection de l’espace mémoire dans lequel stocker chaque donnée est effectuée de manière explicite
en OpenCL, au moyen de qualificateurs utilisés pour la déclaration de la variable :
— private int data : entier en mémoire privée (accessible uniquement au work-item)
— local int data : entier en mémoire locale (accessible uniquement au work-group)
— global int data : entier en mémoire globale
— constant int data : entier en mémoire constante
En l’absence de qualificateur, l’espace privé est utilisé pour le stockage de la variable.
La copie de données entre ces espaces mémoire n’est pas automatique et doit être explicitement
effectuée par le programme. La mémoire locale, en particulier, ne peut de plus être initialisée
que depuis le périphérique, et requiert donc au moins une copie des données. Elle est généralement
employée pour stocker des données intermédiaires souvent utilisées par chaque membre
d’un work-group, de manière à éviter son calcul ou sa récupération depuis la mémoire globale à
plusieurs reprises.
La copie entre ces types de mémoire n’a pas nécessairement besoin d’être effectuée de manière
totalement manuelle : des bibliothèques telles que ELMO [FVSS13] permettent de définir des
associations entre structures de données globales et mise en cache en mémoire locale, au moyen
de nombreux raccourcis définis sous forme de code OpenCL.
8.3.5 Précision des données et respect des standards
Les cartes graphiques ont initialement été conçues pour effectuer des rendus en deux ou trois
dimensions, avant rastérisation sur une grille graphique correspondant au périphérique d’affichage.
En termes d’architectures, ce scénario d’utilisation se traduit par une forte optimisation du matériel
pour le traitement de nombres flottants, suffisant pour ce type de rendu. D’éventuelles erreurs de
précision liées à ce format sont en effet mitigées par deux facteurs propres au rendu graphique :
la résolution limitée d’un écran, qui contraint une projection géométrique dans une résolutionCHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 143
ne dépassant pas les quelques milliers de pixels, et le nombre important d’images affichées par
seconde, qui estompe toute erreur de rendu ne survenant que dans une image précise.
Cette préférence matérielle pour les flottants est particulièrement marquée, dans le cas des
cartes graphiques grand public, par un bridage volontaire des traitements sur des nombres en
double précision à une fraction de la fréquence du reste du GPU, pour encourager l’achat de
matériel professionnel.
Ces considérations sur les performances sont particulièrement importantes pour des modèles
multi-agents, où l’utilisation de nombres double précision est critique pour obtenir des résultats
valides. Dans de tels systèmes multi-agents, l’utilisation de réels simple précision peut conduire à
des erreurs croissantes, susceptibles de modifier les résultats ou d’empêcher la convergence de la
simulation.
Les modèles agents employant souvent des données entières peuvent également être impactés
par ce type de disparité matérielle, ce type d’opération étant moins optimisé sur les architectures
matérielles les plus anciennes.
En parallèle à ce choix de précision des données se pose la question du mode de calcul souhaité,
compatible ou non avec le standard l’IEEE 754. Le non respect strict de ces standards permet
de simplifier les calculs dans les cas les plus courants. Il ne garantit cependant plus la prise en
compte correcte de valeurs telles que Nan ou l’infini dans les opérations, ou encore des valeurs
non normalisées.
Le standard à utiliser pour les calculs flottants peut être configuré pour l’ensemble de l’exé-
cution au moment de la compilation. Dans le cas où de telles opérations devraient être limitées
à des portions spécifiques de l’algorithme, OpenCL fournit des versions préfixées des opérations
intégrées telles que fast_sqrt, potentiellement plus rapide que sqrt.
Les compromis liés à cette recherche de performance sont dépendants de chaque plate-forme
OpenCL, et peu détaillés par les fabriquants. Dans ces circonstances, l’utilisation du mode standard
IEEE et des opérations par défaut est recommandé pour tout nouveau modèle, au moins en attente
de validation, de manière à pouvoir évaluer ensuite l’impact de l’utilisation de flottants simple
précision ou d’autres modes de calculs sur les résultats de la simulation.
8.3.6 Capacités mémoires physiques
La dernière limitation imposée par l’architecture GPU est la quantité de mémoire offerte par
la plate-forme, de l’ordre de 6 à 8 Go sur les solutions graphiques Kepler les plus récentes. Cette
quantité demeure plus limitée que sur CPU pour deux raisons :
— Le coût de la mémoire classique pour CPU, et la possibilité pour le chercheur d’étendre
aisément la capacité disponible sur sa machine. 4Go de mémoire RAM est un minimum sur
de nombreuses machines actuelles, et l’achat de 16 ou 32Go de mémoire est aujourd’hui
possible pour quelques centaines d’euros. Au contraire, la mémoire graphique doit être très
performante en accès, ce qui augmente son coût, et en adressage, ce qui limite sa taille.
— L’impossibilité d’utiliser, sur GPU, le disque dur ou la mémoire du système pour délé-
guer de manière transparente le stockage des données supplémentaires. Si l’exploitation
de la mémoire du système est facilitée par les dernières révisions des modèles d’exécution
GPGPU, il n’existe pas d’analogue à la mémoire d’échange ou au stockage permanent sur
cette architecture.CHAPITRE 8. VALIDATION SUR DES MODÈLES EXISTANTS 144
Cette limitation peut poser problème pour des modèles multi-agents de taille importante, particulièrement
dans le cas d’utilisation de structures de données surdimensionnées pour compenser
l’impossibilité d’effectuer des allocations dynamiques dans un programme OpenCL.9
Conclusion et perspectives
9.1 Conclusion
Dans ce mémoire, nous avons étudié les manières d’exécuter efficacement des systèmes multiagents
sur cartes graphiques. Cette étude a été l’occasion de mettre en avant l’intérêt des platesformes
parallèles dans le cadre des simulations multi-agents, tant en termes de ressources qu’en
termes de performances. Elle nous a également permis de présenter les trois axes de parallélisation
possibles pour un système multi-agents, au niveau de l’ordonnanceur, de l’environnement ou des
traitements. Cette parallélisation du système prend deux formes principales sur GPU :
— Une adaptation complète de l’exécution sur cette plate-forme, sous forme de nouveau programme.
— Une utilisation du GPU pour ne déléguer qu’une partie de la simulation, et en particulier
des traitements coûteux à même d’être parallélisés.
Ces deux approches requièrent une connaissance de la plate-forme GPU. Notre étude bibliographique
a montré qu’il n’existait pas de plate-forme générique de parallélisation de systèmes
multi-agents permettant un libre choix entre ces deux approches. Notre solution pour permettre
l’utilisation la plus large possible de type de matériel est de proposer une nouvelle bibliothèque
d’exécution multi-agents, MCMAS.
Notre bibliothèque fournit de nombreux traitements multi-agents de haut niveau prêts à être
utilisés sans aucune connaissance en parallélisation. Elle facilite l’ajout de nouveaux traitements
au moyen d’une interface de bas niveau fournissant de nombreuses structures de données et facilités
d’exécution au développeur. Cette double approche permet une utilisation simple de MCMAS
et des cartes graphiques, sans pour autant imposer de cadre de modélisation ou d’exécution particulier,
de manière à pouvoir aisément compléter les fonctions offertes par des environnements
multi-agents existants.
L’application de ces deux formes de parallélisation sur plusieurs exemples concrets de modèles
multi-agents nous a permis de mettre en avant les avantages et les inconvénients associés à chacune
de ces approches.
La réalisation de la totalité de la simulation multi-agents permet un contrôle fin de la modé-
lisation et de l’exécution. Elle offre la possibilité d’effectuer la totalité de la simulation en un
seul lancement, comme illustré dans le cas du modèle MIOR. Cette flexibilité vient toutefois au
prix d’adaptations importantes en termes de données et d’exécution pour tirer pleinement parti
de l’architecture GPU. Ces adaptations requièrent une expertise du modèle de programmation et
d’exécution pour aboutir à un résultat efficace adapté à l’architecture matérielle. La validation du
modèle n’est possible qu’une fois celui-ci fonctionnel sur la nouvelle architecture.CHAPITRE 9. CONCLUSION ET PERSPECTIVES 146
La délégation d’une partie de la simulation permet au contraire un recours plus incrémental
au GPU, facilitant des validations intermédiaires du fonctionnement ou des résultats. Elle requiert
elle aussi une expertise en parallélisme pour identifier et implémenter les traitements pouvant
bénéficier d’une délégation. Cette isolation et cette encapsulation des traitements facilitent leur
réutilisation dans d’autres modèles, soit directement, soit dans le cadre de plates-formes multiagents
existantes.
Dans ce mémoire, nous avons apporté une analyse des différentes méthodes de parallélisation
de systèmes multi-agents sur GPU, ainsi qu’une illustration de leur utilisation avec MCMAS. Cette
illustration nous a permis de détailler ces différentes démarches et leur impact sur les performances
obtenues, ainsi que de formuler des recommandations pour la réalisation de calculs sur GPU.
9.2 Perspectives
Si la bibliothèque MCMAS est fonctionnelle et fournit déjà de nombreuses opérations utilisées
dans nos trois modèles d’études, elle représente une solution appelée à être améliorée pour
répondre à un domaine très dynamique. Au moins trois pistes d’amélioration peuvent à l’heure
actuelle être envisagées.
Une première piste d’amélioration consiste à faciliter l’accès à la bibliothèque depuis de nouveaux
langages et environnements de simulation agents. De nombreux modèles ont recours à des
langages ou à des environnements particuliers pour leur exécution. C’est en particulier le cas du
modèle Sworm réalisé avec Madkit pour lequel la simulation MIOR a été conçue. Cet accès peut
prendre deux formes, le développement d’une couche d’adaptation permettant l’accès direct à l’interface
de MCMAS, ou le développement d’un agent service GPU s’intégrant de manière conceptuelle
au modèle. Cet agent est alors à même de répondre à des requêtes d’exécution et de favoriser
la réalisation de calculs parallèles de manière transparente pour le reste de la simulation.
Une autre piste, complémentaire, est d’ajouter de nouvelles structures de données et opérations
à MCMAS pour répondre aux besoins de nouvelles simulations multi-agents. Si de nombreuses
structures de données rencontrées dans les systèmes agents ont déjà été implémentées, certains
modèles agents reposent sur des graphes de données encore absents de notre bibliothèque. Des
thématiques agents, comme la recherche de chemin, n’ont également pas encore été implémentées.
Le développement de nouvelles opérations, et l’enrichissement des opérations existantes, est un
élément important pour assurer que MCMAS soit non seulement accessible, mais également utile
à de nombreux modèles agents. Le développement de nouveaux traitements agents peut également
être facilité par l’intégration de bibliothèques comme ELMO [FVSS13] pour faciliter la gestion de
la mémoire partagée en OpenCL.
Une dernière piste d’amélioration concerne la découverte et l’utilisation des ressources maté-
rielles offertes par la machine. Si, à l’heure actuelle, MCMAS permet l’utilisation de plates-formes
GPU ou CPU de manière transparente, ces architectures ne sont que quelques représentantes des
architectures dites many-core, basées sur de nombreux coeurs d’exécution. Leur exploitation reprend
de nombreuses problématiques d’ordonnancement et de décomposition des tâches, et ouvre
la voie à l’utilisation de plusieurs matériels locaux. Ces problématiques permettent également
d’envisager la mise en place de mécanismes capables d’optimiser le passage des traitements sur
les ressources disponibles, de manière à pouvoir simultanément tirer parti du CPU et GPU. De
tels mécanismes pourraient dans ce cas introduire une intelligence supplémentaire au niveau de
chaque traitement, pour choisir l’algorithme et les types de données les plus adaptés à chaque
matériel d’exécution.CHAPITRE 9. CONCLUSION ET PERSPECTIVES 147
Publications
Chapitre de livre
— Guillaume Laville, Christophe Lang, Bénédicte Herrmann, Laurent Philippe, Kamel Mazouzi,
and Nicolas Marilleau. Implementing Multi-Agent Systems on GPU. In Raphaël
Couturier, editor, Designing Scientific Applications on GPUs, Numerical Analysis and
Scientific Computing, chapter 18, pages 413–439. Chapman and Hall/CRC, 2013.
Conférences
— Guillaume Laville, Christophe Lang, Nicolas Marilleau, Kamel Mazouzi, and Laurent Philippe.
Using GPU for Multi-agent Soil Simulation. In PDP 2013, 21st Euromicro International
Conference on Parallel, Distributed and Network-based Computing, Belfast,
Ireland, pages 392–399, February 2013. IEEE Computer Society Press.
— Guillaume Laville, Kamel Mazouzi, Christophe Lang, Nicolas Marilleau, Bénédicte Herrmann,
and Laurent Philippe. MCMAS : a toolkit to benefit from many-core architecture
in agent-based simulation. In PADAPS 2013, 1st Workshop on Parallel and Distributed
Agent-Based Simulations, in conjunction with EuroPar 2013, volume 8374 of LNCS, Aachen,
Germany, pages 544–554, August 2013. Springer.
— Guillaume Laville, Kamel Mazouzi, Christophe Lang, Nicolas Marilleau, and Laurent Philippe.
Using GPU for Multi-agent Multi-scale Simulations. In DCAI’12, 9-th Int. Conf.
on Advances in Intelligent and Soft Computing, volume 151 of Advances in Intelligent and
Soft Computing, Salamanca, Spain, pages 197–204, March 2012. Springer.
Communications
— Présentation d’un poster "MCSMA : A library for multi-agent simulations on manycore
architectures" au séminaire FEMTO-ST du 26 juin 2013 à la CCI du Doubs.
— Présentation "Accélération d’une simulation de sol sur GPU" aux journées Région
Grand Est (RGE) du 14 février 2013 à Belfort.
— Présentation "Portage d’une simulation multi-agents sur GPU" aux journées Région
Grand Est (RGE) du 9 juin 2011 à Metz.Bibliographie
[AG13] Nevena Ilieva-Litova Alan Gray, Anders Sjöström. Best Practice mini-guide accelerated
clusters. Using General Purpose GPUs. http://www.prace-project.eu/IMG/pdf/
Best-Practice-Guide-GPGPU.pdf, 2013. [En ligne ; vérifié le 27 avril 2014].
[amd] AMD Accelerated Parallel Processing Math Libraries (APPML).
http://developer.amd.com/tools-and-sdks/heterogeneous-computing/
amd-accelerated-parallel-processing-math-libraries/. [En ligne ; vérifié le 26
avril 2014].
[Amd67] Gene M. Amdahl. Validity of the Single Processor Approach to Achieving Large
Scale Computing Capabilities. In Proceedings of the April 18-20, 1967, Spring Joint
Computer Conference, AFIPS ’67 (Spring), pages 483–485, New York, NY, USA,
1967. ACM.
[APS10] B. G. Aaby, K. S. Perumalla, and S. K. Seal. Efficient simulation of agent-based
models on multi-GPU and multi-core clusters. In Proceedings of the 3rd International
ICST Conference on Simulation Tools and Techniques, SIMUTools ’10, pages
29 :1–29 :10, ICST, Brussels, Belgium, Belgium, 2010. ICST (Institute for Computer
Sciences, Social-Informatics and Telecommunications Engineering).
[ASÁ01] Elaini S Angelotti, Edson E Scalabrin, and Bráulio C Ávila. PANDORA : a multiagent
system using paraconsistent logic. In Computational Intelligence and Multimedia
Applications, 2001. ICCIMA 2001. Proceedings. Fourth International Conference
on, pages 352–356. IEEE, 2001.
[ATN09] Cédric Augonnet, Samuel Thibault, and Raymond Namyst. Automatic Calibration of
Performance Models on Heterogeneous Multicore Architectures. In 3rd Workshop on
Highly Parallel Processing on a Chip (HPPC 2009), Delft, Pays-Bas, August 2009.
[BBMC+10] Arnaud Banos, Annabelle Boffet-Mas, Sonia Chardonnel, Christophe Lang, Nicolas
Marilleau, and Thomas Thévenin. Simuler la mobilité urbaine quotidienne : le projet
MIRO. In Arnaud Banos and Thomas Thévenin, editors, Mobilités urbaines et risques
des transports - approches géographiques, chapter 2, pages 51–86. Hermès, 2010.
[BCC+11] E. Blanchart, C. Cambier, C. Canape, B. Gaudou, T.-N. Ho, T.-V. Ho, C. Lang, F. Michel,
N. Marilleau, and L. Philippe. EPIS : A Grid Platform to Ease and Optimize
Multi-agent Simulators Running. In PAAMS, volume 88 of Advances in Intelligent
and Soft Computing, pages 129–134. Springer, 2011.
[BCG07] Fabio Luigi Bellifemine, Giovanni Caire, and Dominic Greenwood. Developing
Multi-Agent Systems with JADE. Wiley, 2007.
[BDM04] Jacques M. Bahi, Stéphane Domas, and Kamel Mazouzi. Jace : A Java Environment
for Distributed Asynchronous Iterative Computations. In PDP, pages 350–357. IEEE
Computer Society, 2004.
[BETVG08] Herbert Bay, Andreas Ess, Tinne Tuytelaars, and Luc Van Gool. Speeded-Up Robust
Features (SURF). Comput. Vis. Image Underst., 110(3) :346–359, June 2008.BIBLIOGRAPHIE 150
[BG09] Nathan Bell and Michael Garland. Implementing Sparse Matrix-vector Multiplication
on Throughput-oriented Processors. In Proceedings of the Conference on High Performance
Computing Networking, Storage and Analysis, SC ’09, pages 18 :1–18 :11,
New York, NY, USA, 2009. ACM.
[Ble09] A. Bleiweiss. Multi Agent Navigation on the GPU. GDC09 Game Developers Conference
2009, 2009.
[BMD+09] E. Blanchart, N. Marilleau, A. Drogoul, E. Perrier, JL. Chotte, and C. Cambier.
SWORM : an agent-based model to simulate the effect of earthworms on soil structure.
EJSS. European Journal of Soil Science, 60 :13–21, 2009.
[BPL+06] Lars Braubach, Alexander Pokahr, Winfried Lamersdorf, Karl-Heinz Krempels, and
Peer-Oliver Woelk. A generic time management service for distributed multi-agent
systems. Applied Artificial Intelligence, 20(2-4) :229–249, 2006.
[Bra00] G. Bradski. Dr. Dobb’s Journal of Software Tools, 2000.
[BRT11] B. Beresini, S. Ricketts, and M.B. Taylor. Unifying manycore and FPGA processing
with the RUSH architecture. In Adaptive Hardware and Systems (AHS), 2011
NASA/ESA Conference on, pages 22–28, June 2011.
[CCC+12] M. Carillo, G. Cordasco, R. De Chiara, F. Raia, V. Scarano, and F. Serrapica. Enhancing
the Performances of D-MASON - A Motivating Example. In SIMULTECH,
pages 137–143, 2012.
[CCDCS11] B Cosenza, G Cordasco, R. De Chiara, and V. Scarano. Distributed Load Balancing
for Parallel Agent-based Simulations. In 19th Euromicro International Conference
on Parallel, Distributed and Network-Based Computing, Ayia Napa, Cyprus, 2011.
[CCM+11] Gennaro Cordasco, Rosario Chiara, Ada Mancuso, Dario Mazzeo, Vittorio Scarano,
and Carmine Spagnuolo. A Framework for Distributing Agent-Based Simulations.
In Euro-Par 2011 : Parallel Processing Workshops, volume 7155 of Lecture Notes in
Computer Science, pages 460–470, 2011.
[CCP07] M. Bousso C. Cambier, D. Masse and E. Perrier. An offer versus demand modelling
approach to assess the impact of micro-organisms spatio-temporal dynamics on soil
organic matter decomposition rates. Ecological Modelling, pages 301–313, 2007.
[CDD+13] Chongxiao Cao, Jack Dongarra, Peng Du, Mark Gates, Piotr Luszczek, and Stanimire
Tomov. clMAGMA : High Performance Dense Linear Algebra with OpenCL. 2013.
[CDFD10] F Chuffart, N Dumoulin, T Faure, and G Deffuant. SimExplorer : Programming Experimental
Designs on Models and Managing Quality of Modelling Process. IJAEIS,
1(1) :55–68, 2010.
[CDJM01] Brahim Chaib-Draa, Imed Jarras, and Bernard Moulin. Systèmes multi-agents : principes
généraux et applications. Edition Hermès, 2001.
[CDK+01] Robit Chandra, Leonardo Dagum, Dave Kohr, Dror Maydan, Jeff McDonald, and
Ramesh Menon. Parallel Programming in OpenMP. Morgan Kaufmann Publishers
Inc., San Francisco, CA, USA, 2001.
[CGH+12] Simon Coakley, Marian Gheorghe, Mike Holcombe, Shawn Chin, David Worth, and
Chris Greenough. Exploitation of High Performance Computing in the FLAME
Agent-Based Simulation Framework. In Geyong Min, Jia Hu, Lei (Chris) Liu, Laurence
Tianruo Yang, Seetharami Seelam, and Laurent Lefevre, editors, HPCC-ICESS,
pages 538–545. IEEE Computer Society, 2012.BIBLIOGRAPHIE 151
[CGU+11] José M. Cecilia, José M. Garcia, Manuel Ujaldon, Andy Nisbet, and Martyn Amos.
Parallelization Strategies for Ant Colony Optimisation on GPUs. In IPDPS Workshops,
pages 339–346. IEEE, 2011.
[CKQ+07] Jean-Christophe Castella, Suan Pheng Kam, Dang Dinh Quang, Peter H. Verburg, and
Chu Thai Hoanh. Combining top-down and bottom-up modelling approaches of land
use/cover change to support public policies : Application to sustainable management
of natural resources in northern Vietnam. Land Use Policy, 24(3) :531 – 545, 2007.
Integrated Assessment of the Land System : The Future of Land Use.
[clp] clpp : OpenCL Data Parallel Primitives Library. https://code.google.com/p/clpp/. [En
ligne ; vérifié le 26 avril 2014].
[CN11] Nicholson Collier and Michael North. Repast HPC : A platform for large-scale agentbased
modeling. Wiley, 2011.
[Cor12] Nvidia Corporation. OpenCL Best Practices Guide. http://www.nvidia.
com/content/cudazone/CUDABrowser/downloads/papers/NVIDIA_OpenCL_
BestPracticesGuide.pdf, 2012. [En ligne ; vérifié le 26 avril 2014].
[cud09] NVIDIA CUDA C Programming Best Practices Guide CUDA Toolkit 2.3. NVIDIA
Corporation, 2009.
[DARG12] Denis Demidov, Karsten Ahnert, Karl Rupp, and Peter Gottschling. Programming
CUDA and OpenCL : A Case Study Using Modern C++ Libraries. CoRR,
abs/1212.6326, 2012.
[Del13] Audrey Delévacq. Métaheuristiques pour l’optimisation combinatoire sur processus
graphiques (GPU). Thèse de doctorat, Université de Reims Champagne-Ardenne,
France, February 2013.
[Dem] D. Demidov. VexCL : Vector Expression Template Library
for OpenCL. http://www.codeproject.com/Articles/415058/
VexCL-Vector-expression-template-library-for-OpenCL. [En ligne ; vérifié le
27 avril 2014].
[DLMK09] Roshan M. D’Souza, Mikola Lysenko, Simeone Marino, and Denise Kirschner. Dataparallel
Algorithms for Agent-based Model Simulation of Tuberculosis on Graphics
Processing Units. In Proceedings of the 2009 Spring Simulation Multiconference,
SpringSim ’09, pages 21 :1–21 :12, San Diego, CA, USA, 2009. Society for Computer
Simulation International.
[DLR07] R. M. D’souza, M. Lysenko, and K. Rahmani. Sugarscape on Steroids : Simulating
Over a Million Agents at Interactive Rates. In Proceedings of the Agent 2007 Conference,
2007.
[DP93] J.E. Doran and M. Palmer. ’Contrasting models of upper palaeolithic social dynamics
: a distributed artificial intelligence approach’. In Aarhus University Press., editor,
J. Andresen, T. Madsen and I. Scollar (Eds.) : Computing the Past - Proceedings
of Computer Applications and Quantitative Methods in Archaeology Conference 1992
(CAA 92), pages pp.251–262„ 1993.
[DSJD02] Luis T. Da Silva Joao and Y. Demazeau. Vowels co-ordination model. In AAMAS,
pages 1129–1136, Italy, 2002.
[DvdHD08] Christophe Deissenberg, Sander van der Hoog, and Herbert Dawid. EURACE : A
massively parallel agent-based model of the European economy. Applied Mathematics
and Computation, 204(2) :541 – 552, 2008. Special Issue on New Approaches in
Dynamic Optimization to Assessment of Economic and Environmental Systems.BIBLIOGRAPHIE 152
[Fer95] J. Ferber. Les systèmes multi-agents : vers une intelligence collective. InterEditions,
Paris, 1995.
[fip] FIPA Specifications Published in 1997. http://www.fipa.org/repository/fipa97.html.
[En ligne ; vérifié le 26 avril 2014].
[FSN09] L. Fischer, R. Silveira, and L. Nedel. GPU Accelerated Path-Planning for Multiagents
in Virtual Environments. In Proceedings of the 2009 VIII Brazilian Symposium
on Games and Digital Entertainment, SBGAMES ’09, pages 101–110, Washington,
DC, USA, 2009. IEEE Computer Society.
[Fuj03] Richard M Fujimoto. Parallel simulation : distributed simulation systems. In Proceedings
of the 35th conference on Winter simulation : driving innovation, pages
124–134. Winter Simulation Conference, 2003.
[FVSS13] Jianbin Fang, Ana Lucia Varbanescu, Jie Shen, and Henk Sips. ELMO : A UserFriendly
API to Enable Local Memory in OpenCL Kernels. 16th Euromicro Conference
on Parallel, Distributed and Network-Based Processing (PDP 2008), 0 :375–
383, 2013.
[Gar70] M. Gardner. The fantastic combinations of John Conway’s new solitaire game “life”.
Scientific American, 223 :120–123, October 1970.
[GBHS11] Chris Gregg, Michael Boyer, Kim Hazelwood, and Kevin Skadron. Dynamic heterogeneous
scheduling decisions using historical runtime data. Workshop on Applications
for Multi-and Many-Core Processors (A4MMC), 2011.
[GCK+09] S. J. Guy, Jatin Chhugani, Changkyu Kim, Nadathur Satish, Ming C. Lin, Dinesh
Manocha, and Pradeep Dubey. ClearPath : Highly Parallel Collision Avoidance for
Multi-Agent Simulation. In ACM SIGGRAPH/EUROGRAPHICS SYMPOSIUM ON
COMPUTER ANIMATION, pages 177–187. ACM, 2009.
[GF00a] O. Gutknecht and J. Ferber. MadKit : a generic multi-agent platform. In Proceedings
of the fourth international conference on Autonomous agents, AGENTS ’00, pages
78–79, New York, NY, USA, 2000. ACM.
[GF00b] Olivier Gutknecht and Jacques Ferber. The MADKIT Agent Platform Architecture.
In In Agents Workshop on Infrastructure for Multi-Agent Systems, pages 48–55, 2000.
[GGDK09] Stéphane Galland, Nicolas Gaud, Jonathan Demange, and Abderrafiaa Koukam. Environment
Model for Multiagent-Based Simulation of 3D Urban Systems. 2009.
[Gut01] Olivier Gutknecht. Proposition d’un modèle organisationnel générique de systèmes
multi-agents. PhD thesis, Universite de Montpellier II, Montpellier, France, 2001.
[Hag73] P. Haggett. Analyse spatiale en géographie humaine. Armand Colin, Paris, 1973.,
62(1) :125–127, 1973.
[HCS06] Mike Holcombe, Simon Coakley, and Rod Smallwood. A General Framework for
agent-based modelling of complex systems. In Proceedings of the 2006 European
Conference on Complex Systems, 2006.
[HNR68] P.E. Hart, N.J. Nilsson, and B. Raphael. A Formal Basis for the Heuristic Determination
of Minimum Cost Paths. Systems Science and Cybernetics, IEEE Transactions
on, 4(2) :100–107, July 1968.
[Jac98] Henrik Klinge Jacobsen. Integrating the bottom-up and top-down approach to energyeconomy
modelling : the case of Denmark. Energy Economics, 20(4) :443 – 461,
1998.BIBLIOGRAPHIE 153
[JGLG09] J.-I. Benavides J. Gómez-Luna, J.-M. González-Linares and N. Guil. Parallelization
of a Video Segmentation Algorithm on CUDA—Enabled Graphics Processing Units.
In 15th Euro-Par Conference, pages 924–935, Berlin, Heidelberg, 2009. SpringerVerlag.
[JOF03] H. Van Dyke Parunak J. Odell and M. Fleischer. Software engineering for largescale
multi-agent systems. chapter The role of roles in designing effective agent
organizations, pages 27–38. Springer-Verlag, Berlin, Heidelberg, 2003.
[Joh12] Haakan Johansson. Volume Raycasting Performance Using DirectCompute. http:
//hgpu.org/?p=9050, 2012. [En ligne ; vérifié le 26 avril 2014].
[Khr08] Khronos OpenCL Working Group. The OpenCL Specification, version 1.0.29, 8 December
2008.
[KRH+10] M. Kiran, P. Richmond, M. Holcombe, L. S. Chin, D. Worth, and C. Greenough.
FLAME : simulating large populations of agents on parallel hardware architectures.
In Proceedings of the 9th International Conference on Autonomous Agents and Multiagent
Systems : volume 1 - Volume 1, AAMAS ’10, pages 1633–1636, Richland, SC,
2010. International Foundation for Autonomous Agents and Multiagent Systems.
[KRR10] T. Karmakharm, P. Richmond, and D. Romano. Agent-based Large Scale Simulation
of Pedestrians With Adaptive Realistic Navigation Vector Fields. In Theory and
Practice of Computer Graphics (TPCG) 2010, pages 67–74, 2010.
[KSL+12] Jungwon Kim, Sangmin Seo, Jun Lee, Jeongho Nah, Gangwon Jo, and Jaejin Lee.
SnuCL : An OpenCL Framework for Heterogeneous CPU/GPU Clusters. In Proceedings
of the 26th ACM International Conference on Supercomputing, ICS ’12, pages
341–352, New York, NY, USA, 2012. ACM.
[Mae90] P. Maes. Designing Autonomous Agents : Theory and Practice from Biology to Engineering
and Back. A Bradford book. MIT Press, 1990.
[MBF02] Fabien Michel, Pierre Bommel, and Jacques Ferber. Simulation distribuée interactive
sous MadKit. In JFSMA, pages 175–178, 2002.
[McF87] D. McFarland. The Oxford companion to animal behaviour. Oxford Paperback Reference.
Oxford University Press, 1987.
[MCM12] Longfei Ma, Xue Chen, and Zhouxiang Meng. A performance Analysis of the Game
of Life based on parallel algorithm. CoRR, abs/1209.4408, 2012.
[Mes09] Message Passing Interface Forum. MPI : A Message-Passing Interface Standard,
Version 2.2. Specification, September 2009.
[MFD09] Fabien Michel, Jacques Ferber, and Alexis Drogoul. Multi-Agent Systems and Simulation
: a Survey From the Agents Community’s Perspective. In Adelinde Uhrmacher
Danny Weyns, editor, Multi-Agent Systems : Simulation and Applications, Computational
Analysis, Synthesis, and Design of Dynamic Systems, page 47. CRC Press -
Taylor & Francis, May 2009.
[MGR+11] Perhaad Mistry, Chris Gregg, Norman Rubin, David Kaeli, and Kim Hazelwood. Analyzing
Program Flow Within a Many-kernel OpenCL Application. In Proceedings of
the Fourth Workshop on General Purpose Processing on Graphics Processing Units,
GPGPU-4, pages 10 :1–10 :8, New York, NY, USA, 2011. ACM.
[Mic02] Fabien Michel. Introduction to Turtlekit : A Platform for Building Logo Based MultiAgent
Simulations with Madkit. Technical Report 9557, 2002.BIBLIOGRAPHIE 154
[Mic13] Fabien Michel. Intégration du calcul sur GPU dans la plate-forme de simulation
multi-agent générique TurtleKit 3. In Salima Hassas and Maxime Morge, editors,
JFSMA, pages 189–198. Cepadues Editions, 2013.
[net] NetLogo Models Library : Life. http://ccl.northwestern.edu/netlogo/models/Life. [En
ligne ; vérifié le 26 avril 2014].
[NSL+11] Veynu Narasiman, Michael Shebanow, Chang Joo Lee, Rustam Miftakhutdinov, Onur
Mutlu, and Yale N. Patt. Improving GPU Performance via Large Warps and Twolevel
Warp Scheduling. In Proceedings of the 44th Annual IEEE/ACM International
Symposium on Microarchitecture, MICRO-44, pages 308–317, New York, NY, USA,
2011. ACM.
[ope] OpenCL 1.2 Reference Pages - Restrictions. http://www.khronos.org/registry/cl/sdk/
1.2/docs/man/xhtml/restrictions.html. [En ligne ; vérifié le 26 avril 2014].
[pan] Pandora : An HPC Agent-Based Modelling framework. https://www.bsc.es/
computer-applications/pandora-hpc-agent-based-modelling-framework. [En ligne ;
vérifié le 26 avril 2014].
[rep] Repast HPC Manual. repast.sourceforge.net/docs/RepastHPCManual.pdf. [En ligne ;
vérifié le 26 avril 2014].
[Rey87] Craig W. Reynolds. Flocks, Herds and Schools : A Distributed Behavioral Model. In
Proceedings of the 14th Annual Conference on Computer Graphics and Interactive
Techniques, SIGGRAPH ’87, pages 25–34, New York, NY, USA, 1987. ACM.
[RHK06] Sebastian Rodriguez, Vincent Hilaire, and Abder Koukam. A Holonic Approach to
Model and Deploy Large Scale Simulations. In Luis Antunes and Keiki Takadama,
editors, MABS, volume 4442 of Lecture Notes in Computer Science, pages 112–127.
Springer, 2006.
[Ric11] Paul Richmond. FLAME GPU Technical Report and User Guide (CS-11-03). Technical
report, Department of Computer Science, University of Sheffield, 2011.
[RR08] P. Richmond and D. Romano. A High Performance Framework For Agent Based
Pedestrian Dynamics on GPU hardware. European Simulation and Modelling, 2008.
[RRB+08] Shane Ryoo, Christopher I. Rodrigues, Sara S. Baghsorkhi, Sam S. Stone, David B.
Kirk, and Wen-mei W. Hwu. Optimization Principles and Application Performance
Evaluation of a Multithreaded GPU Using CUDA. In Proceedings of the 13th ACM
SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP
’08, pages 73–82, New York, NY, USA, 2008. ACM.
[RWCR10] Paul Richmond, Dawn Walker, Simon Coakley, and Daniela Romano. High performance
cellular level agent-based simulation with FLAME for the GPU. Briefings in
Bioinformatics, 2010.
[RWR10] Karl Rupp, Josef Weinbub, and Florian Rudolf. Automatic Performance Optimization
in ViennaCL for GPUs. In Proceedings of the 9th Workshop on Parallel/HighPerformance
Object-Oriented Scientific Computing, POOSC ’10, pages 6 :1–6 :6,
New York, NY, USA, 2010. ACM.
[SFF+10] Renato Silveira, Leonardo Fischer, José Antônio Salini Ferreira, Edson Prestes, and
Luciana Nedel. Path-planning for RTS games based on potential fields. In Proceedings
of the Third international conference on Motion in games, MIG’10, pages
410–421, Berlin, Heidelberg, 2010. Springer-Verlag.BIBLIOGRAPHIE 155
[SFS10] Antoine Spicher, Nazim A. Fatès, and Olivier Simonin. Translating Discrete MultiAgents
Models into Cellular Automata, Application to Diffusion-Limited Aggregation.
CCIS 67 Communications in Computer and Information Sciences series,
67 :270–282, January 2010.
[SFSV13] Jie Shen, Jianbin Fang, Henk Sips, and Ana Lucia Varbanescu. Performance Traps in
OpenCL for CPUs. In Proceedings of the 2013 21st Euromicro International Conference
on Parallel, Distributed, and Network-Based Processing, PDP ’13, pages 38–
45, Washington, DC, USA, 2013. IEEE Computer Society.
[Skl11] E. Sklar. NetLogo, a multi-agent simulation environment. Artificial Life, 13(3) :303–
311, 2011.
[SMH+10] Aamir Shafi, Jawad Manzoor, Kamran Hameed, Bryan Carpenter, and Mark Baker.
Multicore-enabling the MPJ Express Messaging Library. In Proceedings of the 8th
International Conference on the Principles and Practice of Programming in Java,
PPPJ ’10, pages 49–58, New York, NY, USA, 2010. ACM.
[SN09] D. Strippgen and K. Nagel. Multi-agent traffic simulation with CUDA. 2009 International
Conference on High Performance Computing Simulation, pages 106–114,
2009.
[TPO10] Stanley Tzeng, Anjul Patney, and John D. Owens. Task Management for Irregularparallel
Workloads on the GPU. In Proceedings of the Conference on High Performance
Graphics, HPG ’10, pages 29–37, Aire-la-Ville, Switzerland, Switzerland,
2010. Eurographics Association.
[UIN12] Akihiro Uchida, Yasuaki Ito, and Koji Nakano. An Efficient GPU Implementation
of Ant Colony Optimization for the Traveling Salesman Problem. 2013 International
Conference on Computing, Networking and Communications (ICNC), 0 :94–102,
2012.
[VQC02] G. Vitaglione, F. Quarta, and E. Cortese. Scalability and Performance of JADE Message
Transport System. http://jade.tilab.com/papers/Final-ScalPerfMessJADE.pdf?,
2002. [En ligne ; vérifié le 27 avril 2014].
[WD92] Eric Werner and Yves Demazeau. The design of multi-agent systems. Decentralized
AI, 3 :3–30, 1992.
[Wei13] Robin M. Weiss. Accelerating Swarm Intelligence Algorithms with GPU-Computing.
In David A. Yuen, Long Wang, Xuebin Chi, Lennart Johnsson, Wei Ge, and Yaolin
Shi, editors, GPU Solutions to Multi-scale Problems in Science and Engineering,
Lecture Notes in Earth System Sciences, pages 503–515. Springer Berlin Heidelberg,
2013.
[Wil74] A.G. Wilson. Urban and Regional Models in Geography and Planning. A WileyInterscience
publication. John Wiley & Sons Incorporated, 1974.
[WLL+
] John Wawrzynek, Mingjie Lin, Ilia Lebedev, Shaoyi Cheng, and Daniel Burke. 1
Rethinking FPGA Computing with a Many-Core Approach.
[WRC12] Peter Wittek and Xavier Rubio-Campillo. Scalable agent-based modelling with cloud
HPC resources for social simulations. In Cloud Computing Technology and Science
(CloudCom), 2012 IEEE 4th International Conference on, pages 355–362. IEEE,
2012.
[WSTaM12] Sandra Wienke, Paul Springer, Christian Terboven, and Dieter an Mey. OpenACC :
First Experiences with Real-world Applications. In Proceedings of the 18th International
Conference on Parallel Processing, Euro-Par’12, pages 859–870, Berlin, Heidelberg,
2012. Springer-Verlag.BIBLIOGRAPHIE 156
[ZG12] L. Zaoralek and P. Gajdos. CUDA code support in multiagent platform JADE. In
Intelligent Systems Design and Applications (ISDA), 2012 12th International Conference
on, pages 546–551, Nov 2012.Résumé :
Ces dernières années ont consacré l’émergence du parallélisme dans la plupart des branches de l’informatique.
Au niveau matériel, tout d’abord, du fait de la stagnation des fréquences de fonctionnement des unités de
calcul. Au niveau logiciel, ensuite, avec la popularisation de nombreuses plates-formes d’exécution parallèle.
Une forme de parallélisme est également présente dans les systèmes multi-agents, qui facilitent la description de
systèmes complexes comme ensemble d’entités en interaction. Si l’adéquation entre ce parallélisme d’exécution
logiciel et conceptuel semble naturelle, la parallélisation reste une démarche difficile, du fait des nombreuses
adaptations devant être effectuées et des dépendances présentes explicitement dans de très nombreux systèmes
multi-agents.
Dans cette thèse, nous proposons une solution pour faciliter l’implémentation de ces modèles sur une plateforme
d’exécution parallèle telle que le GPU. Notre bibliothèque MCMAS vient répondre à cette problématique
au moyen de deux interfaces de programmation, une couche de bas niveau MCM permettant l’accès direct à
OpenCL et un ensemble de plugins utilisables sans connaissances GPU. Nous étudions ensuite l’utilisation de
cette bibliothèque sur trois systèmes multi-agents existants : le modèle proie-prédateur, le modèle MIOR et
le modèle Collemboles. Pour montrer l’intérêt de cette approche, nous présentons une étude de performance
de chacun de ces modèles et une analyse des facteurs contribuant à une exécution efficace sur GPU. Nous
dressons enfin un bilan du travail et des réflexions présentées dans notre mémoire, avant d’évoquer quelques
pistes d’amélioration possibles de notre solution.
Mots-clés : Framework de simulation, Système multi-agents, Many-core, GPU, Calcul haute performance
Abstract:
These last years have seen the emergence of parallelism in many fields of computer science. This is explained
by the stagnation of the frequency of execution units at the hardware level and by the increasing usage of
parallel platforms at the software level. A form of parallelism is present in multi-agent systems, that facilitate
the description of complex systems as a collection of interacting entities. If the similarity between this software
and this logical parallelism seems obvious, the parallelization process remains difficult in this case because of
the numerous dependencies encountered in many multi-agent systems.
In this thesis, we propose a common solution to facilitate the adaptation of these models on a parallel platform
such as GPUs. Our library, MCMAS, provides access to two programming interface to facilitate this adaptation:
a low-level layer providing direct access to OpenCL, MCM, and a high-level set of plugins not requiring any
GPU-related knowledge. We study the usage of this library on three existing multi-agent models : predator-prey,
MIOR and Collembola. To prove the interest of the approach we present a performance study for each model
and an analysis of the various factors contributing to an efficient execution on GPUs. We finally conclude on a
overview of the work and results presented in the report and suggest future directions to enhance our solution.
Keywords: Simulation framework, Multi-agents system, Many-core, GPU, High-performance computing
Bornes inferieures et superieures dans les circuits
arithmetiques
S´ebastien Tavenas
To cite this version:
S´ebastien Tavenas. Bornes inferieures et superieures dans les circuits arithmetiques. Other.
Ecole normale sup´erieure de lyon - ENS LYON, 2014. French. .
HAL Id: tel-01066752
https://tel.archives-ouvertes.fr/tel-01066752
Submitted on 22 Sep 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
en vue de l'obtention du grade de
Docteur de l’Université de Lyon, délivré par l’École Normale Supérieure de Lyon
Discipline : Informatique
Laboratoire de l’Informatique du Parallélisme
École Doctorale Informatique et Mathématiques
présentée et soutenue publiquement le 9 juillet 2014 par
Sébastien TAVENAS
_______________________________________________________________________________
Bornes inférieures et supérieures dans les circuits arithmétiques
_______________________________________________________________________________
Directeur de thèse : Pascal KOIRAN
Après avis de : Markus BLÄSER
Neeraj KAYAL
Mohab SAFEY EL DIN
Devant la commission d'examen formée de :
Frédéric BIHAN Université de Savoie Membre
Markus BLÄSER Universität des Saarlandes Rapporteur
Étienne GRANDJEAN Université de Caen Basse-Normandie Membre
Pascal KOIRAN École normale supérieure de Lyon Directeur
Natacha PORTIER École normale supérieure de Lyon Co-encadrante
Mohab SAFEY EL DIN Université Pierre et Marie Curie Rapporteur2Table des matières
Table des matières 3
Introduction 1
1 Préliminaires 7
1 Polynômes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Propriétés élémentaires des polynômes . . . . . . . . . . . . . 8
1.2 Fractions rationnelles . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Polynômes classiques . . . . . . . . . . . . . . . . . . . . . . . 9
2 Circuits arithmétiques . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1 Les circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Degré formel . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Arbres monomiaux . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Notations en profondeur constante . . . . . . . . . . . . . . . 14
3 Classes de Valiant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1 Un soupçon de complexité booléenne . . . . . . . . . . . . . . 15
3.2 Classes VP, VNP . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Classes sans constantes . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Polynômes complets . . . . . . . . . . . . . . . . . . . . . . . 19
2 Profondeur bornée 21
1 Les formules de Ryser, Glynn et Fischer . . . . . . . . . . . . . . . . 23
2 Quelques bornes inférieures . . . . . . . . . . . . . . . . . . . . . . . 24
2.1 Comptage de monômes . . . . . . . . . . . . . . . . . . . . . . 24
2.2 Quasi-optimalité des formules de Ryser et de Glynn . . . . . . 25
2.3 Quelques résultats récents de bornes inférieures . . . . . . . . 27
3 Bornes supérieures pour circuits homogènes . . . . . . . . . . . . . . 28
3.1 Propositions sur les circuits arithmétiques . . . . . . . . . . . 29
3.2 Réduction à la VSBR . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Réduction à une profondeur bornée constante . . . . . . . . . 33
4 Bornes supérieures pour circuits non homogènes . . . . . . . . . . . . 36
3 Variantes de la τ -conjecture 39
1 Transfert de bornes inférieures . . . . . . . . . . . . . . . . . . . . . . 41
1.1 Quelques définitions de classes booléennes . . . . . . . . . . . 41
1.2 Les polynômes définissables . . . . . . . . . . . . . . . . . . . 42
1.3 Preuve du théorème 3.3 . . . . . . . . . . . . . . . . . . . . . 44
2 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3TABLE DES MATIÈRES
2.1 Raffinement de la τ -conjecture réelle . . . . . . . . . . . . . . 47
2.2 Différentes τ -conjectures . . . . . . . . . . . . . . . . . . . . . 48
2.3 Problèmes fg + 1 . . . . . . . . . . . . . . . . . . . . . . . . . 54
4 Premiers résultats sur les τ -conjectures 57
1 Équivalence de la version monotone . . . . . . . . . . . . . . . . . . . 57
2 Polygones de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.1 Bornes supérieures grâce à la convexité . . . . . . . . . . . . . 62
5 Approche par le wronskien 65
1 Zéros des wronskiens . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
1.1 Borner les zéros des sommes par les zéros des wronskiens . . . 68
1.2 Seconde version de la borne supérieure . . . . . . . . . . . . . 70
2 Retour aux sommes de produits de polynômes . . . . . . . . . . . . . 71
2.1 Dérivées d’une puissance . . . . . . . . . . . . . . . . . . . . . 72
2.2 Application aux P Q VP Q . . . . . . . . . . . . . . . . . . 73
2.3 Applications à d’autres modèles . . . . . . . . . . . . . . . . . 76
3 Algorithmes pour le test d’identité polynomiale . . . . . . . . . . . . 78
3.1 Algorithmes PIT à boîte noire . . . . . . . . . . . . . . . . . . 79
3.2 Un algorithme PIT à boîte blanche . . . . . . . . . . . . . . . 80
3.3 Deux lemmes techniques . . . . . . . . . . . . . . . . . . . . . 81
4 Optimalité de la borne . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6 Problème de Sevostyanov 89
1 Outils techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
1.1 Les dérivées d’une puissance . . . . . . . . . . . . . . . . . . . 91
1.2 Les dérivées d’une fonction algébrique . . . . . . . . . . . . . . 92
1.3 Versions réelles pour le théorème de Bézout . . . . . . . . . . 94
1.4 Décomposition cylindrique algébrique pour un polynôme bivarié 96
2 Intersection d’une courbe creuse et d’une courbe dense . . . . . . . . 97
Bibliographie 103
4Introduction
Commençons ce manuscrit par une simple question. Comment fait-on pour chercher
un mot dans un dictionnaire ? On identifie la première lettre du mot et on
la compare à la première lettre des mots sur la page où le dictionnaire est ouvert.
Puis, selon leur position relative dans l’ordre alphabétique, on tourne les pages vers
l’avant ou vers l’arrière jusqu’à ce que les premières lettres coïncident. Ensuite, on
recommence avec la deuxième lettre, puis avec la troisième, et ainsi de suite...
Ce que nous venons de décrire correspond à ce que l’on appelle un algorithme. Il
s’agit d’un procédé systématique, applicable mécaniquement, sans réfléchir, en suivant
simplement un mode d’emploi précis. En bref, c’est une recette de cuisine qui
répond aux questions “Comment faire telle chose ?”, “Comment calculer telle opération
?”, “Comment résoudre tel problème ?”... À l’origine, pour les mathématiciens,
les algorithmes servaient plutôt à effectuer des calculs sur les nombres. Ainsi, les
méthodes pour calculer des additions, soustractions, multiplications ou divisions en
les posant que l’on apprend en primaire sont des algorithmes. Il en est de même par
exemple du crible d’Érathostène pour déterminer si un nombre est premier.
Bien que cette notion d’algorithme soit très ancienne, sa formalisation mathé-
matique provient des années 1930 et des travaux en particuliers de Kleene, Church,
Gödel, Herbrand, Post et Turing. Différents modèles ont été introduits comme les
fonctions récursives, le lambda-calcul, la machine de Turing ou la machine RAM.
De façon assez surprenante, il a été prouvé que tous ces modèles permettent de ré-
soudre exactement les mêmes problèmes, et qu’il existait d’autres problèmes que ces
modèles ne pouvaient pas résoudre. Ainsi est née la calculabilité, l’étude de ce qui
est calculable. L’équivalence de capacité de calculs des différents modèles a permis
de conjecturer que ces modèles étaient capables de simuler tous les autres modèles
mécaniques que l’on pourrait concevoir. Cette conjecture est connue sous le nom de
“Thèse de Church” ou “Thèse de Church-Turing”. L’apparition de l’ordinateur (qui
est une réalisation marérielle de la machine RAM) dès la seconde guerre mondiale
fut un grand succès de ces travaux.
Avec l’arrivée des premiers ordinateurs est apparue la notion d’efficacité des algorithmes.
Ainsi, peut-on réllement dire qu’un algorithme nécessitant un temps de
calcul de plusieurs milliers d’années soit “efficacement” calculable ? D’après Hartmanis
et Stearn, l’efficacité d’un algorithme doit être mesurée comme une fonction de
la taille de ses entrées. L’efficacité d’un algorithme se mesure alors par le nombre
de ressources qu’il utilise (comme le nombre d’opérations ou le nombre de cases
mémoires) en fonction de la taille des entrées. C’est le début de la théorie de la
complexité. Ainsi, lorsqu’on pose une addition de deux entiers, le nombre de chiffres
que l’on écrit est au plus grossièrement trois fois plus grand que le nombre de chiffres
des entrées (on doit rajouter une ligne pour les retenues et une ligne pour la solu-
1INTRODUCTION
tion). On dira que cet algorithme est linéaire en le nombre de chiffres à écrire. En
comparaison, lorsqu’on pose une multiplication, le nombre de chiffres à écrire sera
quadratique car le nombre de lignes de chiffres sera proportionnel en le nombre de
chiffres des entrées.
Quelques années plus tard, Cobham et Edmonds ont indépendamment proposé
qu’un algorithme efficace est un algorithme qui n’effectue, dans le pire des cas, qu’un
nombre d’opérations polynomial en la taille de son entrée. La classe P est ainsi défi-
nie comme l’ensemble des problèmes qui admettent de tels algorithmes. On pourrait
en fait se demander si la classe P, qui contient des problèmes qui ont leur meilleur
algorithme en temps n
1000, correspond bien à l’ensemble des problèmes efficacement
calculables. En pratique ce modèle semble aujourd’hui assez satisfaisant puisque la
grande majorité des problèmes naturels de cette classe nécessite en fait un nombre
d’opérations en n
c avec c une constante relativement petite (disons c ≤ 5). Toutefois,
d’autres classes peuvent aussi prétendre représenter les problèmes décidables
efficacement. Par exemple, la classe P ne considère que les algorithmes déterministes,
or de nombreux algorithmes aujourd’hui utilisent des bits aléatoires. Ainsi,
la classe BPP est définie comme l’ensemble des problèmes que l’on peut résoudre en
temps polynomial en la taille des entrées en utilisant des bits aléatoires. D’autres
candidats pour la classe des problèmes résolubles efficacement viennent des modèles
non uniformes. Un modèle uniforme est un modèle (comme pour P et BPP) où les
algorithmes sont les mêmes quelque soit la taille des entrées. Dans le cas de la cryptographie,
pourrait-on dire que le problème de la factorisation soit vraiment difficile
s’il existait un algorithme très rapide capable de factoriser tous les nombres d’au
plus 100 000 bits ? Un exemple naturel de modèle de calcul non uniforme est celui
des circuits. L’ensemble des problèmes qui possèdent une suite de circuits (un pour
chaque taille d’entrée) de taille polynomiale correspond à la classe P/poly.
La question duale à celle de savoir quels problèmes peuvent être efficacement
calculables est celle de déterminer pour quels problèmes ce n’est pas le cas. Ainsi,
imaginons le problème du touriste qui arrive en France et aimerait visiter certaines
villes (par exemple Angers, Bordeaux, Caen, Clermont-Ferrand, Grenoble, Lille,
Lyon, Nancy, Nice, Paris et Rennes) mais qui n’a, à sa disposition, qu’une voiture
de location avec un forfait de 1500 kilomètres. Peut-il trouver un itinéraire passant
par toutes ces villes ne dépassant pas les 1500 kilomètres ? Ce problème, connu sous
le nom du “Voyageur de Commerce” semble difficile à implémenter efficacement sur
les ordinateurs. Aucun algorithme de complexité polynomiale résolvant ce problème
n’est aujourd’hui connu. En fait, nous pensons qu’il n’en existe pas. Mais pourquoi
cela ? Comment pourrait-on montrer la non-existence d’un tel algorithme ?
Pour commencer, notons que pour ce problème, si un itinéraire est donné, il est
facile (i.e. en temps polynomial) de vérifier s’il s’agit d’un itinéraire satisfaisant aux
critères de départ. L’ensemble des problèmes ayant cette propriété forme une classe
connue sous le nom de NP. Pourquoi pense-t-on alors qu’il n’existe pas d’algorithme
polynomial qui décide l’existence d’un tel bon itinéraire ? En fait, il a été montré que
ce problème était au moins aussi difficile que tous les autres problèmes de la classe NP
(on dit que le problème du voyageur de commerce est NP-complet). Ce qui signifie
que s’il existe un algorithme polynomial pour ce problème, alors il en existe aussi un
pour tous les autres problèmes de cette classe NP. Or la classe NP comprend un très
grand nombre de problèmes qui semblent difficiles. Depuis les premières preuves
2INTRODUCTION
de NP-complétude par Cook et Karp il y a trente ans, les chercheurs n’ont cessé
d’augmenter la liste de ces problèmes NP-complets (cf. par exemple le livre [34] pour
une liste déjà conséquente). Comme l’existence d’un algorithme polynomial pour le
problème du voyageur de commerce impliquerait l’existence d’un tel algorithme pour
tous ces autres problèmes, la communauté scientifique doute de cette existence. Mais
comment le prouver ? Résoudre cette question connue sous le nom “P 6= NP ?” (ou
conjecture de Cook) est le plus grand défi de la recherche actuelle en informatique
théorique. Cette conjecture fait partie des sept problèmes du millénaire exposés
par l’Institut Clay. Très peu d’outils existent aujourd’hui pour trouver des bornes
inférieures sur la complexité d’un problème, i.e. prouver que tel problème ne peut
pas être résolu en moins de tant d’opérations.
Un autre problème classique est celui des mariages parfaits (en anglais “perfect
matching”). Anne, Bertrand, Charles et Daniel doivent se répartir quatre gâteaux,
un au chocolat, un à la vanille, un au citron et un à la fraise. Anne et Bertrand
n’aiment pas beaucoup les fruits, mais raffolent du chocolat et de la vanille. Charles
est preneur des gâteaux au citron, à la fraise ou à la vanille, mais laisserait bien celui
au chocolat. Quant à Daniel, gourmand, sera satisfait quelque soit le gâteau qu’il
recevra. Le problème des mariages parfaits est celui de savoir s’il y a une affectation
des gâteaux qui convient aux quatre amis. Ce problème est en fait dans P. Toutefois,
la variante de ce problème qui consiste à compter le nombre de telles affectations
valables est supposée difficile (ce problème est connu #P-complet). En fait compter
ce nombre d’assignations revient à évaluer un polynôme particulier, le permanent, en
un certain point. Cela signifie qu’il est possible de résoudre ce problème en effectuant
seulement les opérations arithmétiques que sont l’addition, la soustraction ou la
multiplication. Dans ce manuscrit, nous nous intéresserons essentiellement à de tels
problèmes arithmétiques. Il est envisageable que l’utilisation d’autres opérations
(comme modifier directement les bits des nombres considérés) permette d’évaluer
ces polynômes plus rapidement, mais en pratique ce n’est généralement pas le cas
des algorithmes connus actuellement. Nous considérerons ainsi des modèles de calcul
arithmétiques, i.e. des modèles où seules les opérations arithmétiques sont utilisées.
Le modèle arithmétique probablement le plus répandu de nos jours est celui des
circuits arithmétiques. Ce modèle a été particulièrement étudié par Valiant dans les
années 70, 80. Ce dernier a introduit des classes analogues aux classes booléennes.
Ainsi, la classe VP correspond aux familles de polynômes calculables efficacement
dans ce modèle, alors que la classe VNP est l’analogue de la classe VP. Valiant montra
que le polynôme Permanent est en fait VNP-complet. La conjecture VP 6= VNP,
connue sous le nom de conjecture de Valiant fait figure de version arithmétique de
la conjecture de Cook. Toutefois, comme on se limite ici seulement aux opérations
arithmétiques, la robustesse des objets algébriques sur lesquels on travaille (comme
les anneaux ou les corps) et les nombreuses propriétés qu’ont les opérations associées
permettent d’imaginer que cette version arithmétique de la conjecture P 6= NP soit
beaucoup plus accessible.
Dans le premier chapitre, nous rappelerons les définitions et premières propriétés
autour de ces circuits arithmétiques dont nous aurons besoin dans la suite de ce
manuscrit.
Nous avons mentionné précédemment que le principal challenge en complexité
informatique est de trouver des bornes inférieures. Agrawal et Vinay [4] ont mon-
3INTRODUCTION
tré que trouver une borne inférieure en 2
o(d+d log(n/d)) pour la taille des circuits de
profondeur 4 calculant une suite de polynômes Pn de degré d à n indéterminées est
équivalent à trouver une borne inférieure (aussi en 2
o(d+d log(n/d))) pour les circuits
généraux calculant cette suite de polynômes. Ce résultat traduit que le problème
de trouver des bornes inférieures est aussi difficile dans le cas des circuits de profondeur
4 que dans le cas des circuits généraux. Depuis, beaucoup de travaux ont
été réalisés sur les circuits arithmétiques de profondeur constante (en particulier de
profondeur 3 et 4). Nous exposerons dans le deuxième chapitre les résultats sur ce
sujet. Nous commencerons par donner les résultats récents sur des bornes inférieures
non triviales pour les circuits de profondeur 4. Puis nous nous intéresserons plus particulièrement
aux bornes supérieures correspondantes et verrons que dans un grand
nombre de cas les bornes optimales ont été trouvées.
En 2007, Bürgisser [21] a montré qu’une célèbre conjecture, la τ -conjecture introduite
par Shub et Smale [92], implique une borne inférieure sur la taille des circuits
arithmétiques calculant le permanent. Cette τ -conjecture suggère qu’un polynôme
calculé par un petit circuit ne peut pas avoir beaucoup de racines entières. Cependant
cette conjecture est fausse si on considère les racines réelles au lieu des racines entières.
En effet les polynômes de Tchebychev possèdent un nombre de racines réelles
exponentiellement plus grand que la taille des circuits les calculant. Koiran [61] a
proposé une variante de cette τ -conjecture, nommée la τ -conjecture réelle. Cette
dernière stipule qu’il existe un polynôme universel p tel que les polynômes univariés
de la forme
X
k
i=1
Ym
j=1
fi,j (X)
ont au plus p(ktm) racines réelles dès que les fi,j ont au plus t monômes. L’intérêt
de cette conjecture est que, tout en impliquant encore la conjecture de Valiant, elle
considère le nombre de racines réelles, et permet d’espérer que les outils d’analyse
réelle puissent aider à la résoudre. Dans le troisième chapitre, nous étudierons cette
τ -conjecture réelle ainsi que d’autres variantes ayant toutes la propriété d’impliquer
des bornes inférieures pour le permanent. Le quatrième chapitre sera consacré à des
premiers résultats concernant deux de ces variantes : la τ -conjecture réelle monotone
ainsi que la version combinatoire.
Nous nous attarderons ensuite sur nos travaux pour tenter de prouver la τ -
conjecture réelle dans le chapitre cinq. Nous verrons alors pourquoi le wronskien
est un outil très adapté pour borner le nombre de zéros de sommes de puissances.
Même si nous sommes encore loin de prouver la τ -conjecture réelle, nous montrerons
comment obtenir des bornes sur le nombre de racines pour des polynômes de la forme
X
k
i=1
Ym
j=1
(fi,j (X))αi,j
où les fi,j ont au plus t monômes. Ces bornes améliorent à la fois les résultats de
Khovanski˘ı [59] sur ce sujet et les résultats précédents de Grenet, Koiran, Portier
et Strozecki [38]. Ces outils sont assez robustes et permettent d’améliorer les bornes
supérieures connues sur le nombre de racines pour d’autres familles de polynômes.
4INTRODUCTION
Enfin, au chapitre six, nous essaierons d’utiliser la pleine puissance des outils
développés au chapitre cinq pour attaquer les variantes “creuses” du théorème de
Bézout. Dans le corps des complexes, le nombre de racines d’un polynôme est borné
par son degré. La règle des signes de Descartes assure, elle, que le nombre de racines
réelles est aussi borné par le nombre de termes du polynôme. Par ailleurs, pour
un système de plusieurs équations, le théorème de Bézout affirme que le nombre
de solutions complexes, s’il est fini, est borné par le produit des degrés des diffé-
rents polynômes. Qu’en est-il alors du cas d’un système de polynômes creux ? Cette
question a été soulevée par Kushnirenko en 1977. Les résultats de Khovanski˘ı sur la
théorie des “fewnomials” assurent que le nombre de solutions réelles est borné par
une fonction du nombre de termes. Cependant cette fonction est exponentielle en le
nombre de termes. La question de savoir s’il existe une borne supérieure polynomiale
en le nombre de termes comme pour le théorème de Bézout est encore largement
ouverte. Dans ce même chapitre nous examinerons un cas particulier, celui d’un système
d’un polynôme de petit degré avec un polynôme creux. Nous montrerons que
dans ce cas, il existe effectivement une borne supérieure polynomiale sur le nombre
de composantes connexes des solutions.
Notations
Dans ce manuscrit nous utiliserons abondamment la notation de Landau pour
apprécier le comportement asymptotique de nos mesures. Par comportement asymptotique,
nous sous-entendons en fait le comportement des fonctions au voisinage de
+∞. Si f et g sont des fonctions R → R, on dira que f = O(g) s’il existe deux réels
positifs c et N tels que pour tout n ≥ N, on ait f(n) ≤ cg(n). De plus, on notera
f = o(g) si pour tout réel positif ε, il existe un réel N tel que pour tout n ≥ N, on ait
f(n) ≤ εg(n). Ces notations permettent de borner supérieurement le comportement
asymptotique de f. Il existe des notations symétriques pour les bornes inférieures.
Ainsi, on notera f = Ω(g), respectivement f = ω(g) si g = O(f), respectivement
g = o(f). Enfin, la notation f = Θ(g) exprime que f = O(g) et g = O(f), i.e. que f
et g sont de même ordre de grandeur. Finalement nous utiliserons la même notation
dans le cas de fonctions de Z → R.
5INTRODUCTION
6Chapitre 1
Préliminaires : notations et
introduction à la théorie de Valiant
Dans ce chapitre, nous définirons les outils ainsi que les notations que nous allons
utiliser dans la suite de ce manuscrit. Nous donnerons ensuite une brève introduction
à la théorie des circuits arithmétiques (appelée généralement théorie de Valiant).
Toutefois, nous considérerons ici seulement les bases et les résultats qui nous seront
utiles pour la suite. Pour un aperçu plus complet de cette théorie, le lecteur interessé
pourra se tourner vers les références suivantes [19, 23, 35, 91].
L’idée de cette théorie est de mesurer la complexité des polynômes en termes
de nombres d’opérations arithmétiques à effectuer. Commençons par fixer quelques
notations pour les polynômes.
1 Polynômes
Un polynôme univarié f est défini comme une expression de la forme
f = c0 + c1X + c2X
2 + . . . + cdX
d =
X
d
i=0
ciX
i
où les ci (pour 0 ≤ i ≤ d) sont des éléments d’un anneau commutatif A avec
cd 6= 0 et où X est un symbole formel appelé indéterminée (ou même variable). La
constante d est appelée le degré (notée aussi deg(f)) et les (ci)0≤i≤d les coefficients
de f. Par convention, le degré du polynôme nul sera −∞. L’ensemble des polynômes
à coefficients dans un anneau A est encore un anneau et sera noté A[X].
Remarque 1.1. Dans la suite du manuscrit, les anneaux seront toujours supposés
unitaires et commutatifs.
Un polynôme est donc une somme de termes où chaque terme est le produit
d’un coefficient ci et d’un monôme Xi
. Les coefficients cd (où d est le degré) et c0
sont traditionnellement appelés respectivement le coefficient dominant et le terme
constant.
Si A est un sous-anneau de B, alors, on associera à un polynôme f sa fonction
7CHAPITRE 1. PRÉLIMINAIRES
polynomiale sur B. Il s’agit de la fonction :
f : B → B
x 7→ c0 + c1x + . . . + cdx
d
.
En fait, nous nous intéresserons essentiellement dans la suite à des anneaux très
simples. En particulier A correspondra généralement à Z ou Q et B sera R ou C.
Les polynômes multivariés sont des polynômes en plusieurs indéterminées. Il s’agit
d’expression de la forme
f = c0,0,...,0 + c1,0,...,0X1 + . . . + c0,0,...,1Xn + . . . + ci1,i2,...,inX
i1X
i2
· · · X
in
=
X
α∈Nn
cαXα
où la somme est finie. Les coefficients ci1,i2,...,in
sont encore des éléments d’un anneau
A. Le coefficient c0,0,...,0 sera encore appelé le terme constant. Le degré d’un monôme
m = Xα1
· · · Xαn sera alors défini par deg(m) = Pn
i=1 αi
. Le degré total du polynôme
sera le maximum des degrés de ses monômes, c’est-à-dire deg(f) = maxα(α1 + . . . +
αn). Un polynôme est dit homogène si tous les termes associés à un coefficient non
nul ont même degré. Un polynôme est constant s’il est de degré au plus 1.
1.1 Propriétés élémentaires des polynômes
Un outil pratique pour les polynômes est la décomposition en facteurs irréductibles.
Plus formellement, si K est un corps commutatif, un polynôme f est dit
irréductible s’il est de degré au moins 1 et si pour toute écriture de f comme un
produit g · h alors, un des deux polynômes g ou h est constant. La décomposition
en facteurs irréductibles assure que pour tout polynôme f sur un corps K, il existe
des polynômes g1, . . . , gp irréductibles et une constante λ de K tels que :
f = λg1 . . . gp.
De plus, ces nouveaux polynômes sont uniques à constante multiplicative près. Un
anneau qui possède cette propriété de décomposition unique en irréductible est appelé
factoriel. La théorie sur ces anneaux est beaucoup plus générale que celle pré-
sentée ici (en particulier, pour les anneaux de polynômes, l’anneau de base n’a pas
besoin d’être un corps) et peut être trouvée dans tout livre d’algèbre.
Une racine d’un polynôme f en n variables est un point (a1, . . . , an) de A
n
tel que
f s’annule en ce point (i.e. f(a1, . . . , an) = 0). Dans le cas des polynômes univariés,
le fait que a soit une racine de f(X) est équivalent au fait que (X −a) soit un facteur
de f. Un corollaire direct de l’unicité de la décomposition en irréductibles est que
si f(X) est un polynôme non identiquement nul, alors son nombre de racines est
borné par son degré.
1.2 Fractions rationnelles
On peut tout d’abord remarquer que l’ensemble des polynômes est le plus petit
ensemble qui contient les constantes, les variables et qui est stable par les trois lois
+, − et ×. Mais que se passe-t-il si on veut rajouter les divisions ?
81. POLYNÔMES
Il est alors naturel de se placer dans le cas où l’anneau de base est un corps K
(comme pour les anneaux, nos corps seront toujours commutatifs). On définit les
fractions rationnelles comme les quotients de deux polynômes : f est fraction rationnelle
si et seulement s’il existe deux polynômes g et h (avec h non identiquement
nul) tels que f = g/h. On dira que g/h est sous forme simplifiée si g et h sont
premiers entre eux (i.e. que si un polynôme φ divise g et h, alors φ est constant). De
même que pour les polynômes, on peut associer à chaque écriture g/h la fonction
rationnelle associée (où B est un sur-corps de K) :
g/h : B → B
x 7→ g(x)/h(x).
Toute fraction rationnelle peut se mettre sous une forme simplifiée, la seule perturbation
de cette transformation est que le domaine de la nouvelle fonction associée
a potentiellement été étendu par continuité. Ces singularités qui ont disparu sont
appelées singularités effaçables. Dans la suite, les fractions rationnelles (ainsi que les
fonctions associées) seront par défaut sous forme simplifiée. On peut encore définir
les racines d’une fonction rationelle comme les points où elle s’annule. On définira
les pôles, comme les points où la fonction rationnelle est non définie. L’ensemble des
fractions rationnelles sera noté K(X1, . . . , Xn).
1.3 Polynômes classiques
Un premier exemple de polynôme est le produit itéré de matrices. Il s’agit du
produit matriciel
X
(0)t
X
(1) · · · X (d−1) où
X
(0) =
X
(0)
i
1≤i≤n
et X
(d−1) =
X
(d−1)
i
1≤i≤n
sont deux vecteurs colonnes, et pour 1 ≤ k ≤ d − 2 les
X
(k) =
X
(k)
i,j
1≤i,j≤n
sont des matrices n × n.
Le polynôme obtenu, appelé IMMn,d (le nom vient de l’anglais “Iterated Matrix
Multiplication”) est défini comme suit. Pour d, n des entiers tels que d ≥ 2
et n ≥ 1, on considère le polynôme suivant sur les (d − 2)n
2 + 2n indéterminées
X
(0)
i
, X(d−1)
i
, X(l)
i,j
pour 1 ≤ i, j ≤ n et l ∈ {1, . . . , d − 2} :
IMMn,d =
X
(i0,...,id−2)∈{1,...,n}
d−1
X
(0)
i0 X
(1)
i0,i1
· · · X
(d−2)
id−3,id−2X
(d−1)
id−2
.
Un autre exemple classique de polynôme est celui du déterminant. Les bijections
de l’ensemble {1, . . . , n} vers lui-même sont appelées permutations à n éléments. On
notera leur ensemble Sn. Soient i < j deux éléments distincts compris entre 1 et n.
On dit que la paire {i, j} est en inversion pour la permutation σ quand σ(i) > σ(j).
Une permutation est dite paire quand elle présente un nombre pair d’inversions,
impaire sinon. Par définition, la signature d’une permutation paire est 1, celle d’une
permutation impaire est −1. La signature d’une permutation σ sera notée ε(σ). Nous
9CHAPITRE 1. PRÉLIMINAIRES
pouvons enfin définir le polynôme déterminant. Soit X = (Xi,j )1≤i,j≤n la matrice de
taille n×n où chaque case correspond à une indéterminée particulière. Le polynôme
Detn =
X
σ∈Sn
(−1)ε(σ)Yn
i=1
Xi,σ(i)
est alors défini comme le déterminant de la matrice X = (Xi,j )1≤i,j≤n. Il s’agit d’un
polynôme homogène de degré n. Par exemple,
Det2 = X1,1X2,2 − X1,2X2,1.
Le déterminant ne se résume pas à la formule ci-dessous. Il s’agit d’un outil primordial
en mathématiques, à la base par exemple de l’algèbre linéaire. Muir lui a
consacré un livre [74].
On s’intéressera dans ce manuscrit plus particulièrement au permanent, un polynôme
en partie similaire au déterminant. Il est défini par :
Permn =
X
σ∈Sn
Yn
i=1
Xi,σ(i)
.
Il s’agit exactement de la formule du déterminant à laquelle on a retiré les “−1”.
Permn est aussi un polynôme homogène de degré n en n
2 variables. Même s’il est
loin d’avoir l’ampleur du déterminant en mathématiques, il a tout de même des
significations combinatoires. En particulier, si G est un graphe orienté à n sommets
où chaque arête e est pondérée par un poids π(e), alors le permanent de G compte
le nombre de couvertures par cycles. Plus précisément, une couverture par cycle C
est un sous-ensemble des arêtes couvrant G par des cycles, i.e. pour chaque sommet
v de G, exactement une arête sortante et une arête entrante de v (possiblement la
même) sont dans C.
Graphe G Couverture par cycles
(en rouge)
Cycle hamiltonien
(en rouge)
Le poids de la couverture par cycle C est le produit des poids des arêtes de C. Si
M = (mi,j )1≤i,j≤n est la matrice d’adjacence du graphe G (la case mi,j correspond
au poids associé à l’arête allant du sommet i au sommet j, s’il n’y a pas d’arête, le
poids est 0), alors le permanent de M vaut la somme des poids de C où C parcourt
l’ensemble des couvertures par cycle de G :
Permn(G) = X
C couverture
par cycles de G
Y
e arête
de C
π(e)
.
102. CIRCUITS ARITHMÉTIQUES
Le polynôme obtenu si on se restreint alors aux cycles hamiltoniens au lieu des
couvertures par cycles est appelé le hamiltonien (un cycle hamiltonien est un cycle
qui passe une et une seule fois par chaque sommet du graphe).
Hamn(G) = X
C cycle
hamiltonien de G
Y
e arête
de C
π(e)
.
2 Circuits arithmétiques
2.1 Les circuits
La façon la plus naturelle de calculer un polynôme f(x1, . . . , xn) sur un anneau
A est de commencer avec les variables x1, . . . , xn puis d’effectuer une succession
d’opérations arithmétiques basiques telles que des additions, des soustractions, des
multiplications ou des divisions (c.f. Remarque1.3) jusqu’à obtenir le polynôme dé-
siré. Un tel calcul est appelé un SLP (de l’anglais “Straight-line program”). Nous
représenterons ces SLP par des circuits arithmétiques.
Définition 1.2. Un circuit arithmétique sur un anneau commutatif A de portes
d’opération P est un graphe fini orienté acyclique avec les propriétés suivantes : les
sommets d’un circuit sont habituellement nommés portes. Ceux de degré entrant 0
sont appelés les entrées et sont étiquetés par une constante de A ou une variable. Les
autres sommets (de degré entrant > 0) sont étiquetés par des opérations de P et sont
appelés les portes de calcul ou nœuds internes. Pour une porte de calcul, le degré
entrant sera souvent noté arité. Les sommets de degré sortant 0 seront nommés les
sorties.
Enfin, nous appellerons formule, un circuit tel que le graphe sous-jacent est un
arbre.
Comme nous avons introduit les circuits comme une représentation des SLP,
il est intéressant de remarquer que la taille d’un circuit n’est rien d’autre que la
longueur du SLP correspondant.
Comme nous l’avons mentionné à la remarque 1.1, nous nous limitons dans ce
manuscrit au cas des anneaux commutatifs, mais il est aussi possible de définir les
circuits pour des anneaux non-commutatifs (voir par exemple sur ce sujet le célèbre
résultat de Nisan [75] ou la section consacrée dans [91]).
Nous utiliserons aussi le vocabulaire classique successeur/arguments pour mettre
en évidence les liens entre les portes. S’il existe une arête du graphe allant de la porte
α vers la porte β, nous dirons que α est un argument de β ou que β est un successeur
de α.
Chaque porte d’un circuit calcule un polynôme (défini par récurrence). Les polynômes
calculés par un circuit correspondent aux polynômes calculés par les sorties du
circuit. Comme dans l’exemple ci-dessous, on considérera généralement des circuits
avec une seule sortie (et donc calculant un unique polynôme).
Pour une porte α, nous noterons [α] le polynôme calculé par cette porte.
11CHAPITRE 1. PRÉLIMINAIRES
x -2 y
×
× ×
+
Circuit calculant le polynôme
f = 4x
2 − 2xy.
Remarque 1.3. Quand rien n’est signalé, l’ensemble des portes d’opérations sera
par défaut : P = {+, ×}.
Rajouter des portes de soustraction ne changera pas grand chose, vu qu’il est
possible de simuler le calcul a − b par le calcul a + ((−1) × b). Pour calculer des
polynômes, Strassen a montré ( [95], cf. lemme 1.6) que l’on pouvait aussi facilement
se passer des portes de division. Enfin, nous utiliserons aussi (au chapitre 2) les
portes de multiplication par un scalaire .
Remarque 1.4. Encore par défaut, l’arité des portes de calcul sera bornée par deux.
On mentionnera dans la suite quand l’arité des portes (essentiellement + et ×) sera
bornée par une autre valeur ou non bornée.
Comme mentionné précédemment, nous nous intéresserons à la complexité des
circuits arithmétiques. Pour cela, nous aurons besoin de “mesures” de la “taille” de
tels circuits.
Définition 1.5. La taille d’un circuit compte le nombre de portes. La profondeur du
circuit mesure la longueur maximale d’un chemin orienté depuis une entrée jusqu’à
une sortie.
Nous avons déjà mentionné précédemment que l’on peut en général se passer
des portes de division. Plus précisément, le résultat suivant a été démontré par
Strassen [95]. Une preuve peut être trouvée au chapitre 7.1 du livre [22].
Lemme 1.6. Sur un corps infini, si un polynôme f de degré d est calculable par un
circuit de portes {+, −, ×, ÷} et de taille s, alors il est aussi calculé par un circuit
de portes {+, −, ×} et de taille O(d
2
s).
Le résultat reste valide en fait pour tout corps assez grand. Hrubeš et Yehudayoff
ont généralisé ce résultat à tout corps [49].
2.2 Degré formel
Définition 1.7. Pour un circuit de portes {+, ×}, on définit, par récursivité, le
degré (formel) d’une porte :
— Le degré d’une entrée étiquetée par 0 est −∞.
— Le degré d’une entrée étiquetée par une constante non nulle est 0.
— Le degré d’une entrée étiquetée par une variable est 1.
122. CIRCUITS ARITHMÉTIQUES
— Le degré d’une porte + d’arguments α1, . . . , αp est le maximum des degrés
des portes α1, . . . , αp.
— Le degré d’une porte × d’arguments α1, . . . , αp est la somme des degrés des
portes α1, . . . , αp.
Un circuit est qualifié d’homogène si pour chacune de ses portes d’addition α,
tous les arguments de α ont le même degré.
Remarque 1.8. Dans la suite de ce manuscrit nous supposerons que les nœuds
internes ne calculent jamais le polynôme identiquement nul. Si c’est le cas, il suffit
de remplacer ces portes par des portes d’entrée étiquetées par la constante 0.
Un premier résultat découle immédiatement de la définition par récurrence des
circuits homogènes.
Lemme 1.9. Dans un circuit homogène, toutes les portes calculent des polynômes
homogènes. De plus le degré de la porte correspond au degré du polynôme homogène
calculé par la porte.
Démonstration. — Le lemme est avéré pour toutes les portes d’entrée.
— Si α est une porte + d’arguments α1, . . . , αp, alors par homogénéité, ces
arguments ont le même degré d. Par hypothèse de récurrence, les portes
α1, . . . , αp calculent des polynômes homogènes de degré d. Donc [α] est un
polynôme homogène de degré d ou −∞. Par la remarque 1.8, le degré de [α]
est d.
— Si α est une porte de multiplication d’arguments α1, . . . , αp, alors par hypothèse
de récurrence les polynômes [α1], . . . , [αp] sont homogènes et leurs
degrés correspondent au degré des portes correspondantes. Donc [α] est homogène
et le degré de [α] égale le degré de α.
Les portes correspondant à la multiplication par un scalaire sont donc des cas
particuliers de portes de multiplication. On peut rajouter maintenant une restriction
syntaxique pour que ces portes calculent bien des multiplications scalaires. Dans la
suite, ces portes sont toujours d’arité deux et au moins l’un des arguments est de
degré formel 0.
2.3 Arbres monomiaux
Pour un circuit donné à une seule sortie, nous allons définir une famille de formules
particulières que nous appellerons les arbres monomiaux. Dans l’esprit, un
arbre monomial correspond au calcul d’un monôme particulier.
Définition 1.10. L’ensemble des arbres monomiaux d’un circuit C qui a une seule
sortie o est défini par récurrence sur sa taille :
— Si C est de taille 1, il a seulement un arbre monomial, lui-même.
— Si la sortie o de C est une porte + d’arguments α1, . . . , αp, alors les arbres
monomiaux de C sont obtenus en choisissant un arbre monomial du souscircuit
enraciné en αi et l’arc reliant αi à la sortie o pour une valeur de i
dans l’ensemble {1, . . . , p}.
13CHAPITRE 1. PRÉLIMINAIRES
— Si la porte de sortie o de C est une porte de multiplication (ou une porte )
dont les arguments sont α1, . . . , αp, les arbres monomiaux de C sont obtenus
en prenant des copies disjointes pour chaque 1 ≤ i ≤ p d’un arbre monomial
enraciné en αi
, puis en prenant les p arcs reliant les portes αi à la sortie o.
Par exemple, le circuit suivant
x y
z
+
+
×
possède six arbres monomiaux.
x
z
+
+
×
y
z
+
+
×
x x
+ +
+
×
x y
+ +
+
×
y x
+ +
+
×
y y
+ +
+
×
On remarque ici qu’un arbre monomial peut avoir une taille (exponentiellement)
plus grande que celle du circuit original. Cela ne posera pas de problème dans la
suite de ce manuscrit. Toutefois, il est possible d’éviter cette explosion en travaillant
avec des circuits multiplicativement disjoints comme dans [72].
À chaque arbre monomial, on peut associer un monôme correspondant au produit
de ses feuilles.
Le lemme suivant qui montre comment revenir au circuit à partir des arbres
monomiaux provient de [72].
Lemme 1.11. Un polynôme f calculé par un circuit C correspond exactement à la
somme des monômes des arbres monomiaux :
f =
X
T arbre
monomial
m(T)
où m(T) est le monôme associé à l’arbre T.
2.4 Notations en profondeur constante
Dans le cas des circuits de profondeur constante de portes {+, ×}, l’arité des
portes sera non bornée. En fait, pour un circuit de profondeur δ, si l’arité des portes
est bornée par a, alors le polynôme calculé ne dépend que d’au plus a
δ variables. Or
comme dans le cas de la complexité booléenne, nous ne voulons pas que la taille des
entrées du problème soient bornée par une constante.
143. CLASSES DE VALIANT
Pour les circuits de profondeur constante, il est traditionnel (et très pratique) de
les partitionner en niveaux. Le niveau 0 contient les entrées, puis pour tout i ≥ 1,
le niveau i correspond à un unique opérateur et chaque porte de ce niveau a tous
ses arguments dans le niveau i − 1. On peut remarquer que cette transformation
est presque anodine pour les circuits à une seule sortie, de portes {+, ×} (plus
précisément, elle n’augmente pas la profondeur p et multiplie la taille par au plus
p).
Nous utiliserons quelques notations pratiques qui sont définies dans l’article [45].
Un circuit, par exemple de profondeur 4, tel que les portes des niveaux 1 et 3 sont des
portes de multiplication et les portes de niveau 2 et 4 sont des portes d’addition est
noté : circuit P QP Q. De plus un circuit P Q[α] P[β] Q
correspond à un circuit
de type P QP Q où l’arité des portes de multiplication au niveau 3 est borné par α
P Q
et l’arité des portes d’addition du niveau 2 est borné par β. Par exemple, un circuit
[α] P[β] Q
calcule un polynôme de la forme :
X
t
i=1
Yui
j=1
Xvi,j
k=1
wY
i,j,k
l=1
xi,j,k,l
où ui ≤ α, vi,j ≤ β.
De même, nous aurons besoin de portes d’exponentiation V
. Nous ne les avons
pas définies précédemment car elles ne serviront que dans le cas des circuits de
profondeur bornée. Elles correspondent à l’opérateur “puissance”. Par exemple un
circuit P V[γ] P calcule des polynômes de la forme :
X
t
i=1 Xvi
j=1
xi,j!ui
où les exposants ui sont bornés par γ.
3 Classes de Valiant
3.1 Un soupçon de complexité booléenne
Commençons ce chapitre par une petite digression sur la complexité booléenne.
En fait, dans la suite, seul le chapitre 3 nécessitera quelques outils de cette théorie.
L’intérêt ici est aussi de donner au lecteur une petite intuition des classes P
et NP avant d’aller voir les classes VP et VNP qui en seront inspirées. De plus, on
supposera connue la définition d’une machine de Turing (le lecteur pourra sinon,
pour l’intuition, imaginer la machine de Turing comme un ordinateur ou un programme
informatique). D’ailleurs, beaucoup plus d’informations sur la complexité
booléenne (comme la définition des machines de Turing) pourront être trouvées dans
les références [7, 37, 79, 82].
Définition 1.12. L’ensemble {0, 1}
? désigne l’ensemble des mots finis sur l’alphabet
{0, 1}. Par exemple 011 et 00000 sont deux mots de {0, 1}
?
. Le premier est un mot
de longueur 3, le second, un mot de longueur 5. On utilisera la notation |x| pour
désigner la taille du mot x. Un langage est une partie de {0, 1}
?
.
15CHAPITRE 1. PRÉLIMINAIRES
Nous pouvons maintenant définir la classe P constituée des langages supposés
“facilement calculables”.
Définition 1.13. La classe P contient l’ensemble des langages A tels qu’il existe
une constante c et une machine de Turing M telles que
— sur toute entrée x ∈ {0, 1}
?
, M(x) fonctionne en temps ≤ |x|
c + c,
— M reconnaît le langage A, i.e. x ∈ A ⇔ M(x) = 1.
Une des plus grandes réussites de cette théorie réside dans la classe NP. Dans
l’idée, un langage A est dans cette classe, lorsque l’appartenance d’un mot à A est
facilement vérifiable.
Définition 1.14. On définit la classe NP comme l’ensemble des langages A tels qu’il
existe un polynôme p et un langage B ∈ P où
x ∈ A ⇔ ∃y ∈ {0, 1}
p(|x|)
,(x, y) ∈ B.
Le succès de la classe NP vient du fait que de nombreux langages ont été prouvés
NP-complets (comprendre, au moins aussi difficiles que tous les autres de cette
classe). Le livre référence sur le sujet est [34]. On conjecture que les deux classes
précédentes sont distinctes, i.e. que les problèmes NP-complets n’ont pas d’algorithme
de complexité polynomiale, mais cette question reste toujours ouverte. Cette
conjecture figure dans la liste des sept problèmes du millénaire rédigée par l’Institut
de mathématiques Clay.
Conjecture 1.15. Les classes P et NP sont distinctes.
3.2 Classes VP, VNP
Nous sommes en mesure de définir les classes de complexité du modèle de Valiant
[99, 100]. Puisqu’on veut mesurer la complexité comme une fonction de la
taille des entrées, on considérera en fait des suites infinies de polynômes comme
(Detn)n∈N. Ces suites de polynômes (Pn) seront calculées par des suites de ciruits
Cn si et seulement si pour tout n, le circuit Cn calcule le polynôme Pn. Au début,
nous considérerons bien ces suites de polynômes, mais rapidement, par abus de notation,
nous identifierons ces suites aux polynômes : ainsi, par exemple, on parlera
du polynôme Detn pour parler de la suite (Detn)n∈N.
Comme dans le modèle booléen, nous aurons besoin d’une notion de réduction.
Définition 1.16. Un polynôme f est une projection d’un polynôme g si k ≤ l et si
f(X1, . . . , Xk) = g(Y1, . . . , Yl)
où les Yi sont soit des variables Xi
, soit des constantes de A.
La suite de polynômes (fn) est une projection polynomiale de la suite de polynômes
(gn) s’il existe un polynôme p tel que pour tout n, le polynôme fn soit une
projection du polynôme gp(n)
.
Les définitions des classes VP et VNP sont basées sur celles des classes booléennes
P et NP (le V rajouté est pour Valiant). Intuitivement, nous voulons définir VP
comme l’ensemble des suites de polynômes calculables par des circuits de taille
163. CLASSES DE VALIANT
polynomiale. On va en fait rajouter une autre contrainte sur VP : nous voulons que
le degré des polynômes de cette classe soit aussi polynomialement borné. Pourquoi
rajouter une telle contrainte ? L’idée derrière est encore que l’on souhaite que VP
ressemble à P. Les fonctions calculables polynomialement par une machine de Turing
sont telles que la taille de leur sortie est polynomialement bornée par la taille de
leur entrée. Ce n’est pas le cas des polynômes de degré exponentiel. Cependant dans
le modèle des circuits, la multiplication et l’addition coûtent toujours un temps
constant, quelque soit la taille des entrées. En particulier, il est possible de calculer
des polynômes de degré exponentiel par des circuits de taille polynomiale, comme
le montre le circuit suivant de taille n :
X
×
.
.
.
×
n portes Circuit calculant
le polynôme X2
n−1
.
Commençons par la définition de la classe VP.
Définition 1.17. Soit A un anneau commutatif. La suite Cn de polynômes (fn) est
dans VPA s’il existe des polynômes p, q et r et une suite de circuits arithmétiques
sur A de portes {+, ×} tels que pour tout n, les propriétés suivantes sont avérées :
— le nombre de variables de fn est borné par p(n),
— le degré de fn est borné par q(n),
— le circuit Cn calcule fn
— et la taille de Cn est bornée par r(n).
Suivant la tradition, on pose VP = VPQ.
Considérons par exemple la famille (Detn). Le nombre de variables ainsi que le
degré de ces circuits est polynomialement borné. La méthode du pivot fournit directement
un circuit de portes {+, ×, −, ÷} de taille O(n
3
). D’après la remarque 1.1 et
le lemme 1.6, il existe un circuit arithmétique de portes {+, ×} de taille O(n
5
). En
particulier, (Detn) ∈ VP.
Un autre exemple de polynôme est le produit itéré de matrices IMMn,n. Comme
le produit de deux matrices se fait directement en utilisant O(n
3
) opérations, il est
facile de vérifier que IMMn,n ∈ VP.
La classe VNP correspond alors à la classe NP. L’idée de la définition est de
partir de la définition par certificats de la classe booléenne NP et de remplacer le
“∃y ∈ {0, 1}
p(n)
” par une somme P
y∈{0,1}
p(n) .
Définition 1.18. Soit A un anneau commutatif. La suite de polynômes (gn) est dans
VNPA s’il existe une suite de polynômes (hn) ∈ VPA et un polynôme p tels que
gn(x) = X
ε∈{0,1}
p(n)
hn(x, ε)
17CHAPITRE 1. PRÉLIMINAIRES
De même on note VNP la classe VNPQ.
Les suites de polynômes (Permn) et (Hamn), définies à la section 1 sont des
exemples d’éléments de la classe VNP (une preuve pourra être trouvée par exemple
dans [19]) :
Lemme 1.19. Pour tout anneau A, on a (Permn), (Hamn) ∈ VNPA.
En fait, il est possible de se passer, a priori, de la borne sur le degré des polynômes
fn en considérant que la “mesure” du circuit correspond à son nombre de
sommets combiné à son degré formel. Ceci évite a posteriori les polynômes de degré
exponentiel. Le prochain lemme (folklore) assure que l’on obtient les mêmes classes
en contraignant le degré formel des circuits au lieu du degré des polynômes.
Lemme 1.20. Si une suite de polynômes (fn) de degré (dn) est dans VP, alors il
existe une suite de circuits (Cn) calculant fn de taille polynomiale telle que le degré
de Cn est dn pour tout n.
3.3 Classes sans constantes
L’importance du rôle des constantes est une question intéressante. Par exemple
remarquons que pour calculer le produit itéré de matrices, aucune constante n’est utilisée.
Pour mette en évidence leur rôle, Malod introduit des variantes sans constantes
VP0
et VNP0
des classes de Valiant [71]. Par “sans constantes”, nous voulons en fait
dire utilisant seulement la constante −1. Les constantes 0 et 1 s’obtiennent facilement
à l’aide de −1 et vu que nous n’autorisons pas la soustraction, nous avons
besoin d’une constante strictement négative.
Ainsi, si un circuit a besoin d’une constante non triviale, il doit la calculer à partir
de −1. En particulier, la notion de degré formel (qui ignore le calcul des constantes)
devient alors un peu bancal. Malod [71] introduit ainsi le degré formel complet :
Définition 1.21. Le degré formel complet d’un circuit est défini par induction : les
constantes et les variables sont de degré 1 ; pour une porte d’addition on prend le
sup des degrés arrivant et pour une porte de multiplication, on en prend la somme.
Nous pouvons maintenant définir les classes VP0
et VNP0
.
Définition 1.22. fn est dans VP0
s’il existe une suite de circuits arithmétiques
— calculant fn,
— utilisant comme seule constante −1
— et de taille et de degré formel complet polynomiaux.
gn est dans VNP0
s’il existe un polynôme p tel que :
gn(x) = X
ε∈{0,1}
p(n)
hn(x, ε)
avec hn ∈ VP0
.
En fait les polynômes considérés précédemment ne nécessitent pas de constantes.
En particulier :
Detn ∈ VP0
et Permn, Hamn ∈ VNP0
.
183. CLASSES DE VALIANT
La réduction définie précédemment (la projection polynomiale) utilise les constantes
de l’anneau courant. Les classes VP0
et VNP0
ne sont donc pas stables pour cette
réduction. Nous sommes alors amenés à considérer une variante sans constante de
cette réduction [71].
Définition 1.23. Une suite de polynômes (fn) est une projection bornée d’une suite
(gn) s’il existe deux polynômes p et q tels que pour tout n :
fn(X1, . . . , Xk) = gn(Y1, . . . , Yl)
où les Yi sont soit des variables Xi
, soit des constantes calculables par des circuits
de taille et degré formel bornés par q(n) utilisant seulement la constante −1.
Une autre mesure classique quantifie la complexité des circuits sans constantes.
Il s’agit de la mesure τ introduite dans [27].
Définition 1.24. La complexité τ (f) d’un polynôme f entier (i.e. de Z[X1, . . . , Xn])
est défini comme la taille minimale d’un circuit calculant f, de portes {+, −, ×} et
utilisant seulement la constante 1.
Remarquons que la définition (traditionnelle) donnée ici ne correspond pas exactement
aux conventions actuelles. On utilise ici la constante 1, mais on autorise la
porte de soustraction. Cette mesure est en particulier restée célèbre grâce à la τ -
conjecture introduite par Shub et Smale [92]. On reviendra plus en détail sur cette
conjecture au chapitre 3.
3.4 Polynômes complets
Le problème est alors de trouver pour chaque polynôme la plus petite classe qui
la contient. Comme dans le cas booléen, les bornes inférieures non conditionnelles
sont généralement inconnues, mais on peut encore obtenir des “preuves de difficulté”
grâce à la notion de complétude.
Définition 1.25. Une suite de polynômes (fn) est VNP-complète si et seulement si
la suite (fn) fait partie de la classe VNP et pour toute suite (gn) de VNP, gn est une
projection polynomiale de fn.
On peut de même obtenir une définition de VNP0
-complétude en utilisant la classe
VNP0
au lieu de VNP et en n’autorisant que les projections polynomiales bornées.
En particulier, bien qu’on ne soit pas capable de montrer qu’un polynôme f ∈
VNP n’est pas dans VP, il est possible pour un certain nombre de polynômes, de
prouver qu’ils sont VNP-complets et donc, non supposés être dans VP. Si tel était
le cas, VNP = VP.
Valiant a montré [99] que sur tout corps K de caractéristique différente de 2, le
permanent est VNP-complet.
Théorème 1.26. Soit K un corps de caractéristique différente de 2. Alors la famille
Permn est VNP-complète.
19CHAPITRE 1. PRÉLIMINAIRES
On remarque qu’en caractéristique 2, le permanent correspond exactement au
déterminant, il tombe donc dans la classe VPK.
Plus précisément, la preuve du théorème précédent nécessite la constante 2
−1
.
Ceci explique l’hypothèse du corps de caractéristique différente de 2. L’intérêt des
classes sans constantes est justement de mettre en évidence le rôle particulier que
certaines constantes peuvent avoir. En particulier la proposition suivante généralise
le théorème 1.26 et vient de [62]. Intuitivement, il signifie que le permanent
appartient à la classe VNP0
et est presque complet pour cette classe.
Proposition 1.27. Supposons que Permn ∈ VP0
. Alors, pour toute famille (fn)
dans VNP0
, il existe un polynôme p(n) tel que la famille
2
p(n)
fn
soit dans VP0
.
Le permanent étant probablement le polynôme complet pour VNP le plus étudié,
nous suivrons la tradition dans ce manuscrit et nous l’utiliserons systématiquement
comme polynôme complet pour VNP. Toutefois, il est possible d’éviter les difficultés
provoquées par la constante 2
−1
en choisissant un autre polynôme VNP-complet
comme le hamiltonien (défini en section 1.3).
Théorème 1.28. Dans tout anneau A, le polynôme Hamn est VNP0
-complet et donc
aussi VNPA-complet.
La grande conjecture classique du domaine est que les classes VP et VNP sont
distinctes :
Conjecture 1.29 (Hypothèse de Valiant). VP 6= VNP.
La complétude du permanent assure que cette conjecture est équivalente au fait
que le permanent n’appartient pas à la classe VP, i.e. ne possède pas de circuit
arithmétique de taille polynomiale.
Les implications sont moins simples dans le cas sans constantes. En fait, si VP0 =
VNP0
alors on a Permn ∈ VP0
et si Permn ∈ VP0
alors τ (Permn) = n
O(1), mais les
réciproques ne sont pas connues. Pour la première réciproque, nous avons déjà vu que
le permanent n’est que “presque complet” pour VNP0
. Le second cas est plus subtil.
Si τ (Permn) = n
O(1), il est possible que le circuit utilise des portes de très grand
degré formel complet pour calculer des constantes. Cependant, l’astuce classique
d’homogénéisation ne semble pas être efficace contre le calcul des constantes.
Toutefois si τ (Permn) = n
O(1), alors le permanent admet une suite de circuit de
taille polynomiale et ainsi VP = VNP.
La figure suivante (directement inspirée de l’article de Bürgisser [21]) tente de
résumer les différentes implications connues.
VP0
6= VNP0
Permn ∈/ VP0
τ (Permn) = n
ω(1)
VPQ 6= VNPQ
⇔ Permn ∈/ VPQ
20Chapitre 2
Circuits de profondeur bornée
Valiant, Skyum, Berkowitz et Rackoff [101] ont prouvé que si un circuit de taille s
et de profondeur p calcule un polynôme de degré d, alors ce polynôme peut aussi être
calculé par un circuit de profondeur O(log(d)) et de taille bornée par un polynôme en
s. Ce résultat est essentiellement à la base de toutes les avancées sur la parallélisation
des circuits arithmétiques. Quelques années plus tard, Miller, Ramachandran et
Kaltofen [73] puis Allender, Jiao, Mahajan et Vinay [6] ont étudié la complexité de
cette méthode de parallélisation. À l’aide de ces résultats, Agrawal et Vinay [4] ont
prouvé que si un polynôme f n-varié de degré d = O(n) possède un circuit de taille
2
o(d+d log(n/d)), alors f peut aussi être calculé par un circuit de profondeur quatre
(
P QP Q) de taille 2
o(d+d log(n/d)). Ce résultat indique que pour prouver des bornes
inférieures dans les circuits arithmétiques ou pour dérandomiser le test d’identité
polynomial, le cas des circuits de profondeur quatre est dans un certain sens le cas
général.
L’hypothèse du résultat d’Agrawal et Vinay est assez faible : ils considèrent des
circuits de taille 2
o(d+d log(n/d)) (nous pouvons remarquer au passage que tous les
polynômes ont une formule de taille d
n+d
d
= 2O(d log( n+d
d
))). Mais, serait-il possible
d’obtenir une conclusion plus forte si on demandait des hypothèses plus fortes ?
Koiran [60] a montré que c’était effectivement le cas. Si le circuit de départ est de
taille s, alors le polynôme peut être calculé par un circuit de profondeur quatre de
taille 2
O(
√
d log(d) log(s)). Par exemple, si la famille du permanent est calculée par des
circuits de taille polynomiale (i.e. de taille n
c
), alors elle est aussi calculée par des
circuits de profondeur quatre et de taille 2
O(
√
n log2
(n)). De plus, la transformation
conserve l’homogénéité du circuit. La parallélisation semble être un outil intéressant
pour obtenir des bornes inférieures pour les circuits généraux : une borne inférieure
en 2
ω(
√
n log2
(n)) sur la taille des circuits P Q[O(
√
n)] P Q[
√
n]
calculant le permanent
implique qu’il n’y a pas de circuits de taille polynomiale pour le permanent. Et il
paraît plus facile d’obtenir des bornes inférieures pour ces circuits particuliers que
pour les circuits généraux. C’est d’ailleurs le cas. Bien qu’aucune borne inférieure
superpolynomiale ne soit encore connue pour les circuits généraux, Gupta, Kamath,
Kayal et Saptharishi [44] ont obtenu une borne inférieure superpolynomiale pour le
permanent s’appliquant à des circuits de profondeur 4 particuliers. Plus précisément,
ils ont montré que si un circuit homogène P QP Q[t]
(i.e. un circuit de profondeur
4 dont le degré entrant des portes de multiplication du premier niveau est borné par
t) calcule le permanent d’une matrice de taille n × n, alors sa taille est 2
Ω(n/t)
. En
21CHAPITRE 2. PROFONDEUR BORNÉE
particulier, un circuit homogène P QP Q[
√
n]
calculant le permanent est de taille
2
Ω(√
n)
. L’année suivante, les mêmes auteurs [45] ont trouvé comment réduire encore
un peu la profondeur des circuits. Ils montrent comment transformer des circuits à
n variables de taille s et de profondeur d (= n
O(1)) en des circuits de profondeur
3 et de taille exp(O(
√
d log s log n log d)). De plus, si l’entrée est un programme à
branchements (et non un circuit), la borne supérieure devient exp(O(
√
d log s log n)).
Ce résultat implique l’existence d’un circuit de profondeur 3 et de taille 2
O(
√
n log n)
calculant le déterminant d’une matrice n×n. Toutefois, ce résultat n’est pas comparable
aux réductions à la profondeur 4 car le circuit de profondeur 3 obtenu est non
homogène, et utilise au milieu de son calcul des portes calculant des polynômes de
très haut degré. En 2013, Fournier, Limaye, Malod et Srinivasan [31] ont obtenu une
borne inférieure de 2
Ω(√
d/tlog n) pour la taille des circuits homogènes P QP Q[t]
calculant le produit itéré de matrices. Tous ses résultats récents sur les circuits
arithmétiques peuvent être trouvés dans l’article de synthèse [58].
Dans ce chapitre, nous allons commencer par étudier des bornes inférieures sur
la taille des circuits de profondeur bornée. Nous allons voir deux résultats intermé-
diaires sur les circuits de profondeur 4 et 3, avant d’évoquer les résultats récents relatifs
à la profondeur 4. Puis dans la section suivante, nous allons nous attaquer aux ré-
sultats de parallélisation (i.e. aux bornes supérieures). Nous [98] améliorons la borne
de parallélisation de Koiran : un circuit de taille s peut être parallélisé de manière
homogène à la profondeur 4 en un circuit de taille exp(O(
p
d log(ds) log(n))). De
plus, le degré entrant de chaque porte de multiplication est borné par O
q
d
log ds
log n
.
Remarquons que comme n ≤ s, le résultat implique la borne de Koiran et est en
général meilleur : dans le cas où d, s = n
Θ(1), la borne de Koiran est 2
O(
√
n log2 n)
tandis que la nouvelle borne est 2
O(
√
n log n)
. En particulier, la nouvelle borne est optimale
puisqu’elle correspond exactment à la borne inférieure obtenue par [31]. Cela
implique aussi qu’une borne inférieure en 2
ω(
√
n log(n)) pour les circuits homogènes de
profondeur 4 calculant le permanent induit une borne inférieure super-polynomiale
pour la taille des circuits généraux calculant le permanent. En fait, nous généralisons
cette réduction au cas d’une profondeur bornée. Enfin, nous étudierons le cas des
parallélisations non homogènes introduites par Gupta, Kamath, Kayal et Saptharishi
[45]. Comme ils utilisent dans leur preuve la borne de Koiran, nous pourrons
légèrement améliorer leur borne en utilisant à la place la borne décrite plus haut.
Un circuit n-varié de taille s et de profondeur d peut être simulé par un circuit de
profondeur 3 et de taille exp
O(
p
d log(ds) log n)
. Enfin, nous remarquons que
cette parallélisation peut elle aussi être généralisée aux profondeurs constantes, ce
qui nous donnera, en particulier, le résultat intéressant que les circuits de taille s
et de degré d peuvent en fait être simulés par des circuits de profondeur 4 et de
taille (ds)
√3
d
. Cette borne est bien en-dessous des bornes inférieures connues pour
les circuits n’utilisant que des petits degrés. Cela montre bien que l’utilisation de
portes intermédiaires de très haut degré s’avère très puissante. Aujourd’hui, on ne
sait pas comment obtenir des bornes inférieures non triviales pour de tels circuits.
221. LES FORMULES DE RYSER, GLYNN ET FISCHER
1 Les formules de Ryser, Glynn et Fischer
Les travaux autour de l’hypothèse de Valiant tendent à essayer de montrer que
le permanent est difficile à calculer. Mais qu’est ce que cela veut dire plus précisé-
ment ? On entend parfois que le calcul du permanent devrait nécessiter un nombre
exponentiel d’opérations arithmétiques. Ce n’est pas encore un énoncé très précis.
Souvent (vu que le terme est suffisamment vague, c’est loin d’être toujours vrai),
on utilise le terme exponentiel pour désigner une fonction f(n) = 2θ(n
c
) pour une
constante c ≥ 1 (si c est une constante strictement inférieur à 1, on préfère habituellement
le terme sous-exponentiel). Ensuite, il pourrait être tentant (et naturel)
de paramétriser les polynômes par leur nombre de variables. Le polynôme Permn
est un polynôme en n
2 variables. La conjecture émise plus haut pourrait être décrite
plus formellement :
Conjecture (Première conjecture sur la complexité du permanent). Si Cn est une
suite de circuits de taille sn calculant Permn, alors
sn = 2Ω(n
2
)
.
Cependant, cette conjecture est trivialement fausse puisque le polynôme Permn
est une somme de (n!) monômes. Il peut être calculé par une suite de circuits de
taille n × (n!). En fait une meilleure borne existe depuis 1963 et les travaux de
Ryser [88]. Il trouva une formule simple, de taille n
22
n pour le permanent d’une
matrice A = (Ai,j )1≤i,j≤n :
Proposition 2.1 (Formule de Ryser).
Permn(A) = (−1)n X
S⊆{1,...,n}
(−1)|S|Yn
i=1
X
j∈S
ai,j .
On peut donc émettre une nouvelle conjecture. Celle-ci est encore ouverte :
Conjecture 2.2 (Conjecture sur la complexité du permanent). Si Cn est une suite
de circuits de taille sn calculant Permn, alors
sn = 2Ω(n)
.
La formule de Ryser est assez étonnante car malgré sa grande simplicité, homogène
et de profondeur 3, elle est une des formules connues les plus efficaces pour
calculer le permanent. Une autre formule, devenue classique, mais trouvée beaucoup
plus récemment par Glynn [36] possède ces mêmes propriétés :
Proposition 2.3 (Formule de Glynn).
Permn(A) = 1
2
n−1
X
ε2,...,εn∈{±1}
(−1)p(ε)Yn
i=1
ai,1 +
Xn
j=2
εjai,j!
où p(ε) = |{i | εi = −1}|.
P
Ces formules assurent que le permanent peut être calculé par des circuits de type
[2n] Q[n] P[n]
. Ce résultat est d’autant plus surprenant que le même résultat est
inconnu et plutôt conjecturé faux pour le déterminant :
23CHAPITRE 2. PROFONDEUR BORNÉE
Conjecture 2.4. Detn n’a pas de circuits de type P[2O(n)
] Q[n] P.
La formule de Glynn ressemble particulièrement à une formule plus vieille d’une
quinzaine d’années, la formule de Fischer [30] :
Lemme 2.5 (Formule de Fisher).
n! · x1x2 . . . xn =
1
2
n−1
X
r2,...,rn∈{±1}
(−1)p(r)
x1 +
Xn
i=2
rixi
!n
où p(r) = |{i | ri = −1}||.
Dans [86], les auteurs montrent que la taille de la somme (en 2
n−1
) est exactement
la taille optimale pour transformer des monômes en sommes de puissances de formes
lineaires.
En fait, comme Amir Shpilka me l’a fait remarquer lors d’une discussion, il est
facile d’obtenir la formule de Fischer à partir de celle de Glynn. Il suffit pour cela
de calculer le permanent de la matrice
x1 x2 . . . xn
.
.
.
.
.
.
.
.
.
.
.
.
x1 x2 . . . xn
qui vaut n! · x1 . . . xn.
Ainsi, on se dit que la même astuce devrait marcher en utilisant la vraie formule
de Ryser. On obtient effectivement une nouvelle formule du type de celle de Fischer :
Proposition 2.6.
n! · x1x2 . . . xn = (−1)n X
S⊆{1,...,n}
(−1)|S|
X
j∈S
xj
!n
.
2 Quelques bornes inférieures
2.1 Comptage de monômes
Nous allons commencer cette section par une borne inférieure très simple mais
relativement précise. On va montrer :
Proposition 2.7. Si une suite de circuits P[s] Q[a] P[v] Q
calcule Permn ou Detn,
alors s · v
a ≥ n!.
En particulier, si une suite de circuits P[s] Q[O(
√
n)] P[s] Q
calcule Permn ou
Detn, alors s ≥ 2
Ω(√
n log n)
.
Les bornes supérieures en a et v sur les degrés entrants des portes de multiplication
du troisième niveau et les portes d’addition du second niveau s’avérent
être cruciales. Une telle contrainte impliquera directement en général une bonne
borne inférieure seulement grâce à un argument de comptage de monômes. On peut
comparer ainsi ce résultat avec la proposition 2.10 plus loin.
242. QUELQUES BORNES INFÉRIEURES
Nous ferons la preuve dans le cas du permanent. Le cas du déterminant est complètement
identique. L’approche ici, est de transformer un tel circuit en un circuit
de profondeur 2, puis d’obtenir une borne inférieure pour le circuit de profondeur
2. En fait, dans le cas des circuits de profondeur 2, l’écriture d’un polynôme comme
une somme de produits est unique (une fois qu’on a effectué toutes les annulations
possibles). Il s’agit de la forme développée du polynôme. La taille de la somme est
alors simplement le nombre de monômes. Vu que Permn a n! monômes, on vient de
prouver
Lemme 2.8. Si un circuit P[s] Q
calcule Permn, alors s ≥ n!.
D’un autre côté, pour calculer dans un circuit P[s] Q[a] P[v] Q
une porte du
troisième niveau, il suffit de calculer un polynôme Q[a] P[v]
qui a pour entrées les
portes du premier niveau. En appellant V l’ensemble de ces entrées, les polynômes
du troisième niveau sont donc de la forme g =
Qa
i=1
Pv
j=1 zi,j avec zi,j ∈ V . Or si on
développe g, on obtient g =
P
(j1,...,ja)∈{1,...,v}
a z1,j1
. . . za,ja
. Donc on peut transformer
tout circuit P[s] Q[a] P[v] Q
en un circuit P[s] P[v
a] Q[a] Q
, c’est-à-dire un circuit
P[sva] Q
. Ceci prouve la proposition 2.7.
2.2 Quasi-optimalité des formules de Ryser et de Glynn
Dans toute la suite de cette section sur les bornes inférieures, nous utiliserons
la dimension des espaces vectoriels engendrés par certaines familles de polynômes.
Donc l’anneau de base des polynômes sera en fait un corps.
Pour obtenir des bornes inférieures, un des outils principaux est l’espace engendré
par les dérivées partielles. Nisan et Wigderson [76] ont trouvé des bornes
inférieures pour la taille des circuits homogènes de profondeur 3 calculant les polynômes
symétriques élémentaires ou le produit itéré de matrices. Ces techniques
sont développées dans les articles de synthèse [91] et [23]. Depuis 2012, cet outil est
au cœur des travaux relatifs aux bornes inférieures pour les circuits arithmétiques
homogènes de profondeur 4. Pour ce dernier point, on y reviendra un peu plus tard.
Un autre résultat, très proche de ceux de Nisan et Wigderson [76], peut être
obtenu à l’aide de ces techniques : montrer que les formules de Ryser et de Glynn
sont “presque optimales”. Après quelques discussions, ce résultat – qui découle de [76]
– semble connu de certaines personnes, mais à la connaissance de l’auteur, il n’est
écrit nulle part.
Proposition 2.9. Soit Cn une suite de circuits de type P[s] Q[n] P calculant Permn
(ou Detn), alors
s ≥
n
n/2
≥
2
n
√
2n
.
Pour les formules de Ryser et de Glynn, s vaut respectivement 2
n − 1 et 2
n−1
.
Les résultats sont donc optimaux à un facteur multiplicatif près de √
1
n
. Nous allons
donner maintenant une preuve de cette proposition. D’ailleurs, cette preuve illustre
bien l’utilisation typique des dérivées partielles.
25CHAPITRE 2. PROFONDEUR BORNÉE
Démonstration. Soit k un entier que l’on fixera plus tard. Posons X = {xi,j | 1 ≤
i, j ≤ n} l’ensemble des variables de Permn. Nous allons considérer l’espace vectoriel
engendré par les dérivées partielles kièmes du polynôme Permn. Notons h∂
=k
fi
l’espace vectoriel engendré par l’ensemble
∂
k
∂y1 . . . ∂yk
f | (y1, . . . , yk) ∈ X
k
.
La preuve se fait en deux parties. Nous allons commencer par borner inférieurement
la dimension de h∂
=kPermni, puis nous allons borner supérieurement la
dimension de tout espace h∂
=k
gi où g est un polynôme calculé par un circuit
P[s] Q[n] P.
Définissons les p-mineurs (mineurs permanentaux) de taille s × s d’une matrice
M de taille n×n comme les permanents de N où N parcourt les sous-matrices de M
obtenues en supprimant (n−s) lignes et (n−s) colonnes. Si k < n, alors les dérivées
partielles d’ordre k de Permn sont soit le polynôme nul (si on dérive deux fois dans
la même ligne ou la même colonne), soit les p-mineurs de tailles (n − k) × (n − k).
Il est facile de vérifier que chacun de ces p-mineurs de taille (n − k) × (n − k) peut
être obtenu comme une dérivée kième de Permn. De plus comme un même monôme
ne peut pas apparaître dans deux p-mineurs différents, cela signifie que la famille
des p-mineurs est une famille libre. La dimension de l’espace est donc exactement
le nombre de p-mineurs distincts. Vu qu’un p-mineur de taille (n − k) × (n − k) est
obtenu de manière unique en choisissant k lignes et k colonnes, on obtient :
dim(h∂
=kPermni) =
n
k
2
.
De l’autre côté, si g est un polynôme de degré n pouvant être exprimé de la
forme P[s] Q[n] P, alors g(x) = Ps
i=1 hi(x) où chaque hi est un produit de n formes
linéaires. De plus, notre mesure de complexité (la dimension des sous-espaces engendrés
par le dérivées partielles) est une mesure sous-additive. En effet, comme
∂g =
Pt
i=1 ∂hi
, on a
h∂
=k
gi ⊆ ev [s
i=1
h∂
=k
hii
!
où ev(A) correspond à l’espace engendré par A. D’où
dim
h∂
=k
i
≤ s · max
h
dim
h∂
=k
hi
où h parcourt les produits de taille n de formes linéaires. Posons h = l1 . . . ln avec les
li des formes linéaires. Toute dérivée kième de h est engendrée par des polynômes
li1
. . . lin−k
(où 1 ≤ i1 < . . . < in−k ≤ n). Cette famille est de taille
n
k
. D’où
dimh∂
=k
gi ≤ s
n
k
.
P
En remettant tout ensemble, on en déduit que si Permn peut être écrit comme
[s] Q[n] P, alors
n
k
2
≤ s
n
k
.
En choisissant k =
n
2
, on en déduit la proposition.
262. QUELQUES BORNES INFÉRIEURES
2.3 Quelques résultats récents de bornes inférieures
Avant d’attaquer, dans la prochaine partie, les bornes supérieures pour les circuits
de profondeur bornée, nous allons juste évoquer les bornes inférieures connues qui
vont leur faire écho.
La technique des dérivées partielles a été vraiment remise au goût du jour depuis
l’article de Gupta, Kamath, Kayal et Saptharishi [44]. Ils considèrent en fait l’espace
engendré par les dérivées partielles décalées :
h∂
=k
fi≤l =
x1 . . . xl
∂
k
∂y1 . . . ∂yk
f | (x1, . . . , xl
, y1, . . . , yk) ∈ X
k+l
.
Dans leur article, ils prouvent que :
Proposition 2.10. Tout circuit homgène P[s] QP Q[t]
qui calcule Detn (ou Permn)
doit être tel que
s ≥ 2
Ω( n
t
)
.
En particulier, tout circuit homogène P[s] QP Q[
√
n]
qui calcule Detn (ou Permn)
est tel que
s ≥ 2
Ω(√
n)
.
Le résultat fut d’autant bien accueilli que c’est la première borne inférieure superpolynomiale
pour les circuits de profondeur 4. De plus, on verra dans la prochaine
section que ce résultat est presque optimal, on peut donner une borne supérieure en
n
√
d
(où d est le degré du polynôme). La technique a alors été adaptée à d’autres
familles de polynômes. Peu après, Kayal, Saha et Saptharishi obtinrent la borne
inférieure n
√
d pour les polynômes de Nisan-Wigderson définis dans [57].
Définition 2.11. Soient n une puissance de 2 et Fn le corps fini où les n éléments
sont identifiés avec l’ensemble {1, . . . , n}. Pour tout 0 ≤ k ≤ n, le polynôme NWk
est un polynôme à n
2
inconnues de degré n défini comme suit :
NWk(x1,1, . . . , xn,n) = X
p∈Fn[t]
deg(p) 0 suffisamment petit, alors
s ≥ 2
Ω(√
n log(n))
.
27CHAPITRE 2. PROFONDEUR BORNÉE
Cette famille de polynôme fait partie de la classe VNP. Toutefois, une borne
inférieure similaire (en n
√
d
) a été trouvée pour le produit itéré de matrices. Fournier,
Limaye, Malod et Srinivasan [31] ont montré que :
Proposition 2.13. Si un circuit P[s] Q[O(D)] P Q[
√
d]
calcule le polynôme IMMn,d,
alors
s ≥ 2
Ω(√
d log(n/D))
.
Les techniques de preuve pour cette proposition ainsi que pour la proposition 2.12
ont été unifiés dans l’article [24].
Nous finirons cette présentation de l’état de l’art sur les bornes inférieures par
deux résultats tout récents. Jusqu’à présent, toutes les bornes inférieures requièrent
des bornes supérieures sur le degré entrant de certaines portes de multiplication.
Peut-on s’affranchir de telles contraintes ? On verra à la section 4 que si on s’autorise
à ce que les portes intermédiaires calculent des polynômes de très hauts degrés, alors
les bornes en n
√
d ne marchent plus du tout. Toutefois, une contrainte intermédiaire,
naturelle, pourrait être que le circuit soit homogène, sans donner de conditions
supplémentaires sur les degrés. On peut remarquer qu’une telle contrainte implique
en particulier que les portes ne calculent pas des polynômes de degré strictement plus
grand que d. Des bornes inférieures superpolynomiales ont été trouvées par Kumar
et Saraf [67], puis indépendamment par Kayal, Limaye, Saha et Srinivasan [56].
Ainsi,
Proposition 2.14. Soit Cn une famille de circuits homogènes P[s] QP Q.
— Si Cn calcule NWd
r alors s ≥ 2
Ω(√
d log d)
.
— Si Cn calcule IMMn,d avec d = Ω(log2 n), alors s ≥ n
Ω(log n)
.
— Si Cn calcule Detn, alors s ≥ n
Ω(log n)
.
3 Bornes supérieures pour circuits homogènes
Comme on l’a mentionné précédemment, il existe une borne supérieure sur la
taille des circuits de profondeur 4 calculant des polynômes de VP en n
√
d où d est
le degré. Nous allons en fait montrer un résultat un peu plus général qui traite
toutes les profondeurs constantes paires. L’idée étant que les circuits de profondeur
6 nous permettront par exemple d’obtenir une borne supérieure pour les circuits non
homogènes de profondeur 4 dans la prochaine section.
On rappelle (Remarque 1.4) que si rien n’est mentionné l’arité des portes + et
× est deux.
Théorème 2.15. Soient p un entier supérieur à 2 et f un polynôme à n variables
calculé par un circuit de taille
P Q
s et de degré d. Alors f est calculé par C, un circuit
[O(α)]
· · ·P Q[O(α)] P Q[β]
de profondeur 2p et de taille 2
O(d
1/p log(p−1)/p(ds) log1/p n)
où :
α =
d
log n
log ds1
p
et β = d
1
p
log ds
log n
p−1
p
.
De plus, si f est homogène, ce sera aussi le cas pour C.
283. BORNES SUPÉRIEURES POUR CIRCUITS HOMOGÈNES
Nous donnerons une preuve de cette parallélisation un peu plus loin, à la soussection
3.3.
Le cas de la profondeur 4 est largement le plus étudié de nos jours. Le théorème
précédent donne alors :
Théorème 2.16. Soit f un circuit à n variables calculé par un circuit de taille s et
de degré d. Alors f est calculé par un circuit P Q[O(α)] P Q[β]
de taille 2
O(
√
d log(ds) log n)
où :
α =
s
d
log n
log ds et β =
s
d
log ds
log n
.
De plus si f est homogène ce sera aussi le cas pour le nouveau circuit.
D’ailleurs le théorème précédent peut être directement appliqué dans le cas du
permanent.
Théorème 2.17. Si le permanent n × n est calculé par un circuit de taille polynomiale
en n, alors il est aussi calculé par un circuit homogène P Q[O(
√
n)] P Q[O(
√
n)]
de taille 2
O(
√
n log(n))
.
3.1 Propositions sur les circuits arithmétiques
Pour prouver le théorème 2.15, nous aurons besoin de quelques résultats préalables.
Le résultat suivant est considéré comme du folklore. Toutefois on peut trouver
une preuve dans le livre de Bürgisser [19] (Lemma 2.14).
Proposition 2.18. Si f est un polynôme de degré d calculé par un circuit C de
portes {+, ×} de taille s tel que le degré entrant des portes × est borné par 2 (on
ne met pas de borne sur celui des portes +), alors il existe un circuit C˜ de taille
s(d + 1)2 avec d + 1 sorties O0, O1, . . . , Od tel que :
— le degré entrant des portes + n’est pas borné,
— le degré entrant de chaque porte × est borné par 2,
— pour tout i, la porte Oi calcule la composante homogène de f de degré i,
— C˜ est homogène.
On rappelle le lemme 1.9 montré au chapitre 1.
Lemme (Rappel du lemme 1.9). Dans un circuit homogène, toutes les portes calculent
des polynômes homogènes. De plus le degré de la porte correspond au degré
du polynôme homogène calculé par la porte.
Enfin, nous avons déjà mentionné le fait que les preuves de parallélisation sont
presque toujous basées sur la réduction de Valiant, Skyum, Berkowitz et Rackoff [101].
Celle-ci ne déroge pas à la règle. Toutefois, nous aurons besoin d’un résultat légèrement
plus fort. En effet leur résultat est complètement global : leur circuit d’arrivée
est de profondeur O(log d). Nous aurons besoin ici, d’un résultat local sur le comportement
de chacune des portes de multiplication.
29CHAPITRE 2. PROFONDEUR BORNÉE
Définition 2.19. Un circuit C de portes {×, +, } sera dit équilibré pour les portes
× si et seulement si toutes les propriétés suivantes sont vérifiées :
— le degré entrant de chaque porte × est au plus 5,
— le degré entrant de chaque porte + est non borné,
— le degré entrant de chaque porte est au plus 2,
— pour chaque porte × (appelée α), chacune de ses entrées est de degré au
plus la moitié du degré de α,
— le degré de chaque porte égale le degré du polynôme calculé par la porte
(obtenu grâce au lemme 1.9).
La dernière condition ne peut pas être vraie pour la multiplication par un scalaire.
C’est la raison pour laquelle nous avons introduit l’opérateur .
La proposition suivante a été trouvée par Agrawal et Vinay [4]. Elle généralise
légèrement le célèbre résultat de Valiant, Skyum, Berkowitz et Rackoff [101] en
rajoutant une contrainte sur toutes les portes ×.
Proposition 2.20. Soit f un polynôme homogène de degré d calculé par un circuit
C˜ de taille s et défini comme dans la conclusion de la proposition 2.18. Alors f
est calculé par un circuit {×, +, } homogène équilibré pour les portes ×, de taille
s
6 + s
4 + 1 et de degré d.
Nous présentons une preuve de ce résultat à la sous-section 3.2 vu que l’énoncé
ci-dessus est légèrement différent de ceux que l’on peut trouver dans [4] ou dans [91]
(les constantes sont un peu améliorées). En particulier, le circuit obtenu vérifie le
résultat classique de VSBR.
Corollaire 2.21 (VSBR). Soit f un polynôme de degré d calculé par un circuit de
taille s. Alors f est calculé par un circuit {+, ×} de taille (sd)
O(1) et de profondeur
O(log(d)) où chaque porte × est de degré entrant 2 et où le degré entrant des portes
+ n’est pas borné.
3.2 Réduction à la VSBR
Nous allons prouver ici la proposition 2.20.
Soit f un polynôme homogène calculé par un circuit C˜ de taille s tel que :
— le degré entrant de chaque porte + est non borné,
— le degré entrant de chaque porte × est borné par 2,
— C˜ est homogène.
Pour commencer, nous supprimons le “calcul de constantes” (cela signifie que
l’on peut supposer que toutes les portes de calculs calculent un polynôme de degré
non nul). Pour faire cela, il suffit de remplacer chaque porte calculant un polynôme
de degré 0 par une entrée étiquetée par la valeur constante de cette porte. Nous
pouvons remarquer que par homogénéité, les entrées constantes ne peuvent être
des arguments d’une porte +. De plus, pour chaque porte × dont une entrée est
une constante, nous remplaçons l’étiquette de cette porte par l’étiquette . Nous
remarquons que jusque là, nous n’avons pas augmenté la taille du circuit. Ensuite,
nous pouvons réordonner les entrées de chaque porte × et de façon que pour
chacune de ces portes, le degré de l’argument de droite soit plus grand que le degré
de l’autre argument. Après ces préparations, nous obtenons alors un circuit C1 de
taille au plus s.
303. BORNES SUPÉRIEURES POUR CIRCUITS HOMOGÈNES
Nous rappellons que la définition des arbres monomiaux (en anglais “parse tree”)
a été donnée dans l’introduction. Définissons maintenant un nouveau circuit C2 qui
satisfait aux critères de la proposition. Pour chaque paire de portes α et β dans
C1, nous définissons la porte (α; β) dans C2 comme suit (nous verrons dans la suite
comment les calculer) :
— Si β est une feuille, alors [(α; β)] équivaut à la somme des arbres monomiaux
enracinés en α tels que β apparaît dans le chemin le plus à droite (i.e., la
feuille du chemin le plus à droite correspond au sommet β).
— Si β n’est pas une feuille, alors [(α; β)] equivaut à la somme des arbres monomiaux
enracinés en α tels que la porte β apparaît dans le chemin le plus à
droite et tels que le sous-arbre au dessus de cette porte β la plus à droite est
supprimé. C’est comme si nous remplacions l’occurence la plus à droite de la
porte β par l’entrée 1 et que nous calculions [(α; β)] avec β = 1 une feuille.
Notons ici qu’il est facile de récupérer le polynôme calculé par la porte α :
[α] = X
Tα arbre monomial
valeur(Tα)
=
X
l feuille de C1
X
Tα arbre monomial tq la feuille
du chemin le plus à droite de Tα
est une copie de l
valeur(Tα)
=
X
l feuille de C1
[(α; l)].
Nous remarquons que le nombre d’arbres monomiaux peut être exponentiel mais
que la somme extérieure est toujours de taille polynomiale.
Montrons maintenant comment calculer les portes (α; β).
— Si β n’apparait pas dans un chemin le plus à droite d’un arbre monomial
enraciné en α, alors (α; β) = 0.
— Dans le cas où α = β, si α est une feuille, alors (α; β) = α et sinon (α; β) = 1.
— Autrement α et β sont deux portes différentes et α n’est pas une feuille. Si α
est une porte +, alors [(α; β)] est simplement la somme de tous les [(α
0
; β)],
où α
0
est un fils de α.
— Si α est une porte , alors un fils est une constante c et l’autre fils est
une porte α
0
. Alors, (α; β) est simplement l’opération multiplication par un
scalaire [(α; β)] = [(c; c)] [(α
0
; β)].
— Si α est une porte ×. Il y a deux cas.
— Premier cas : β est une feuille. Alors deg(α) > deg(β) et deg(β) ≤ 1.
Sur le chemin le plus à droite finissant en β de chaque arbre monomial
enraciné en α, il existe exactement une porte ×, que l’on notera γ, et son
fils droit sur ce chemin γr tels que :
deg(γ) > deg(α)/2 ≥ deg(γr). (2.1)
Remarquons que γ n’est unique que pour un arbre monomial fixé. Réciproquement,
on peut remarquer que pour chaque porte γ satisfaisant (2.1),
si [(α; γ)] et [(γr; β)] ne sont pas les polynômes nuls, alors γ est sur un
31CHAPITRE 2. PROFONDEUR BORNÉE
chemin le plus à droite allant de α vers β. Alors,
[(α; β)] = X
l feuille de C1,
γ porte × vérifiant (2.1)
[(α; γ)][(γl
; l)][(γr; β)].
Comme β est une feuille, deg(α; β) = deg(α). Utilisant (2.1) et le fait que
nous avons préalablement réordonné les entrées des portes de multiplication
de façon à ce que le degré des fils droits soit au moins aussi grand
que celui des fils gauches :
deg(α; γ) = deg(α) − deg(γ) < deg(α)/2
deg(γr; β) = deg(γr) ≤ deg(α)/2
deg(γl
; l) = deg(γl) ≤ deg(γr) ≤ deg(α)/2.
Par conséquent, [(α; β)] est calculé par un circuit de profondeur 2 de taille
au plus s
2 + 1 : une porte +, d’arité s
2
, où chaque fils est une porte × de
degré entrant 3. Chaque fils de ces portes × est de degré au plus la moitié
du degré de la porte ×.
— Second cas : β n’est pas une feuille. Alors il existe, sur le chemin le plus
à droite de chaque arbre monomial enraciné en α, une porte ×, dénoté γ,
et son fils sur ce chemin γr tels que :
deg(γ) ≥ (deg(α) + deg(β))/2 > deg(γr). (2.2)
De même par un argument similaire :
[(α; β)] = X
l feuille de C1
γ porte × vérifiant (2.2)
[(α; γ)][(γl
; l)][(γr; β)]. (2.3)
On utilise alors (2.2) :
deg(α; β) = deg(α) − deg(β)
deg(α; γ) = deg(α) − deg(γ) ≤(deg(α) − deg(β))/2
deg(γr; β) = deg(γr) − deg(β) <(deg(α) − deg(β))/2.
Le problème est ici que le degré de (γl
; l) pourrait être plus grand que
(deg(α) − deg(β))/2. La porte α est une porte × et son fils gauche est
de degré non constant (sinon α serait une porte ). Donc, deg(α; β) >
deg(γl
; l). Si γl est de degré au plus 1 (et donc exactement 1 car γ n’est pas
une porte ), alors (α; β) est de degré au moins 2. Le calcul de la porte
(α; β) par la formule (2.3) marche (i.e., le degré de (γl
; l) est plus petit
que la moitié du degré de (α; β)). Enfin sinon, le degré de γl est au moins
2 et au plus deg(α; β). Comme l est une feuille, nous pouvons appliquer
le premier cas à la porte γl (même si γl n’est pas une porte ×). Il existe
encore sur chaque chemin le plus à droite finissant en l et enracinés en γl
une porte ×, notée µ, et son fils µr sur ce chemin tels :
deg(µ) > deg(γl)/2 ≥ deg(µr). (2.4)
323. BORNES SUPÉRIEURES POUR CIRCUITS HOMOGÈNES
Alors,
[(γl
; l)] = X
l2 feuille de C1
µ porte × vérifiant (2.4)
[(γl
; µ)][(µl
; l2)][(µr; l)].
Ainsi,
[(α; β)] = X
l,l2,γ,µ
[(α; γ)][(γr; β)][(γl
; µ)][(µl
; l2)][(µr; l)] (2.5)
où la somme est prise sur toutes les feuilles l, l2 de C1, toutes les portes
×, notées γ, vérifiant (2.2) et toutes les portes ×, notées µ vérifiant (2.4).
Les degrés des portes (γl
; µ), (µl
; l2) et (µr; l1) sont bornés par la moitié
du degré de γl
. Donc, [(α; β)] est calculé par un circuit de profondeur 2
de taille s
4 + 1. Les portes × sont de degré entrant borné par 5 et le degré
de leurs enfants est borné par la moitié de leur degré.
En conclusion, pour chaque couple de portes α et β dans C1, la porte (α; β) est
calculée dans C2 par un sous-circuit de taille au plus s
4 + 1. À la fin, nous obtenons
un circuit de taille au plus s
6 + s
2 qui calcule toutes les portes (α; β). Finalement,
f est calculé par un circuit de taille s
6 + s
2 + 1.
Cela prouve la proposition.
3.3 Réduction à une profondeur bornée constante
Nous allons prouver ici le théorème 2.15.
Pour réaliser la réduction à la profondeur quatre, Koiran [60] commence par
transformer le circuit considéré en un programme à branchements équivalent. Ensuite,
il parallélise ce programme à branchements, et finalement revient à un circuit.
Le problème avec cette stratégie est que la transformation des circuits aux programmes
à branchements nécessite une augmentation de la taille de notre objet. Si
le circuit est de taille s, le nouveau programme à branchements sera de taille s
log(d)
.
L’approche, ici, est de directement paralléliser le circuit, et d’éviter ainsi l’augmentation
de la taille due au passage aux programmes à branchements.
L’idée de la preuve pour paralléliser un circuit à la profondeur 4 est de diviser
le circuit en deux parties : les portes de degré moins que √
d et les portes de degré
plus grand. Un circuit tel que le degré de chacune de ses portes est borné par √
d
calcule un polynôme de degré √
d et peut donc être écrit comme une somme d’au
plus s
O(
√
d) monômes. Ainsi, si chaque partie de notre circuit calcule des polynômes
de degré borné par √
d, il suffit d’obtenir les circuits de profondeur 2 pour chacune
des parties, et de les reconnecter ensemble. La principale difficulté vient du fait qu’il
n’est toujours vrai que le sous-circuit obtenu par les portes de degré plus grand que
√
d est de degré inférieur à √
d. Par exemple, dans le cas du graphe “peigne” avec
n − 1 portes × et n variables d’entrée :
x1 · (x2 · (x3 · (. . .)))
le degré de la première partie est √
n, alors que le degré de la seconde est n −
√
n.
En fait, nous montrerons que ce problème ne peut pas se présenter si on travaille
33CHAPITRE 2. PROFONDEUR BORNÉE
avec des circuits équilibrés pour les portes ×. Dans ce cas, les deux parties auront
un degré borné par √
d.
Bien que la profondeur quatre soit probablement le cas le plus important de notre
réduction, nous allons directement traiter un cas plus général, celui de la profondeur
2p.
Lemme 2.22. Soient p ≥ 2 un entier et f un polynôme homogène n-varié, de degré
d et calculé par un circuit de portes {×, +, } noté C, homogène, équilibré pour les
portes × et de taille σ.
Si d1, d2, . . . , dp sont p réels strictement positifs tels que d = d1d2 . . . dp, alors f
est calculé par un circuit de profondeur 2p de la forme
X
[15
Y X
dp] [15
Y
dp−1]
· · ·X
[15
Y X
d2]
Y
[d1]
homogène de taille σ + σ
n+d1
d1
+
σ+15dp
15dp
+ σ
Pp−1
i=2
σ+15di
15di
.
Pour obtenir des expressions plus agréables, nous utiliserons l’approximation suivante,
conséquence de la formule de Stirling : (On peut trouver une preuve dans [4])
Lemme 2.23.
k + l
l
= 2O(l+l log k
l )
Voyons pour commencer comment le lemme 2.22 implique le théorème 2.15.
Preuve du théorème 2.15. Soit f un polynôme n-varié de degré d calculé par un
circuit de taille s. Soit C˜ le circuit homogène obtenu alors pour le polynôme f
par la proposition 2.18. Le circuit C˜ est de taille t = s(d + 1)2
et calcule tous les
polynômes f0, . . . , fd où fi est la composante homogène de f de degré i. Ainsi, grâce
à la proposition 2.20, pour chaque i ≤ d, il existe un circuit C1 de portes {+, ×, }
équilibré pour les portes × de taille σ = t
6+t
4+1 calculant fi
. Utilisons maintenant le
lemme 2.22 pour le circuit C1 avec d1 = d
1/p log(p−1)/p σ
log(p−1)/p n
et d2 = . . . = dp = d
1/p log1/p n
log1/p σ
.
Ces valeurs satisfient bien que d1d2 . . . dp = d. Ainsi, le lemme 2.23 fournit un circuit
P Q[O(α)]
· · ·P Q[O(α)] P Q[β]
homogène, de profondeur 2p et de taille
σ + σ
n + d1
d1
+
σ + 15dp
15dp
+ σ
X
p−1
i=2
σ + 15di
15di
= 2O(d
1/p log(p−1)/p σ log1/p n)
en choisissant
α = d
1/p log1/p n
log1/p σ
et β = d
1/p log(p−1)/p σ
log(p−1)/p n
.
À la fin, il suffit d’additionner ensemble les différentes composantes homogènes fi
.
Comme σ = O(s
6d
12), cela donne une borne supérieure de 2
O(d
1/p log(p−1)/p(ds) log1/p n)
pour la taille.
Il suffit alors de prouver le lemme 2.22 pour achever la preuve.
343. BORNES SUPÉRIEURES POUR CIRCUITS HOMOGÈNES
Preuve du lemme 2.22. Posons (Di)1≤i≤p la suite des produits partiels des (di). Plus
précisément, pour i ≤ p, nous posons Di =
Qi
j=1 dj
. En outre, Dp = d. Définissons
C1, C2, . . . , Cp, p sous-circuits de C, comme suit. C1 est le sous-circuit de C que nous
obtenons en gardant seulement les portes de C de degré ≤ d1. Puis pour i entre 2 et
p, le circuit Ci est constitué non seulement des portes dont le degré est strictement
supérieur à Di−1 et inférieur à Di mais aussi des entrées de ces portes. Ces entrées
sont les seules portes qui appartiennent à la fois à plusieurs Ci
.
Chaque porte α de C1 a degré au plus d1, donc calcule un polynôme de degré
au plus d1. Par homogénéité de C, le polynôme calculé en α est homogène. Par
conséquent, α est une somme homogène d’au plus
n+d1
d1
monômes, et ainsi, peut
être calculé par un circuit de profondeur deux homogène et de taille 1 +
n+d1
d1
+ n
(le “1” encode la porte +, le “n” les portes d’entrées, et le reste tient pour les portes
×).
Nous allons montrer que pour i ≥ 2, le degré de Ci est borné par 15di
. Fixons
ainsi un tel i.
Soit δ le degré de Ci (défini par rapport aux entrées de Ci ). Il existe un monôme
m de degré δ dans Ci
. Soit T un arbre monomial calculant m.
Remarquons qu’une porte de Ci peut à la fois apparaître dans beaucoup d’arbres
monomiaux, mais aussi apparaître plusieurs fois dans un même arbre monomial.
Nous partitionnons l’ensemble des portes × de T en 3 ensembles :
— G0 = {α ∈ T | α est une porte × et tous les fils de α sont des feuilles de T}
— G1 = {α ∈ T | α porte × et exactement un fils de α n’est pas une feuille}
— G2 = {α ∈ T | α porte × et au moins deux fils de α ne sont pas des feuilles}.
Alors, si nous considérons le sous-arbre S de T où toutes les portes de S sont
exactement les portes de T qui n’apparaissent dans aucun des Cj avec j < i, alors
G0 correspond exactement aux feuilles de S, G1 correspond aux sommets internes de
degré entrant 1 et G2 aux sommets internes de degré entrant au moins 2.
La preuve se fait en deux parties. Nous allons commencer par borner supérieurement
la taille des ensembles G0, G1 et G2. Puis, nous bornerons le degré de m.
Dans C, d’après le lemme 1.9, le degré de m est au moins la somme des degrés
des portes de G0 (car deux de ces portes ne peuvent pas appartenir à un même
chemin). Chacune de ces portes est dans Ci
, donc est de degré au moins Di−1 dans
C. Comme m est de degré au plus Di dans C, cela signifie que le nombre de portes
dans G0 est au plus Di
Di−1
= di
.
Dans C, nous savons encore grâce au lemme 1.9 que le degré de m est au moins
la somme des degrés des feuilles de Ci qui sont directement reliées à une porte de
G1. Pour chaque porte α de G1, exactement une de ses entrées β est dans Ci
, donc
de degré au moins Di−1 dans C. Par la proposition 2.20, le degré de α est au moins
deux fois le degré de β, cela implique que la somme des degrés dans C des fils de α
qui sont des feuilles de T est aussi au moins Di−1. Ainsi, le nombre de sommets de
G1 est au plus di
.
Enfin, dans un arbre, le nombre de feuilles étant plus grand que le nombre de
sommets de degré entrant au moins 2, nous pouvons en déduire que dans S :
|G2| ≤ |G0| ≤ di
.
Dans Ci
, le degré du monôme m est le nombre de feuilles non étiquetées par
une constante dans l’arbre T. Il suffit de mettre en correspondance chaque feuille
35CHAPITRE 2. PROFONDEUR BORNÉE
avec la plus proche porte × qui lui est reliée. Comme dans T, le degré entrant des
portes × est borné par 5, celui des portes + est borné par 1 et chaque porte ne
rajoute qu’une entrée constante, nous en déduisons que le nombre de feuilles, non
constantes, relié à une même porte × est au plus 5. D’où le nombre de feuilles dans
T est au plus
5 × (|G0| + |G1| + |G2|) ≤ 15di
.
Ceci prouve que le degré de Ci est au plus 15di
. Le nombre d’entrées de Ci est
borné par le nombre de portes de C (qui est σ). Ainsi pour chaque porte α de Ci
,
il existe un circuit de profondeur 2 de type P Q qui calcule [α], avec pour entrées
des portes dans Cj (avec j < i) et utilisant
σ+15di
15di
portes de multiplication.
Posons σi
le nombre de portes internes dans Ci
. En particulier, σ = n +
Pp
i=1 σi
.
Ainsi, le polynôme f peut être calculé par un circuit homogène
X
[15
Y X
dp] [15
Y
dp−1]
· · ·X
[15
Y X
d2]
Y
[d1]
de profondeur 2p et de taille
1 +
σ + 15dp
15dp
+
"X
p−1
i=2
σi
1 +
σ + 15di
15di
#
+ σ1 + σ1
n + d1
d1
+ n
≤ σ + σ
n + d1
d1
+
σ + 15dp
15dp
+ σ
X
p−1
i=2
σ + 15di
15di
.
4 Bornes supérieures pour circuits non homogènes
Koiran [60] prouve une borne en 2
√
d log2
(s) pour la réduction des circuits à la
profondeur 4. Dans leur article [45], Gupta, Kamath, Kayal et Saptharishi affinent
cette borne et obtiennent 2
O(
√
d log n log s log d)
. De plus, ils utilisent cette borne pour
montrer que :
Proposition 2.24 (Théorème 1.1 dans [45]). Soit f(x) ∈ Q[x1, . . . , xn] un polynôme
à n variables, de degré d = n
O(1) calculé par un circuit arithmétique de taille s.
Alors, il peut aussi être calculé par un circuit P QP de taille 2
O(
√
d log n log s log d)
où les coefficients sont des éléments de Q.
En fait leur preuve est divisée en trois parties. Premièrement, ils transforment
les ciruits généraux en circuits homogènes de profondeur 4. Puis ils transforment ces
circuits de profondeur 4 en circuits de profondeur 5 utilisant seulement des portes
d’addition et d’exponentiation. Pour faire cela, ils utilisent la formule de Fisher [30].
Lemme 2.25 (Rappel de la formule de Fischer, lemme 2.5). Pour tout n, le monôme
x1 . . . xn peut être exprimé comme une combinaison linéaire de 2
n−1 puissances de
formes linéaires.
x1x2 . . . xn =
1
2
n−1n!
X
r2,...,rn∈{±1}n−1
x1 +
Xn
i=2
rixi
!n
· (−1)p(r)
364. BORNES SUPÉRIEURES POUR CIRCUITS NON HOMOGÈNES
où p(r) = |{i | ri = −1}|.
Ainsi, un produit Qn
i=1 xi peut être transformé en une somme de puissances de
sommes :
2
Xn−1
i=1
^
[n]
Xn
j=1
yi,j
où les yi,j valent ±xj
.
L’idée d’utiliser la formule de Fisher pour transformer un produit en somme de
puissances provient de [45]. D’autres utilisations récentes de cette formule dans le
cas de la complexité des circuits arithmétiques peuvent être trouvées dans [45, 55].
Enfin, ils transforment ces derniers circuits en circuits de profondeur 3. L’outil
principal ici est l’astuce de dualité de Saxena [89]. Reformulant cette astuce combinée
aux lemmes 4.7 à 4.9 de [45], on obtient :
Lemme 2.26. Soit f un polynôme de la forme V[d] P[m] P[b]
dans Q[X]. Alors f
peut être écrit de la forme
[O(m2
b
2d
4 X
)] [mbd
Y
]
(Xi,j + Ci,j )
où Xi,j est une coordonnée de X et Ci,j est une constante dans Q.
Utiliser le théorème 2.16 au lieu du théorème 4.1 dans leur article améliore la
première partie de leur preuve. Cela donne une petite amélioration au théorème 1.1
de [45] :
Corollaire 2.27. Soit f(x) ∈ Q[x1, . . . , xn] un polynôme à n variables de degré
d = n
O(1) calculé par un circuit arithmétique de taille s. Alors il peut aussi être
calculé par un circuit P QP de taille 2
O(
√
d log n log s) où les coefficients sont dans Q.
En fait, de même que lors de la section précédente, ces résultats se généralisent
facilement à toute profondeur bornée.
Théorème 2.28. Soient p ≥ 2 et f(x) ∈ Q[x1, . . . , xn] un polynôme à n variables
de degré d calculé par un circuit arithmétique de taille s. Alors f est calculable par
un circuit de profondeur p de taille 2
O(d
1/(p−1) log ds) où les coefficients sont dans Q.
Démonstration. Si p = 2, alors il va être suffisant de réécrire ce polynôme comme
une somme de monômes. Vu qu’il est de degré au plus d, il a au plus
n+d
n
monômes,
ce qui est plus petit que s
d
.
Si p est impair et supérieur à deux. Posons p = 2q + 1. Si q = 1, il s’agit du
cas de la profondeur 3. Réduisons f à un circuit de profondeur 4q grâce au théorème
2.16. Nous obtenons C un circuit P Q[O(α)]
· · ·P Q[O(α)] P Q[α]
de profondeur
4q et de taille t = 2O(d
1/2q
log(ds)) avec α = d
1/(2q)
. Appliquons le lemme 2.25 relatif à
la formule de Fischer pour chaque niveau de multiplications pour obtenir un circuit
P V[O(α)]
· · ·P V[O(α)] P V[α] P de profondeur 4q+1 et de taille au plus t
2
. Il y a en
fait, intercalés, 2q + 1 niveaux de portes d’addition et 2q niveaux de portes d’exponentiation.
Groupons les niveaux d’exponentiation deux par deux, nous obtenons un
37CHAPITRE 2. PROFONDEUR BORNÉE
circuit de la forme P(
VP V)
P· · ·P(
VP V)
P avec q parenthèses. Remplaçons
finalement ces parenthèses par des sommes de produits de sommes comme dans le
lemme 2.26. Nous obtenons un circuit P Q · · · QP de profondeur 2q + 1 de taille
polynomiale en t = 2O(d
1/(p−1) log(ds)) et où les portes de multiplication sont aussi de
degré polynomial en t.
Si p = 2q est un entier pair plus grand que trois, nous allons faire la même chose
à part que nous n’allons pas toucher au dernier niveau de multiplication. Nous ré-
duisons le circuit à la profondeur 4q − 2. Le circuit est de la forme P Q · · ·P Q
avec 2q − 1 niveaux de portes d’addition ainsi que 2q − 1 niveaux de multiplication.
Nous allons transformer les 2q − 2 derniers niveaux de multiplications (i.e. du
côté de la sortie du circuit) en niveaux d’exponentiation. On obtient un circuit de
la forme P V · · ·P VP Q avec 2q − 2 niveaux d’exponentiations. De même que
pour le cas impair, il suffit alors de grouper les niveaux d’exponentiations par deux
et de transformer les VP V en P QP pour obtenir un circuit P Q · · ·P Q de
profondeur 2q et de taille 2
O(d
1/(2q−1) log(ds)). Ce qui prouve le résultat.
On peut ainsi découvrir une autre réduction à la profondeur quatre, utilisant des
portes intermédiaires calculant de très hauts degrés. Ce résultat met en évidence la
nécessité des contraintes d’homogénéité des polynômes ou de bornes sur les degrés
entrants des portes de multiplication dans les propositions 2.10, 2.12 et 2.13.
Corollaire 2.29. Soit f(x) ∈ Q[x1, . . . , xn] un polynôme à n variables de degré d
calculé par un circuit arithmétique de taille s. Alors il peut aussi être calculé par un
circuit P QP Q de taille 2
O(d
1/3
log s) où les coefficients sont dans Q.
Par conséquent les polynômes Detn et IMMn,d possèdent des circuits P QP Q
de taille respective n
O(
√3 n)
et n
O(
√3
d)
. De plus, si tout circuit de type P QP Q pour
le langage Permn nécéssite une taille d’au moins n
ω(
√3 n)
, alors VP 6= VNP.
38Chapitre 3
De l’hypothèse de Valiant aux
τ -conjectures
En 1995, Shub et Smale [92] ont trouvé un lien entre la complexité des polynômes
univariés à coefficients entiers et la question PC vs. NPC dans le modèle de BlumShub-Smale
sur C. Nous ne détaillerons pas ici les classes citées ci-dessus vu que nous
ne les utiliserons pas. Le lecteur intéressé pourra se référer par exemple à l’article
où elles sont introduites [15] ou à la référence [13].
Pour un polynôme à coefficients entiers f ∈ Z[X1, . . . , Xn], nous rappellons que la
τ -complexité de f notée τ (f) correspond à la taille du plus petit circuit calculant f,
de portes {+, ×, −} et utilisant seulement la constante 1. La τ -conjecture, introduite
par Shub et Smale [92] est :
Conjecture 3.1 (τ -conjecture). Il existe une constante universelle c > 0 telle que
pour tout polynôme univarié f ∈ Z[X],
ZZ(f) ≤ (1 + τ (f))c
où ZZ(f) correspond au nombre de racines entières distinctes de f.
Shub et Smale ont prouvé dans le même article que cette conjecture impliquait
PC 6= NPC. La résolution de la τ -conjecture apparaît sous le titre “Integer zeros of a
polynomial of one variable” comme le quatrième problème de la liste de Smale [93]
des plus importants problèmes pour les mathématiciens du XXIème siècle. Toutefois,
cette conjecture reste complètement ouverte.
Une autre implication importante de cette conjecture a été mise en évidence
par Bürgisser [21]. Il montre que la τ -conjecture implique aussi que le permanent
n’admet pas de circuits arithmétiques sans constantes de taille polynomiale, et donc
en particulier que VP0
6= VNP0
.
Un des obstacles aux avancées sur cette conjecture vient du fait que l’on cherche
des racines entières. Cependant cette contrainte est nécessaire car la conjecture devient
fausse dans le cas des racines réelles. C’est le cas pour les polynômes de Tchebychev.
Ces polynômes Tn de degré n sont définis sur l’intervalle [−1, 1] par la relation
Tn(cos θ) = cos(nθ). Le polynôme Tn a n racines réelles simples, mais est calculé
par un circuit de taille O(log n). Un autre exemple de polynômes avec beaucoup
de racines réelles a été trouvé plus tôt par Borodin et Cook [18]. Certains rapprochements
entre des bornes inférieurs en complexité et des bornes supérieures sur le
nombre de racines réelles avaient déjà été trouvés dans [18, 39, 87].
39CHAPITRE 3. VARIANTES DE LA τ -CONJECTURE
Toutefois, Koiran [61] réussit à renforcer l’hypothèse pour que la borne tienne
pour les racines réelles tout en conservant l’implication de VP0
6= VNP0
. Il définit la
conjecture suivante :
Conjecture 3.2 (τ -conjecture réelle). Il existe une constante universelle c > 0
telle que pour tous paramètres entiers positifs k, m et t et tout polynôme univarié
f ∈ Z[X] de la forme
f(X) = X
k
i=1
Ym
j=1
fi,j (X)
avec fi,j des polynômes t-creux, on a
ZR(f) ≤ (1 + k + m + t)
c
où ZR(f) correspond au nombre de racines réelles distinctes de f.
On rappelle que les polynômes t-creux, introduits au chapitre 1 désignent les
polynômes ayant au plus t monômes dans leur forme développée.
Koiran montre [61] :
Théorème 3.3. Si la τ -conjecture réelle est avérée, alors le permanent n’admet pas
de circuits arithmétiques sans constantes de taille polynomiale, c’est-à-dire τ (Permn) =
n
omega(1)
.
Un des arguments en faveur de cette version réelle de la τ -conjecture est sa
similarité avec l’estimation de Descartes.
Lemme 3.4 (Estimation de Descartes). Soit f =
Pt
i=1 aix
αi un polynôme tel que
α1 < α2 < . . . < αt et ai sont des réels non nuls. Alors le nombre de racines réelles
strictement positives de f, compté avec multiplicité, est borné par t − 1. De plus, le
résultat tient encore dans le cas où les exposants sont réels.
Cette estimation découle directement d’un résultat classique, la règle des signes
de Descartes :
Lemme 3.5 (Règle des signes). Soit f =
Pt
i=1 aix
αi un polynôme tel que α1 < α2 <
. . . < αt et ai sont des réels non nuls. Soit N le nombre de changements de signes
dans la suite (a1, . . . , at). Alors le nombre de racines réelles strictement positives de
f, compté avec multiplicité, est borné par N.
En particulier, le cas k = 1 de la τ -conjecture réelle est vérifié. Comme chaque
fi,j (X) a au plus 2t − 1 racines réelles, on obtient si k = 1 :
ZR(f) ≤ 2(t − 1)m + 1.
A contrario, la meilleure borne supérieure connue pour la conjecture 3.2 est
(2ktm − 1). Pour obtenir cette borne, il suffit de développer f en somme de ktm
monômes et d’utiliser encore l’estimation de Descartes.
Dans ce chapitre, nous étudierons premièrement comment obtenir des bornes inférieures
à partir d’une variante de la τ -conjecture. Ainsi, nous pourrons alors dériver
de nouvelles variantes de cette conjecture impliquant encore des bornes inférieures
pour les circuits arithmétiques.
401. TRANSFERT DE BORNES INFÉRIEURES
1 Des bornes sur la taille du permanent aux bornes
sur le nombre de racines
Nous montrons dans cette section la preuve du théorème 3.3. La raison étant que
nous cherchons à comprendre ce transfert de bornes inférieures dans le but d’énoncer
d’autres variantes de cette τ -conjecture réelle. Nous allons devoir commencer par
présenter quelques outils. La plupart viennent de l’article [21].
1.1 Quelques définitions de classes booléennes
Dans la suite, nous voudrons considérer des polynômes de la classe VNP0
. Or
pour trouver de tels polynômes, le critère de Valiant (proposition 3.10) – exposé un
peu plus loin – nécessite que les coefficients des polynômes considérés soient calculables
dans la classe GapP/poly. Ainsi, nous commençons par exposer ici quelques
définitions classiques de classes booléennes. Il va s’agir essentiellement de classes de
comptage.
Rappelons la définition des deux classes de comptage #P et GapP.
Définition 3.6. La classe #P est l’ensemble de fonctions f : {0, 1}
? → N tel qu’il
existe un langage A ∈ P et un polynôme p(n) satisfiant :
f(x) = |{y ∈ {0, 1}
p(|x|)
| (x, y) ∈ A}|.
Une fonction f : {0, 1}
? → Z est dans GapP si elle correspond à une différence
de deux fonctions dans #P.
Définissons maintenant la hiérarchie de comptage. Un lien entre la hiérarchie de
comptage et la théorie de la complexité algébrique a été mis en évidence dans [5].
Ce lien a été approfondi dans [21] et [63]. Par exemple, dans [21], Bürgisser montre
que les polynômes Q2
n
i=1(X − i) ont des circuits de taille polynomiale s’il en est de
même pour la famille du permanent.
La hiérarchie de comptage définie dans [103] est une classe de langages plutôt
que de fonctions. Elle est définie à partir de l’opérateur de majorité C comme suit.
Définition 3.7. Si K est une classe de complexité, alors la classe C · K correspond
à l’ensemble de langages A tels qu’il existe un langage B ∈ K et un polynôme p(n)
satisfiant
x ∈ A ⇔ |{y ∈ {0, 1}
p(|x|)
| (x, y) ∈ B}| ≥ 2
p(|x|)−1
.
Le i
ème niveau CiP de la hiérarchie de comptage est défimi récursivement par
C0P = P et Ci+1P = C · CiP. La hiérarchie de comptage CH est l’union de tous les
CiP pour i ≥ 0.
Situons la hiérarchie de comptage parmi les autres classes booléennes classiques.
Elle contient toute la hiérarchie polynomiale PH et est contenue dans PSPACE (des
définitions et beaucoup d’informations sur ces dernières classes peuvent être trouvées
dans [7, 37, 79, 82]).
Les classes de circuits arithmétiques que nous considérons sont non uniformes.
Par conséquent nous travaillerons en fait avec des versions non uniformes des classes
de comptage définies ci-dessus. Nous utilisons la notation standard de Karp et Lipton
[54] :
41CHAPITRE 3. VARIANTES DE LA τ -CONJECTURE
Définition 3.8. Si K est une classe de complexité, la classe K/poly est l’ensemble
des langages A tels qu’il existe un langage B ∈ K, un polynôme p(n) et une famille
(an)n≥0 de mots (les conseils) satisfiant
— pour tout n ≥ 0, |an| ≤ p(n)
— et pour tout mot x, x ∈ A ⇔ (x, a|x|) ∈ B.
Remarquons que les conseils an dépendent seulement de la taille de x.
1.2 Les polynômes définissables
Comme mentionné en début de ce chapitre, nous aurons besoin de manipuler ici
les classes de la théorie de Valiant. Nous renvoyons le lecteur au premier chapitre
pour les définitions des différentes classes de complexité ou au livre de Bürgisser [19].
Dans le prochain lemme, prouvé dans [21], l’auteur montre un premier lien entre
la complexité arithmétique et la hiérarchie de comptage.
Lemme 3.9. Si Permn est dans VP0
alors CH/poly = P/poly.
En particulier, ce lemme a été utilisé dans le même article pour montrer que les
sommes et produits exponentiels sont calculables dans la hiérarchie de comptage.
Le résultat suivant a été démontré par Valiant [99]. La formulation provient en
fait de l’article de Koiran [62].
Proposition 3.10 (Critère de Valiant). Supposons que n 7→ p(n) soit une fonction
polynomialement bornée et que f : N × N → Z est telle que la fonction
1
n#j 7→ f(j, n) soit dans la classe de complexité GapP/poly (où 1
n#j correspond à
la concaténation du mot “n” écrit en unaire, du caractère # et du mot “j” écrit en
binaire). Alors la famille (fn) de polynômes multilinéaires définie par
fn(X1, . . . , Xp(n)) = X
j∈{0,1}
p(n)
f(j, n)X
j1
1
· · · X
jp(n)
p(n)
est dans VNP0
. L’exposant jk correspond au bit de j de poids 2
k−1
.
Remarquons que n est codé en unaire alors que j est codé en binaire.
Remarquons aussi que dans la proposition précédente, la classe booléenne utilisée
est GapP/poly une classe de fonctions. Or il est souvent plus aisé de travailler avec des
langages. C’est pourquoi, nous allons définir maintenant la notion de définissabilité
d’un polynôme.
Les paragraphes suivants sont directement tirés de l’article de Koiran et Périfel
[63] qui est lui-même basé sur [21].
On va être amené à introduire une notion de complexité des suites d’entiers.
Dans le but d’éviter de traiter les signes séparément, nous suivons ce qui est fait
dans [63], ie. nous supposons que nous pouvons retrouver le signe dans l’encodage
des entiers. Par exemple, le premier bit code le signe et les suivants, la valeur absolue
de l’entier considéré.
Définition 3.11. Une suite d’entiers de taille exponentielle est une suite d’entiers
a(n, α1, . . . , αk) telle qu’il existe deux polynômes p(n) et q(n) satisfaisant :
— le paramètre k, dépendant de n, vérifie k ≤ p(n),
421. TRANSFERT DE BORNES INFÉRIEURES
— a(n, α1, . . . , αk) est défini pour n, α1, . . . , αk ∈ N avec 0 ≤ αi < 2
p(n) pour
tout 1 ≤ i ≤ k,
— pour tout n ≥ 1 et tous α1, . . . , αk < 2
p(n)
, la taille de l’encodage binaire
de a(n, α1, . . . , αk) est inférieure à 2
q(n)
.
On définit à partir de a(n, α1, . . . , αk) le langage suivant :
Bit(a) = {(1n#α1, . . . , αk, j) | le j
ème bit de a(n, α) est 1}.
Attention, dans la définition analogue de Bürgisser [21], l’entier n est codé en
binaire.
Définition 3.12. Une suite d’entiers a(n, α) de taille exponentielle est dite définissable
dans la classe K si le langage Bit(a) est dans K.
Une suite de polynômes fn(X1, . . . , Xk) = P
α
a(n, α)Xα est dite définissable
dans K si sa suite de coefficient a est de taille exponentielle et définissable dans K.
Dans la suite, nous considérerons essentiellement des polynômes définissables
dans P/poly ou dans CH/poly. La seconde classe est assez large et englobe de nombreux
polynômes classiques, comme par exemple, le polynôme de PochhammerWilkinson.
Le résultat suivant, prouvé dans [21] est très utile pour montrer qu’une
suite est dans cette classe.
Théorème 3.13. Soient p(n) un polynôme et (a(n, α))αi<2
p(n) une suite définissable
dans CH/poly. Considérons les suites
b(n) = X
α
a(n, α) et d(n) = Y
α
a(n, α).
Alors (b(n)) et (d(n)) sont définissables dans CH/poly.
Supposons que (s(n)) et (t(n)) soient définissables dans CH/poly. Alors la suite
des produits (s(n)t(n)), ainsi que si t(n) > 0 la suite des quotients ds(n)/t(n)e, sont
définissables dans CH/poly.
En fait, comme mentionné précédemment, Bürgisser utilise une notation binaire
pour n. Le résultat précédent est une simple “mise à l’échelle” du résultat qui peut
être trouvé dans [21] (poser a
0
(2p(n)
, α) = a(n, α)).
Dans [63], les auteurs définissent une autre caractérisation des polynômes :
Définition 3.14. Soit (fn(X1, . . . , Xk)) une famille de polynômes à coefficients entiers.
Nous disons que (fn) peut être évaluée dans K aux points entiers si les conditions
suivantes sont vérifiées pour un certain polynôme p :
— le paramètre k est polynomialement borné en n,
— le degré de fn ainsi que la taille binaire de ses coefficients sont bornés par
2
p(n)
,
— le langage
{(1n#i1, . . . , ik, j) | 0 ≤ i1, . . . , ik ≤ 2
p(n)
et le j
ème bit de fn(i1, . . . , ik) est 1}
est dans K, où les entiers i1, . . . , ik, j sont donnés en binaire.
Le résultat suivant est énoncé (et prouvé) dans le théorème principal (Theorem
3.5) de [63] :
43CHAPITRE 3. VARIANTES DE LA τ -CONJECTURE
Théorème 3.15. Si (fn) est une suite de polynômes qui peut être évaluée dans
CH/poly aux points entiers, alors (fn) est définissable dans CH/poly.
Nous avons tous les résultats pour montrer, par exemple, que la suite des polynômes
Un(X, Y ) = Q2
n
i=1(Xi + Y ) est définissable dans CH/poly.
Les suites s1(n, x, y, i, j) = y et s2(n, x, y, i, j) = (σi,j )1≤x,y,i,j≤2n où
σi,j =
(
x si j ≤ i
1 sinon,
sont par définition définissables dans CH/poly. Par le théorème 3.13, c’est aussi le
cas pour la suite
t(n, x, y, i) = (x
i + y)1≤x,y,i≤2n =
y +
2
Yn
j=1
σi,j!
,
ainsi que pour la suite
u(n, x, y) = 2
Yn
i=1
(x
i + y)
!
1≤x,y≤2n
.
Donc Un(X, Y ) peut être évalué dans CH/poly aux points entiers, ce qui par le
théorème 3.15, montre que les polynômes Un sont définissables dans CH/poly.
La même preuve marche pour les autres polynômes suivants :
Lemme 3.16. Les polynômes suivants
PWn(X) =
2
Yn
i=1
(X − i), PW−
n
(X) =
2
Yn
i=1
(X + i), Tn(X) =
2
Yn
i=1
(X − 1),
et Un(X, Y ) =
2
Yn
i=1
(X
i + Y )
sont tous définissables dans CH/poly.
Le cas des polynômes de Pochhammer-Wilkinson (PWn) était déjà établi dans
l’article de Bürgisser [21]. Il prouve même que ces polynômes sont en fait définissables
dans CH.
1.3 Preuve du théorème 3.3
Dans la suite de ce chapitre, nous utiliserons le résultat de complétude du permanent
(théorème 1.26). C’est pourquoi, nous fixons un corps K de caractéristique
nulle dans lequel travailler. Les circuits utiliseront comme constantes les éléments
de K. En particulier, les résultats sont souvent utilisés et cités dans le cas où K = Q.
Nous allons prouver dans cette sous-section le théorème 3.3 mentionné en début
de ce chapitre. L’idée de la preuve est similaire à celle que l’on peut trouver dans
l’article original [61] sauf que le découpage de la preuve est différent. En fait, nous
avons voulu extraire ici la proposition 3.17 implicite dans la preuve originale, pour
441. TRANSFERT DE BORNES INFÉRIEURES
pouvoir dans la suite, obtenir des variantes du théorème 3.3. Cette sous-section
correspond donc aux lemme 3, théorèmes 6 et 7 et proposition 2 de l’article [61],
bien que le découpage ainsi que les notations aient changés.
Nous voulons extraire la proposition suivante :
Proposition 3.17. Soit p un polynôme et soit (fn) une suite de polynômes entiers
de Z[X1, . . . , Xp(n)
] définissables dans P/poly, de degré maximal en chaque variable
2
d − 1 et tels que la valeur absolue des coefficients soit bornée par 2
2
r
− 1 avec
r, d = n
O(1)
.
Si Permn est calculé par une suite de circuits Cn, alors il existe un polynôme
q et une projection Dn du circuit Cq(n) tel que fn peut être calculé par un circuit
Dn(Y1, . . . , Yk) où les Yi sont des puissances de Xji
d’exposants au plus 2
d−1
et où k
est un entier tel que k ≤ dp(n) + r. De plus, les circuits Dn calculent des polynômes
homogènes en les Yk.
Enfin, le polynôme q ne dépend que du choix de la famille de polynômes (fn).
Un corollaire immédiat dans le cas où les Cn sont des circuits de taille polynomialement
bornée est le suivant :
Corollaire 3.18. Soit p et fn définis comme dans la proposition 3.17. Si Permn
admet une suite (Cn) de circuits de taille polynomiale, alors c’est aussi le cas pour
fn.
Preuve du corollaire 3.18. D’après la proposition 3.17, fn est calculé par un circuit
Dn(Y1, . . . , Yk) où les Yj = X
αj
ij
pour des valeurs 1 ≤ ij ≤ p(n) et 1 ≤ αj ≤ 2
d−1
et où le circuit Dn est la projection d’un circuit Cq(n) pour un polynôme q. Donc
(Dn) est une suite de circuits de taille polynomiale. De plus, les puissances X
αj
ij
avec
αj ≤ 2
d−1 peuvent être calculées par exponentiation rapide par des circuits de taille
au plus 2d = n
O(1). On obtient ainsi, en rebranchant les circuits, un circuit de taille
polynomiale pour la famille (fn).
La preuve de la proposition 3.17 est similaire à celle que l’on peut trouver dans
l’article de Koiran [61]. Le fait que le nombre de variables soit p(n) et non 1 n’introduit
aucune complication.
Preuve de la proposition 3.17. Nous travaillerons à n fixé. Posons de plus p = p(n).
Commençons par exprimer le polynôme fn sous sa forme développée (somme d’au
plus 2
dp monômes) :
fn(X1, . . . , Xp) = X
α1,...,αp
a(n, α1, . . . , αp)X
α1
1
· · · X
αp
p
.
Alors développons les coefficients entiers a(n, α) en base 2 :
a(n, α) =
2
Xr−1
i=0
ai(n, α)2i
où ai(n, α) ∈ {0, 1}. Grâce à ces deux développements, nous obtenons
fn(X) = X
i,α
ai(n, α)2iXα
.
45CHAPITRE 3. VARIANTES DE LA τ -CONJECTURE
Ce qui mène à l’égalité
fn(X) = hn(X
2
0
1
, X2
1
1
, . . . , X2
d−1
1
, X2
0
2
, . . . , X2
d−1
p
, 2
2
0
, 2
2
1
, . . . , 2
2
r−1
) (3.1)
où hn(x1,0, x1,1, . . . , x1,d−1, x2,0, . . . , xp,d−1, z0, z1, z2, . . . , zr−1) est le polynôme multilinéaire
X
i,α
ai(n, α)x
α1,0
1,0 x
α1,1
1,1
. . . x
α1,d−1
1,d−1
x
α2,0
2,0
. . . x
αp,d−1
p,d−1
z
i0
0
z
i1
1
z
i2
2
. . . z
ir−1
r−1
.
Ici les exposants ij
, αh,j correspondent aux bits des entiers i,(αh)1≤h≤p. Remarquons
que hn est un polynôme multilinéaire en (dp + r) = n
O(1) variables. La fonction
φ : 1n#α, i 7→ ai(n, α) est une fonction à valeurs dans {0, 1}
? qui est la fonction
indicatrice du langage Bit(a). Par hypothèse, ce langage est dans P/poly, donc
φ ∈ GapP/poly. Par le critère de Valiant [19] (proposition 3.10), cela implique que
la famille polynomiale (hn) appartient à la classe de complexité VNP0
. Comme la
famille du permanent est VNP-complète et est calculée par les circuits (Cn), il existe
un polynôme q tel que pour tout n, la fonction hn est calculée par Dn une projection
de Cq(n)
. Il suffit alors de brancher en entrée les constantes et les puissances de
variables correspondantes pour obtenir un circuit pour fn du type Dn(Y1, . . . , Yk).
Remarque 3.19. Nous pouvons noter que nous n’utilisons pas réellement dans la
preuve le fait que les polynômes soient définissables dans P/poly. Nous avons seulement
besoin que la fonction indicatrice du langage Bit(a) soit dans GapP/poly.
Remarque 3.20. Notons aussi que nous autorisons les constantes du corps K pour
fn comme pour le permanent. Toutefois, il est possible d’obtenir un résultat plus fin
pour les constantes. Remarquons que le seul moment où des nouvelles constantes
peuvent apparaître est lors de l’utilisation de la VNP-complétude du permanent. En
particulier, en utilisant la proposition 1.27 du chapitre 1, on peut aussi obtenir un
circuit utilisant juste les constantes de (Cn) mais calculant 2
q(n)
fn pour un certain
polynôme q.
L’idée de Koiran est alors d’appliquer les résultats de réduction à la profondeur
4 aux circuits Dn.
Proposition 3.21. Soit c un entier strictement positif fixé et soit (fn) une suite
de polynômes dans Z[X1, . . . , Xc] définissables dans P/poly, de degré maximal en
chaque variable 2
d − 1 et tels que la valeur absolue des coefficients soit bornée par
2
2
r−1 avec r ≤ d = n
O(1)
.
Si Permn admet une suite de circuits Cn de taille n
O(1), alors (fn) est calculé
par des circuits
n
O(
√
Xd)
i=1
O(
√
Y
d)
j=1
fi,j (X1, . . . , Xc)
où les fi,j sont des polynômes n
O(
√
d)
-creux.
462. VARIATIONS
Démonstration. D’après la proposition 3.17, la famille de polynômes (fn) est calculée
par des circuits de type Dn(Y1, . . . , Yk) où Dn de taille n
O(1), calcule un polynôme hn
multivarié d’au plus (c + 1)d = O(d) variables. D’après le théorème 2.16, il suit que
les polynômes hn sont calculables par des circuits de profondeur 4 de taille 2
O(
√
d log n)
avec des portes de multiplication de degré entrant O(
√
d). D’où (fn) est calculé par
des circuits
[n
O(
√
d)
X
] [O(
√
Y
d)] [n
O(
√
d)
X
] [2d
√
Y
d]
,
ie. par des circuits
n
O(
√
Xd)
i=1
O(
√
Y
d)
j=1
fi,j (X1, . . . , Xc)
où les fi,j sont des polynômes n
O(
√
d)
-creux.
On a tout ce qu’il faut pour prouver le théorème 3.3 énoncé au début du chapitre :
la τ -conjecture réelle (conjecture 3.2) implique que le permanent n’admet pas de
circuits sans constantes de taille polynomiale.
Preuve du théorème 3.3. Montrons ce résultat par l’absurde.
Supposons que le permanent est calculé par des circuits sans constantes de taille
polynomiale, ie. Permn ∈ VP0
. D’après le lemme 3.9, on a CH/poly = P/poly. Donc
d’après le lemme 3.16, le polynôme univarié PW(X) = Q2
n
i=1(X − i) est définissable
dans P/poly. Par la proposition 3.21, PW est calculé par des circuits
n
O(
√
Xn)
i=1
O(
√
Yn)
j=1
fi,j (X)
où les fi,j sont des polynômes n
O
√
n)
-creux. La conjecture 3.2 implique qu’il existe
une constante c telle que ZR(PW) ≤ (1 + n
O(
√
n)
)
c = 2O(
√
n log(n)). Ce qui contredit
le fait que ZR(PW) = 2n
.
Remarque 3.22. Notons qu’avec la conditon légèrement plus faible Permn ∈ VP,
l’effondrement de la hiérarchie de comptage n’est connu qu’en supposant l’hypothèse
de Riemann généralisée [20]. Nous verrons plus loin (théorème 3.38) comment l’éviter
pour la τ -conjecture réelle.
2 Variations
2.1 Raffinement de la τ -conjecture réelle
Nous pouvons déjà remarquer dans la preuve précédente (preuve du théorème 3.3)
que nous avons un peu de marge sur le paramètre m. Plus précisément, en utilisant
la conjecture 3.23 suivante, au lieu de la conjecture 3.2, on a encore l’inégalité
ZR(PW) ≤ (1 + n
O(
√
n)
)
c = 2O(
√
n log(n))
.
47CHAPITRE 3. VARIANTES DE LA τ -CONJECTURE
Conjecture 3.23 (τ -conjecture réelle). Il existe un polynôme p tel que si f(x) ∈
R[x] est un polynôme de la forme Pk
i=1
Qm
j=1 fi,j (x) où les polynômes fi,j sont des
polynômes t-creux, alors le nombre de racines réelles distinctes de f est au plus
p(kt2
m).
Nous pouvons au passage noter que la borne supérieure ici ne semble plus très
loin de la borne ktm que nous avons obtenue en développant le polynôme.
Une autre idée pour renforcer cette conjecture est d’utiliser, comme au chapitre 2
la formule de Fisher (lemme 2.5) pour remplacer les produits par des puissances.
Conjecture 3.24 (τ -conjecture réelle avec puissances). Il existe un polynôme p tel
que si f(x) ∈ R[x] est un polynôme de la forme Pk
i=1 f
αi
i
(x) où les polynômes fi sont
des polynômes t-creux et les puissances αi sont des entiers tels que 0 ≤ αi ≤ m,
alors le nombre de racines réelles distinctes de f est au plus p(kt2
m).
Ainsi,
Théorème 3.25. Si la τ -conjecture réelle avec puissances est avérée, alors le permanent
n’admet pas de circuits arithmétiques sans constantes de taille polynomiale,
c’est-à-dire τ (Permn) = n
ω(1)
.
En fait, pour montrer ce théorème, il est suffisant de montrer que la conjecture
3.24 implique la conjecture 3.23.
Lemme 3.26. Les conjectures 3.23 et 3.24 sont équivalentes.
Démonstration. La conjecture 3.23 implique directement la conjecture 3.24. Réciproquement
choisissons un polynôme p qui vérifie la conjecture 3.24. Soit f un
polynôme de la forme Pk
i=1
Qm
j=1 fi,j (x) où les polynômes fi,j sont des polynômes
t-creux. Alors d’après la formule de Fisher, f peut être écrit de la forme
X
k
i=1
2
Xm−1
j=1 Xm
l=1
˜fi,j,l!m
où les ˜fi,j,l sont des polynômes t-creux. Par hypothèse, ZR(f) ≤ p(k2
m2
mmt) =
(kt2
m)
O(1). Ce qui prouve le lemme.
2.2 Différentes τ -conjectures
Nous donnons dans la suite différentes variantes de la τ -conjecture réelle.
Version adélique
La pemière remarque est que nous bornons le nombre de racines réelles alors
que les racines du polynôme de Pochhammer-Wilkinson sont en fait entières. En
particulier, ils suffit de borner le nombre de racines sur un ensemble qui étend N.
L’idée de la τ -conjecture réelle est de pouvoir utiliser le fait que R soit complet.
Toutefois, R n’est pas la seule complétion de Q. Ainsi, Kaitlyn Phillipson et Maurice
Rojas [83] ont introduit la τ -conjecture adélique (par rapport à la version de [83],
nous lui faisons bénéficier ici des améliorations de la sous-section 2.1).
482. VARIATIONS
Conjecture 3.27 (τ -conjecture adélique avec puissances). Soit L un des corps de
{R, Q2, Q3, Q5, . . .} où p est premier est Qp est le corps des nombres p-adiques. Il
existe un polynôme p tel que pour tout polynôme f(x) ∈ R[x] univarié, si f est de
la forme Pk
i=1
Vm
j=1 fi,j (x) où les polynômes fi,j sont des polynômes t-creux, alors le
nombre de racines distinctes de f dans L est au plus p(kt2
m).
Version monotone
Une autre remarque simple est que l’on aurait pu tout aussi bien utiliser dans les
preuves le polynôme PW−
n =
Q2
n
i=1(X +i) au lieu du polynôme PWn. En particulier
les conjectures peuvent être reformulées dans le cas où on ne considère que des
polynômes dont tous les coefficients sont positifs. On appellera de tels polynômes
des polynômes à coefficients positifs. On propose alors la conjecture :
Conjecture 3.28. Les propriétés suivantes sont vérifiées :
— Il existe un polynôme
P
p tel que si f(x) ∈ R[x] est un polynôme de la forme
k
i=1
Qm
j=1 fi,j (x) où les polynômes fi,j sont des polynômes t-creux à coeffi-
cients positifs, alors le nombre de racines réelles distinctes de f est au plus
p(kt2
m).
— Il existe un polynôme
P
p tel que si f(x) ∈ R[x] est un polynôme de la forme
k
i=1 f
αi
i
(x) où les polynômes fi sont des polynômes t-creux à coefficients
positifs et les puissances αi sont des entiers tels que 0 ≤ αi ≤ m, alors le
nombre de racines réelles distinctes de f est au plus p(kt2
m).
On remarque que les deux énoncés sont en fait équivalents et que cela peut être
prouvé de la même manière que pour le lemme 3.26. On montrera au chapitre 4 que
cette version de la conjecture est en faite équivalente aux conjectures 3.23 et 3.24.
Version avec multiplicités
La τ -conjecture réelle s’appuie sur l’idée qu’une somme de produits de polynômes
creux ne pourrait pas avoir un nombre exponentiel de racines distinctes. Nous pouvons
cependant imaginer d’autres caractéristiques. Par exemple, considérons la multiplicité
des racines non nulles au lieu du nombre de racines. La conjecture suivante
a été introduite dans [48].
Conjecture 3.29. Il existe un polynôme p tel que pour tout polynôme f(x) ∈ R[x]
univarié, si f est de la forme Pk
i=1
Vm
fi(x) où les polynômes fi sont des polynômes
t-creux, alors pour toute racine complexe non nulle r de f, la multiplicité de r est
bornée par p(kt2
m).
La preuve que cette conjecture implique que Permn ∈/ VP0
est similaire à celle
de la conjecture 3.24 mais en remplaçant les polynômes PWn par les polynômes Tn
du lemme 3.16.
Version combinatoire
Nous pouvons même définir une version combinatoire de cette conjecture.
Nous introduisons ici la notion de polygone de Newton. Plus d’informations sur le
sujet pourront par exemple être trouvées dans l’article de synthèse de Sturmfels [96].
49CHAPITRE 3. VARIANTES DE LA τ -CONJECTURE
Les polytopes de Newton sont une façon géométrique de représenter la structure
d’un polynôme. Par structure, il faut comprendre qu’ici seul l’ensemble des monômes
présents (ie. où le coefficients correspondant est non nul) sera considéré et qu’on ne se
préoccupera pas des valeurs prises par les coefficients. En particulier, les polynômes
Detn et Permn correspondent au même polytope.
Vis à vis des polytopes de Newton, on s’intéressera dans la suite seulement
au cas particulier où les polynômes sont bivariés. On parle alors de polygone de
Newton. Nous allons ainsi définir nos objets dans ce cadre là, bien que la plupart
des définitions pourraient, sans difficultés, être généralisées à “n” variables.
Si E est un ensemble du plan R
2
, cet ensemble est appelé convexe, si pour tout
couple de points (a, b) de E
2
, le segment réel [a, b] est inclus dans E. Si C est un
ensemble convexe, un point e de C est dit extrémal s’il n’appartient à aucun segment
strict ]a, b[ inclus dans C. Si P est un ensemble de points du plan, l’enveloppe convexe
est définie comme le plus petit ensemble convexe (au sens de l’inclusion) contenant P.
On la notera conv(P). Les polygones sont les enveloppes convexes des ensembles finis
de points, en particulier, ils sont convexes et exactement cactérisés par l’ensemble de
leurs points extrémaux. Enfin, si E et F sont deux sous-ensembles du plan euclidien,
la somme de Minkowski de E et de F désigne l’ensemble
{p + q ∈ R
2
| p ∈ E ∧ q ∈ F}.
Considérons un polynôme bivarié f ∈ A[X, Y ] où A est un anneau. À chacun des
monômes XiY
j apparaissant dans f avec un coefficient non nul, nous pouvons lui
associer le point de coordonnées (i, j) du plan euclidien. Nous noterons Mon(f) cet
ensemble fini de points. Par définition, le polytope de Newton de f, noté Newt(f),
est l’enveloppe convexe de Mon(f) (en particulier, Newt(f) = conv(Mon(f))). Remarquons
que Newt(f) a au plus t points extrémaux si f a t monômes, et donc au
plus t arêtes. En 1921, Ostrowski a montré [78] que le polygone de Newton d’un
produit de polynômes est la somme de Minkowski de leurs polygones de Newton
(une preuve simple peut être trouvée dans [33], lemme 2.1) :
Proposition 3.30 (Ostrowski).
Newt(fg) = Newt(f) + Newt(g) = {p + q | p ∈ Newt(f), q ∈ Newt(g)}.
Il en résulte que si f a s monômes et g a t monômes, alors Newt(fg) a au plus
s
P
+ t arêtes. Plus généralement, pour un produit f = g1g2 . . . gm, Newt(f) a au plus
m
i=1 ti arêtes où ti est le nombre de monômes de gi
; mais f peut bien sûr avoir
jusqu’à Qm
i=1 ti monômes. Le nombre d’arêtes d’un polygone de Newton est donc
facilement controlable dans le cas d’un produit de polynômes. En comparaison, la
situation n’est plus du tout claire pour une somme de produits. Nous proposons
dans l’article [66] la conjecture suivante.
Conjecture 3.31. Soit p un polynôme, si f est un polynôme de la forme
f(X, Y ) = X
k
i=1
aifi(X, Y )
m (3.2)
où ai ∈ C et les fi ont au plus t monômes, alors le nombre d’arêtes de Newt(f) est
borné supérieurement par p(kt2
m).
502. VARIATIONS
En développant les produits dans (3.2) nous observons que f a au plus ktm
monômes, et ceci est une borne supérieure sur le nombre d’arêtes de son polygone
de Newton. Dans le but d’améliorer cette borne si grossière, la principale difficulté
que l’on rencontre vient du fait que la somme de taille k dans la définition de f
peut créer des annulations de monômes. Ainsi, il se peut que certains sommets
de Newt(f) ne correspondent à aucun des sommets des polygones de Newton des
produits m
j=1 fi,j (X, Y ) pour 1 ≤ j ≤ k. Nous donnons deux exemples de telles
annulations ci-dessous. Nous pouvons remarquer que contrairement aux versions
considérant le nombre de racines réelles (conjecture 3.28), la question ici devient très
simple si tous les coefficients sont positifs. S’il n’y a pas d’annulations (par exemple,
si les fi,j ont seulement des coefficients positifs) alors nous avons effectivement une
borne supérieure polynomiale. Dans ce cas, Newt(f) est l’enveloppe convexe de
l’union des polygones de Newton des k produits. Chacun de ces k polygones de
Newton a au plus mt sommets, donc Newt(f) a au plus kmt sommets et autant
d’arêtes.
Exemple 3.32. Considérons les polynômes A(X, Y ) = XY + X2 + X2Y 2 + X3Y +
X5Y , B(X, Y )=1+ XY 2, C(X, Y ) = −X − XY − X2Y 2 et D(X, Y ) = Y + X +
X2Y + X4Y .
AB
point de Mon(AB)
CD
point de Mon(CD)
Alors,
AB + CD =(XY + X2 + X2
Y 2 + X3
Y + X5
Y + X2
Y 3 + X3
Y 2 + X3
Y 4
+ X4
Y 3 + X6
Y 3
) − (XY + X2 + X3
Y + X5
Y + XY 2
+ X2
Y + 2X3
Y 2 + X5
Y 2 + X2
Y 3 + X4
Y 3 + X6
Y 3
)
=X2
Y 2 + X3
Y 4 − XY 2 − X2
Y − X3
Y 2 − X5
Y 2
AB + CD AB AB + CD CD
point de Mon(AB + CD)
Les deux points bleus (“rectangles”) apparaissent dans l’enveloppe convexe de Mon(AB+
CD), mais ni dans celle de Mon(AB), ni dans celle de Mon(CD).
Exemple 3.33. Posons f(X, Y )=1+ X2Y + Y 2X, g(X, Y )=1+ X4Y + XY 4 et
considérons Mon(fg − 1).
51
Positionnement robuste et pr´ecis de r´eseaux dimages.
Pierre Moulon
To cite this version:
Pierre Moulon. Positionnement robuste et pr´ecis de r´eseaux dimages.. Signal and Image Processing.
Universit´e Paris-Est, 2014. French.
HAL Id: tel-00996935
https://tel.archives-ouvertes.fr/tel-00996935
Submitted on 27 May 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 Paris-Est
Mathématiques & Sciences et Technologies
de l’Information et de la Communication
THÈSE DE DOCTORAT
DE L’UNIVERSITÉ PARIS EST
Domaine : Traitement du Signal et des Images
présentée par Pierre MOULON
pour obtenir le grade de
DOCTEUR DE L’UNIVERSITÉ PARIS EST
Positionnement robuste et précis de réseaux d’images.
Soutenue publiquement le 10 janvier 2014 devant le jury composé de :
Adrien BARTOLI Université d’Auvergne Clermont1 Rapporteur
Julie DELON Université Paris Descartes Examinateur
David FOFI Université de Bourgogne Rapporteur
Marc PIERROT-DESEILLIGNY École Nationale des Sciences Géographiques Examinateur
Renaud MARLET École des Ponts ParisTech Directeur de Thèse
Benoît MAUJEAN Mikros Image Encadrant industriel
Pascal MONASSE École des Ponts ParisTech Co-Directeur de Thèse
Luc ROBERT Autodesk ExaminateurÉcole des Ponts ParisTech
LIGM-IMAGINE
6, Av Blaise Pascal - Cité Descartes
Champs-sur-Marne
77455 Marne-la-Vallée cedex 2
France
Université Paris-Est Marne-la-Vallée
École Doctorale Paris-Est MSTIC
Département Études Doctorales
6, Av Blaise Pascal - Cité Descartes
Champs-sur-Marne
77454 Marne-la-Vallée cedex 2
FranceIci, mon cher, c’est adorable, et je découvre tous les jours des choses toujours plus belles. C’est à en devenir
fou, tellement j’ai envie de tout faire, la tête m’en pète. [...] Eh bien, mon cher, je veux lutter, gratter,
recommencer, car on peut faire ce que l’on voit et que l’on comprend, et il me semble, quand je vois la
nature, que je vais tout faire, tout écrire, [...] quand on est à l’ouvrage [...] Tout cela prouve qu’il ne
faut penser qu’à cela.
C’est à force d’observation, de réflexion que l’on trouve. Ainsi piochons et piochons continuellement [...].
Extrait d’une lettre de Claude Monet à Frédéric Bazille écrite en 1864.45
Remerciements
Mes encadrants. Je remercie tout d’abord Benoît Maujean et Renaud Keriven pour
m’avoir offert l’opportunité de réaliser ce travail de recherche au sein du laboratoire
IMAGINE et de l’entreprise Mikros Image. C’est avec un immense plaisir que j’ai pu
travailler sous la direction de Renaud Marlet, Benoît Maujean et Pascal Monasse pour
leurs qualités pédagogiques, scientifiques et humaines. Profitant de leur infaillible soutien
j’ai pu découvrir le monde de la recherche, de l’application de la recherche en industrie
et en apprendre toujours plus sur la vision par ordinateur. Je les remercie pour
leur disponibilité ainsi que leur patience face à mes nombreuses questions, ce qui m’a
permis de réaliser avec confiance ce doctorat.
Comité de thèse. Je remercie Julie Delon, Marc Pierrot-Deseilligny et Luc Robert
d’avoir accepté de faire partie du jury et je remercie tout particulièrement Adrien Bartoli
et David Fofi pour avoir accepté d’être mes rapporteurs, en dépit du travail important
que cela représente.
Mes collègues d’entreprise. Je remercie mes collègues pour les discussions techniques,
les sujets aléatoires abordés, la passion partagée pour la technologie informatique
et les langages de programmation : Lauren Agopian, Marc-Antoine Arnaud, Arnaud
Chassagne, Guillaume Chatelet, Laurent Clavier, Julien Dubuisson, Adrien Dutertre,
Michael Etienne, Thomas Eskenazi, Marie Fétiveau, Antonio Fiestas, Alexandra
Lefève-Gourmelon, Guillaume Maucomble, Valentin Noël, Jules Pajot, Nicolas Provost,
Michael Guiral, Nicolas Rondaud, Élodie Souton. Je remercie les personnes qui se reconnaîtront
pour les nombreux traits d’humour partagés avec plus ou moins de succès.
Je remercie tout particulièrement Bruno Duisit, Christophe Courgeau , Benoît Maujean
et Guillaume Provôt pour avoir participé au projet MiMatte3D de sa genèse à sa réalisation
concrète.
Mes collègues du laboratoire. Je remercie les membres permanents pour tous leurs
conseils et suggestions qu’ils m’ont prodigués : Arnak Dalalyan et Guillaume Obozinski
pour les discussions sur les optimisations convexes, Nikos Paragios pour ses
précieux conseils pour l’écriture de ’rebuttal’, Bertrand Neveu pour toutes les références
que tu as récupérées plus vite que l’éclair.
Je remercie également les post-doctorants, doctorants, futur doctorants et chercheurs
du laboratoire pour la bonne humeur apportée au laboratoire : Martin De La Gorce,
Alexandre Boulc’h, Amine Bourki, Raghudeep Gadde, Mateusz Kozinski, Zhe Liu, Francisco
Vitor Suzano Massa, Yohann Salaün, Olivier Tournaire, Marina Vinyes, Zhongwei
Tang. Je souhaite bonne continuation aux stagiaires que j’ai encadrés. Badis Djellab,
Emmanuel Habbets, Tristan Faure, Luc Girod, Rafaël Marini Silva et Lucas Plaetevoet :
Vous m’avez ouvert l’esprit sur de nouvelles problématiques. Je remercie aussi ceux
qui sont partis vers d’autres horizons avant moi : Achraf Ben-Hamadou, Olivier Collier,
Jamil Drareni, Ferran Espuny et Hoang-Hiep Vu. Je remercie David Ok, Victoria
Rudakova et Pascal Monasse pour avoir fait de l’aventure PRoVisG Mars 3D Challenge
un succès et une expérience inoubliable au Jet Propulsion Laboratory de la NASA. Enfinje remercie Brigitte Mondou et Sylvie Cach pour leur disponibilité et réactivité qui nous
facilitent le quotidien lors des missions et dossiers administratifs.
Mes anciens professeurs. Une pensée à tous mes professeurs qui grâce à leur pédagogie
m’ont insufflé la passion du développement logiciel et de l’imagerie numérique.
Mes amis. Pour leur soutien et encouragements : Antonin P., Cyril L., Nicolas N.,
Philippe M., Michel T., Elvire et Ludovic T..
Ma famille. Je souhaite enfin exprimer ma gratitude envers mes proches qui m’ont
toujours encouragé et mes parents pour m’avoir donné les moyens de réaliser mes
études en adéquation avec mes passions. Enfin, mes plus profonds remerciements vont
vers Fanny, ma chère et tendre, pour la patience et la compréhension dont elle a fait
part durant ces trois dernières années et plus encore pour le bonheur que j’ai de vivre à
ses côtés depuis notre rencontre.
67
Résumé
Calculer une représentation 3D d’une scène rigide à partir d’une collection d’images
est aujourd’hui possible grâce aux progrès réalisés par les méthodes de stéréo-vision
multi-vues, et ce avec un simple appareil photographique. Le principe de reconstruction,
découlant de travaux de photogrammétrie, consiste à recouper les informations
provenant de plusieurs images, prises de points de vue différents, pour identifier les
positions et orientations relatives de chaque cliché. Une fois les positions et orientations
de caméras déterminées (calibration externe), la structure de la scène peut être
reconstruite.
Afin de résoudre le problème de calcul de la structure à partir du mouvement des
caméras (Structure-from-Motion), des méthodes séquentielles et globales ont été proposées.
Par nature, les méthodes séquentielles ont tendance à accumuler les erreurs.
Cela donne lieu le plus souvent à des trajectoires de caméras qui dérivent et, lorsque
les photos sont acquises autour d’un objet, à des reconstructions où les boucles ne se referment
pas. Au contraire, les méthodes globales considèrent le réseau de caméras dans
son ensemble. La configuration de caméras est recherchée et optimisée pour conserver
au mieux l’ensemble des contraintes de cyclicité du réseau. Des reconstructions de
meilleure qualité peuvent être obtenues, au détriment toutefois du temps de calcul.
Cette thèse propose d’analyser des problèmes critiques au cœur de ces méthodes de
calibration externe et de fournir des solutions pour améliorer leur performance (précision,
robustesse, vitesse) et leur facilité d’utilisation (paramétrisation restreinte).
Nous proposons tout d’abord un algorithme de suivi de points rapide et efficace.
Nous montrons ensuite que l’utilisation généralisée de l’estimation robuste de modèles
paramétriques a contrario permet de libérer l’utilisateur du réglage de seuils de détection,
et d’obtenir une chaîne de reconstruction qui s’adapte automatiquement aux données.
Dans un second temps, nous utilisons ces estimations robustes adaptatives et une
formulation du problème qui permet des optimisations convexes pour construire une
chaîne de calibration globale capable de passer à l’échelle. Nos expériences démontrent
que les estimations identifiées a contrario améliorent de manière notable la qualité d’estimation
de la position et de l’orientation des clichés, tout en étant automatiques et sans
paramètres, et ce même sur des réseaux de caméras complexes. Nous proposons enfin
d’améliorer le rendu visuel des reconstructions en proposant une optimisation convexe
de la consistance colorée entre images.
Mots-clefs
calibration ; stéréovision multi-vue ; stéréovision ; estimation robuste ; programmation
linéaire ; vision par ordinateur.89
Abstract
To compute a 3D representation of a rigid scene from a collection of pictures is now
possible thanks to the progress made by the multiple-view stereovision methods, even
with a simple camera. The reconstruction process, arising from the photogrammetry
consist in integrating information from multiple images taken from different viewpoints
in order to identify the relative positions and orientations of each shot. Once
the positions and orientations (external calibration) of the cameras are retrieved, the
structure of the scene can be reconstructed.
To solve the problem of calculating the Structure from Motion (SfM), sequential and
global methods have been proposed. By nature, sequential methods tend to accumulate
errors. This provides most often trajectories of cameras that are subject to drift error.
When pictures are acquired around an object it leads to reconstructions where the loops
do not close. In contrast, global methods consider the network of cameras as a whole.
The configuration of cameras is searched and optimized in order to to best preserve the
constraints of the cyclical network. Reconstructions of better quality can be obtained,
but at the expense of computation time.
This thesis aims to analyse critical issues at the heart of these methods of external
calibration and provide solutions to improve their performance (accuracy , robustness
and speed) and their ease of use (restricted parametrization).
We first propose a fast and efficient feature tracking algorithm. We then show that
the widespread use of a contrario robust estimation of parametric models frees the user
about choosing detection thresholds, and allows obtaining a chain of reconstruction
that automatically adapts to the data. Then in a second step, we use the adaptive robust
estimation and a series of convex optimization to build a scalable global calibration
chain. Our experiments show that the a contrario identified estimates improve signifi-
cantly the quality of the pictures’s positions and orientations, while being automatic
and without parameters , even on complex camera networks. Finally, we propose to
improve the visual appearance of the reconstruction by providing a convex optimization
of the color consistency between images.
Keywords
calibration ; multi-view stereovision ; stereovision ; robust estimation ; linear programming
; computer vision.10SOMMAIRE 11
Sommaire
1 Avant propos 13
1.1 La photogrammétrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2 La photogrammétrie et les effets spéciaux . . . . . . . . . . . . . . . . . . 19
1.2.1 Le Match-moving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.2 La PhotoModélisation/Image-Based-Modeling . . . . . . . . . . . . 21
1.3 Contexte de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2 Introduction 29
2.1 Organisation et contributions du manuscrit . . . . . . . . . . . . . . . . . 30
2.1.1 Contributions théoriques . . . . . . . . . . . . . . . . . . . . . . . 30
2.1.2 Contributions appliquées . . . . . . . . . . . . . . . . . . . . . . . 30
2.1.3 Contributions logicielles . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1.4 Participation à la vie scientifique . . . . . . . . . . . . . . . . . . . 33
2.1.5 Publications de l’auteur . . . . . . . . . . . . . . . . . . . . . . . . 35
3 La géométrie multiples vues et l’estimation de mouvements 37
3.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2 La géométrie caméra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3 La géométrie à 2 vues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4 La géométrie à 3 vues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5 La triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.6 L’estimation de pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.7 L’ajustement de faisceaux . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.8 La géométrie multiples-vues et l’estimation de mouvements . . . . . . . 49
3.9 La mise en correspondances de points saillants . . . . . . . . . . . . . . . 51
3.9.1 La détection de points saillants . . . . . . . . . . . . . . . . . . . . 52
3.9.2 La description de point saillants . . . . . . . . . . . . . . . . . . . 53
3.9.3 L’appariement de point saillants . . . . . . . . . . . . . . . . . . . 54
3.10 Méthode de fusion rapide de paires de correspondances de points saillants
entre images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.10.1 Une solution ensembliste pour la construction de traces de points
saillants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.11 Contributions de ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4 L’estimation robuste de modèles paramétriques 65
4.1 MAX-CONSENSUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2 RANSAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.1 Limitations et variantes . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3 A Contrario-RANSAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3.1 Le principe de la détection a contrario . . . . . . . . . . . . . . . . 7212 SOMMAIRE
4.3.2 Mise en correspondance a contrario pour l’estimation de la géométrie
épipolaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4 Généralisation de la mise en correspondance a contrario pour l’estimation
de modèles paramétriques . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.1 Généralisation du calcul du NFA et utilisations . . . . . . . . . . . 78
4.4.2 Application pour l’estimation de la géométrie relative entre deux
images sphériques . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.4.3 Évaluation expérimentale . . . . . . . . . . . . . . . . . . . . . . . 84
4.5 Contributions de ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5 Une chaîne de calibration séquentielle 91
5.1 État de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.1.1 Analyse du point clef des méthodes de reconstructions séquentielles
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.2 Impact de l’estimation robuste contrainte sur une chaîne de calibration
séquentielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.3 Une chaîne de calibration séquentielle a contrario . . . . . . . . . . . . . . 98
5.3.1 Une chaîne adaptative aux bruits des données . . . . . . . . . . . 99
5.4 Résultats et évaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.5 Contributions de ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.6 Les problématiques posées par les méthodes de calibrations séquentielles 109
6 Une chaîne de calibration globale 113
6.1 État de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.2 Une approche pour le passage à l’échelle basée sur des triplets . . . . . . 122
6.2.1 Inférence de graphes de rotations relatives . . . . . . . . . . . . . 123
6.2.2 Calcul de translations relatives stables par l’utilisation de tenseurs
tri-focaux réduits . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.2.3 Fusion de translations relatives sous la norme l∞ pour le positionnement
global rapide d’un réseau de caméras . . . . . . . . . . . 133
6.3 Mise en place de la chaîne de reconstruction . . . . . . . . . . . . . . . . 137
6.3.1 Optimisation pour le passage à l’échelle . . . . . . . . . . . . . . . 140
6.4 Résultats et évaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.5 Contributions de ce chapitre et perspectives . . . . . . . . . . . . . . . . . 156
7 Amélioration de la consistance colorée 159
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
7.2 État de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
7.3 Une approche d’optimisation convexe pour améliorer la consistance colorée
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
7.3.1 Évaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
7.4 Contributions et perspectives . . . . . . . . . . . . . . . . . . . . . . . . . 176
8 Conclusion et perspectives 17913
Chapitre 1
Avant propos
La reconstruction de l’espace tridimensionnel qui nous entoure à partir d’images est
un des défis posés à la vision par ordinateur. Parmi les techniques possibles, la stéréovision
est celle qui est la plus explorée. Son principe, découlant de travaux de photogrammétrie,
est de recouper les informations provenant de plusieurs images prises
de points de vue différents. Autrefois binoculaire et fournissant des informations partielles,
la stéréo-vision est maintenant multi-vues et permet l’obtention de modèles
complets de ce qui est observé. Des méthodes de reconstruction de structure à partir
du mouvement (Structure-from-Motion) ont fait naître des nouvelles perspectives pour
la photographie 3D. Ainsi avec un simple appareil photographique on peut désormais
reconstruire un environnement en trois dimensions. Ce domaine porteur de la vision
par ordinateur ouvre de nouveaux horizons et un champ d’application qui va bien
au delà des besoins initiaux suscités par la robotique. Les applications possibles sont
nombreuses : architecture et urbanisme (DE LUCA 2009), archéologie, métrologie, cartographie,
divertissement (panoramas, visites virtuelles, jeux vidéo interactifs). Les retombées
pour la production cinématographique et les effets spéciaux sont évidemment
multiples.
Les travaux de cette thèse concernent l’application de la stéréo-vision pour la reconstruction
la plus précise possible de décors à partir de photographies pour l’industrie
audio-visuelle.14 1–Avant propos
La captation du réel
Réaliser l’acquisition d’un environnement réel sur un support numérique comporte
trois étapes principales (DE LUCA 2006) :
L’acquisition des données spatiales met en œuvre le relevé de la morphologie, des
dimensions et des aspects de surface de l’environnement étudié. Cette phase peut
utiliser différents dispositifs basés sur le principe de mesure avec ou sans contact
sous différentes configurations. Dans le cas de la photogrammétrie le résultat de
cette phase consiste en un nuage de points (la structure) représentant avec plus ou
moins de densité l’environnement et une série d’images orientées et positionnées
dans l’espace.
La reconstruction tridimensionnelle des surfaces est l’étape de modélisation qui permet
de construire le modèle géométrique de l’édifice en s’appuyant sur les mesures
issues de la phase de relevé. Plusieurs techniques permettent une reconstruction
automatique, semi-automatique ou manuelle des surfaces à partir des
nuages de points. Ces techniques diffèrent en fonction des données d’entrées
qu’elles peuvent traiter et du type de représentations géométriques qu’elles peuvent
générer.
La restitution de l’apparence visuelle s’intéresse à l’enrichissement de la géométrie
issue de la phase de reconstruction. Des attributs capables de décrire les aspects
de surface sont ajoutés sur la reconstruction. Il s’agit principalement d’associer au
modèle 3D les informations photométriques acquises au moment du relevé.15
L’acquisition des données spatiales sous une forme numérique est généralement
réalisée par des méthodes dites de métrologie. Bien que cette thèse se concentre sur
des méthodes de photogrammétrie il est important de citer les différentes méthodes de
numérisation existantes. Il sera ainsi plus facile pour le lecteur de comprendre que la
photogrammétrie est un choix privilégié dans le cadre de ce travail.
Les méthodes d’acquisition du réel peuvent être classifiées en deux catégories : les
méthodes dites avec ou sans contact.
Avec contact. Les méthodes avec contact réalisent la numérisation d’un objet 3D
grâce à un contact physique avec l’objet.
Palpeur
La numérisation est réalisée par le biais d’un palpeur et d’un bras
articulé. Les mesures angulaires sur les articulations de l’arbre
permettent de connaître précisément la position du palpeur et
permettent ainsi de numériser des points de l’espace. Son usage
intrusif envers les objets rend la numérisation d’objets fragiles pé-
rilleuse et l’acquisition d’objets de large dimension impossible.
Un autre désavantage est la fréquence d’acquisition qui est limitée
par l’opérateur lui-même, contraint par la vitesse de déplacement
du bras mécanique. L’acquisition d’une surface dense n’est
donc pas envisageable par un opérateur. Ce type d’acquisition est
le plus souvent limité au milieu industriel et à la vérification de
cotes sur des chaînes de production.
Sans contact. Les méthodes sans contact sont réalisées avec des appareils d’acquisition
distants. On distingue deux méthodes d’acquisition, les méthodes actives et les
méthodes passives.
Méthodes actives :
Télémétrie
Les scanners actifs émettent un rayonnement et détectent sa ré-
flexion afin de sonder un objet ou une scène. Différents types de
source de rayonnement sont utilisés : lumière, ultrason ou rayon
X. Les appareils de mesures les plus connus de cette catégorie
sont les scanners LIDAR (dits à temps de vol) et les scanners 3D
(dits à décalage de phase). Les scanners LIDAR ont une portée
plus grande et une fréquence d’acquisition plus élevée (10 000 à
100 000 points par seconde) que les scanners à décalage de phase.
Ces technologies ont un coût élevé et demandent une formation
pour être utilisées. L’acquisition de larges volumes requiert plusieurs
acquisitions avec la présence de marqueurs cibles à position
fixe pour faciliter les recalages. Ils sont donc assez complexes
à réaliser.16 1–Avant propos
Photogrammétrie
et triangulation
Les scanners dits à lumière structurée utilisent un appareil photo
et une source de lumière contrôlée (un vidéo-projecteur). L’analyse
de la déformation d’un motif lumineux projeté sur l’objet
permet de déterminer le relief de la surface imagée. Selon le
temps et la précision de la reconstruction souhaitées on utilise
un ou plusieurs motifs (lignes, points). La démocratisation de ce
type de scanner a été réalisée avec brio par Microsoft et son produit
Kinect. La Kinect est un scanner 3D qui réalise l’analyse des
déformations en temps réel d’un motif projeté en infrarouge afin
de calculer une carte de profondeur et localiser les positions du
squelette d’un ou plusieurs joueurs. Un inconvénient de ces scanners
est que leur précision est limitée à la zone de netteté de la caméra
et donc seuls de petits espaces peuvent être reconstruits. Ces
méthodes utilisant une source de lumière infrarouge, les acquisitions
se limitent à des espaces intérieurs dans un espace contrôlé
afin de ne pas être perturbées par une source externe de lumière
(soleil).
StéréoPhotométrie
Ici on se place dans un cas similaire au précédent, on considère
toujours un appareil photographique fixe, mais on considère
désormais une source de lumière unique en mouvement. Le
fait d’avoir différentes images avec des conditions d’illumination
différentes permet de déterminer l’état de la surface de l’objet
considéré. Des normales à la surface sont ainsi calculées et une
phase d’intégration permet de déterminer une surface représentant
l’objet observé. Image extraite de WU et al. (2011b).
Méthode passive :
Photogrammétrie
et triangulation
Des images sont capturées autour de l’objet à mesurer. Connaissant
des points en correspondance entre les images, on peut identifier
les positions des caméras et des points 3D correspondants
par triangulation. On identifie ainsi le mouvement des caméras
(orientation et translation) ainsi que la structure (points 3D) de la
scène. Ce problème d’optimisation est résolu par des algorithmes
de calcul de structure à partir du mouvement. Ces points peuvent
être soit des points naturels détectés soit des points identifiés par
des marqueurs cibles posés sur la scène imagée.
La photogrammétrie passive apparaît comme une solution particulièrement intéressante
:
• Le pré requis matériel est faible, seul un appareil photographique est nécessaire,
• Le prix d’un appareil photographique numérique de bonne qualité est moindre
que le prix d’un scanner de type LIDAR,
• Aucune formation particulière n’est nécessaire pour manipuler le matériel,
• La scène observée n’est pas manipulée ou détériorée,
• Aucune source de lumière projetée et aucuns contacts aux objets ne sont nécessaires.1.1–La
photogrammétrie 17
1.1 La photogrammétrie
Le mot photogrammétrie apparaît comme une évolution du mot, «métrophotographie»,
apparu en 1850 par le biais d’Aimé Laussedat. Le terme se popularise ensuite
à l’échelle européenne puis internationale en photogrammétrie sous l’impulsion allemande
du photographe Otto Kersten et de l’ingénieur civil Albrecht Meydenbaeuer
(WOCHENBLATT 1867) comme illustré sur la figure 1.1. L’idée originale est de réaliser
des relevés métriques de bâtiments ou terrains à partir de photographies.
La photogrammétrie a ensuite évoluée en commençant sur des travaux basées sur
de la stéréovision (stereoscopic viewing) et les travaux de Carl Pulfrich sur le stereocomparator
créé en 1901 (cf. FRITSCH (2006)). L’acquisition de données topographiques
a été initiée par des pionniers comme Nadar en 1858 avec l’acquisition d’images aé-
riennes en ballon à des fins militaires. Par la suite, d’autres techniques d’acquisitions
ont suivi. Durant la première guerre mondiale, des cerf-volants, avions et même des pigeons
(PHOTOGRAPHIQUES 1910) ont servi de moyens de transport pour l’acquisition
et la reconnaissance de terrains. Cette période a permis de découvrir et de proposer des
solutions de correction pour la rectification et l’utilisation d’images stéréographiques.
Dans une seconde phase, le développement de la géométrie algorithmique projective,
la connaissance avancée du calcul matriciel et de l’algèbre linéaire ont donné naissance
à la photogrammétrie analytique (KRUPPA 1913) et à la théorie de l’ajustement de
faisceaux (BROWN 1976 ; SLAMA et al. 1980 ; TRIGGS et al. 2000). L’ajustement de faisceaux
est le processus qui consiste à optimiser simultanément la trajectoire de la caméra
et la structure de la scène. La photogrammétrie étant gourmande en calculs numériques
son utilisation a été grandement facilitée par l’arrivée de l’ordinateur.
Le troisième fait marquant dans l’histoire de la photogrammétrie est l’apparition
de la version moderne de la camera obscura (Aristote) : l’appareil photographique numérique
(GARETH A. LLOYD et STEVEN J. SASSON 1978). L’acquisition numérique et
l’accessibilité à des solutions de stockage de plus en plus grandes se sont tellement dé-
mocratisées que l’on a observé une scission des communautés de recherche en fonction
du style d’acquisition et d’application (cf. figure 1.1). On note après 1970 la pleine croissance
de la photogrammétrie aérienne et la télé-détection : (remote sensing), puis plus
tard l’apparition du terme Structure from Motion (SfM) et digital photogrammetry dans
les années 1980-90. Cette disparité temporelle a été observée car au début les appareils
photographiques numériques n’étaient accessibles qu’à la communauté acquisition aé-
rienne. Dans un second temps l’appareil photographique numérique est devenu grand
public et la photogrammétrie au sol (SfM, close-range photogrammetry) alors a pu se dé-
mocratiser.
photogrammetry structure from motion remote - sensing
1870 1875 1880 1885 1890 1895 1900 1905 1910 1915 1920 1925 1930 1935 1940 1945 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000
0.00%
0.000004%
0.000008%
0.000012%
0.000016%
0.00002%
digital photogrammetry
FIGURE 1.1 – Nombre d’occurrences des mots photogrammetry, structure-from-motion et
remote-sensing dans les ouvrages référencés par Google© entre les années 1860 à 2000.
Nous sommes actuellement dans une quatrième phase de la photogrammétrie : une
phase applicative. Nous pouvons observer que la communauté de la vision par ordinateur
à fait mûrir des techniques et des applications qui sont désormais utilisables de18 1–Avant propos
manière stable par tout un chacun. On notera que certaines applications permettent de
nos jours :
De créer une image panoramique depuis nos téléphones mobiles,
De chercher de l’information en photographiant une pochette de disque ou une af-
fiche : LTU Technologies 1
, Kooaba 2
,
De jouer de manière interactive avec un avatar virtuel imitant nos mouvements sur
notre télévision (Microsoft Kinect).
Une utilisation concrète de la photogrammétrie et de la vision par ordinateur à très
large échelle est le logiciel Google Maps. Cette application permet de visualiser la surface
de notre planète à travers notre navigateur Internet (une couverture intégrale du
globe en basse définition est disponible depuis 2005). La résolution en mode de visualisation
aérienne est telle que l’on peut observer sa propre maison ou compter les piétons
sur une place. L’inclusion récente des rues avec StreetView en 2007 permet de naviguer
dans les rues d’une ville, de visualiser concrètement la situation d’un monument ou
d’un magasin comme si on y était. Même si les informations actuellement proposées
sont en majorité seulement en 2 dimensions, des représentations 3D sont d’ores et déjà
en préparation ou visibles pour certaines villes du globe. La technologie de numérisation
3D de villes est en passe d’être mûre pour des applications concrètes comme l’ont
montrés les sociétés "C3 Technologies" et Acute3D 3
.
Le futur laisse entrevoir des solutions libres de partage et création de carte 3D
à l’instar d’OpenStreetMap auxquelles des utilisateurs ordinaires peuvent contribuer
pour apporter de l’information. Le fait que l’acquisition humaine soit limitée au sol
est aussi en phase de changement. Les moyens de transport suivant l’évolution aé-
ronautique au plus proche (ballons radiocommandés dirigeables, drones et UAV), le
futur laisse imaginer que l’acquisition aérienne sera réalisable par tout un chacun dans
quelques années avec un simple drone tel que le "Teeny, Tiny Crazyflie Nano Quadcopter"
développé en 2012 (cf. figure 1.2).
FIGURE 1.2 – De gauche à droite : Nadar et son ballon 1858, un pigeon photographe
1910, un drone Parrot 2010, un micro UAV 2012.
Cette obsession de recréer le réel pour en redéfinir l’usage est le but principal visé
par l’industrie audiovisuelle. Voyons les usages de la photogrammétrie pour la création
d’effets spéciaux.
1. LTU Technologies http://www.ltutech.com/fr/
2. Kooaba http://www.kooaba.com/
3. Acute3D http://www.acute3d.com1.2–La photogrammétrie et les effets spéciaux 19
1.2 La photogrammétrie et les effets spéciaux
Pour le domaine des effets spéciaux, le terme photogrammétrie est interprété comme :
une méthode pour acquérir une représentation manipulable d’un environnement. On
cherche à acquérir le réel pour en détourner l’usage. L’intérêt est d’obtenir des copies
numériques pour réaliser des trucages. Une collection de bâtiments (DE LUCA 2006)
ou d’objets et personnages (BHAT et BURKE 2011) peut être ainsi créée et détournée
(cf. figure 1.3). Les budgets étant souvent serrés la photogrammétrie s’impose comme
un choix avant tout financier. Le prix d’un appareil photo numérique est bien moins
élevé que celui d’un laser 3D d’acquisition LIDAR. Un autre avantage technique est le
fait que le support photographique apporte la représentation photo-réaliste tandis que
les LIDARs ne possèdent pas tous une caméra coaxiale pour acquérir avec précision la
couleur de chaque point 3D numérisé. Cependant malgré le fait que les techniques de
photogrammétrie semblent relativement mûres on réalise que l’usage de la technologie
n’est pas encore aisée pour les besoins spécifiques des effets spéciaux.
(a) (b)
FIGURE 1.3 – (a) La structure d’un bâtiment re-créée à partir de photographies (DE
LUCA 2006). (b) Copie numérique d’un acteur par la société Agence de Doublure Numérique
(image du Figaro).
Les objectifs principaux liés aux effets spéciaux mêlant réel et virtuel sont les suivants
:
– l’estimation du mouvement d’une caméra vidéo, Match-moving :
insertion d’éléments virtuels de manière réaliste sur une vidéo de tournage.
– La photo-modélisation, Image-Based-Modeling IBM :
la création d’une copie numérique d’un environnement à partir de photographies.20
1–Avant propos
1.2.1 Le Match-moving
Le match-moving/motion-tracking est une technique utilisée pour identifier la trajectoire
d’une caméra à partir d’une séquence vidéo. Ayant la connaissance d’une caméra
virtuelle il est possible de faire bouger des objets 3D qui auront un mouvement en cohérence
avec la vidéo. La fusion de la scène réelle avec la scène virtuelle (compositing)
donne alors l’impression qu’elles ont été filmées du même point de vue. On notera deux
catégories de match-moving en fonction des dégrés de liberté du mouvement recherché :
le suivi 2D dit bidimensionnel et le suivi 3D dit tridimensionnel.
Le suivi de mouvement bidimensionnel est disponible dans des logiciels tels que
Adobe After Effects, Discreet Combustion et Shake. Cette technique se limite au suivi
du mouvement de points particuliers choisis par l’utilisateur dans les images de la
séquence. Une fois le mouvement de ces points identifié il est appliqué à de nouveaux
objets venant occulter la vidéo avec un nouveau contenu. Cette technique est suffisante
pour des surfaces planes, des mouvements de caméras simples et si il n’y a pas eu de
changements importants des paramètres de la caméra. L’usage le plus classique est le
remplacement d’un panneau publicitaire placé en arrière-plan d’une séquence vidéo
par une autre image.
Le suivi de mouvement tridimensionnel va quant à lui extrapoler les informations
tridimensionnelles (le mouvement de caméra) à partir de photographies bidimensionnelles
(la séquence vidéo). Le processus d’estimation de la trajectoire de la caméra requiert
l’estimation de contraintes de géométrie projective et l’application du processus
d’ajustement de faisceaux. Les points suivis sont la plupart du temps précisés par l’opé-
rateur. Des méthodes automatiques existent pour identifier certains points saillants,
mais dans la plupart des cas des retouches manuelles sont nécessaires si la séquence vidéo
présente des éléments en désaccord de mouvement. En effet les méthodes couramment
utilisées considèrent en pré-requis que la scène observée est statique. L’opérateur
vient alors supprimer les points qui ne sont pas sur la scène rigide : objets ou acteurs
en mouvement.
Parmi les logiciels capables d’effectuer un match moving tridimensionnel on peut
citer :
• 2d3 Boujou,
• Blender (depuis la version 2.61),
• Icarus (logiciel gratuit),
• Maya Live (Module de Maya Unlimited),
• PixelFarm PFTrack (réincarnation commerciale d’Icarus),
• Realviz MatchMover (racheté par Autodesk),
• Ssontech SynthEyes,
• Science.D.Visions 3DEqualizer,
• Voodoo (logiciel gratuit),
• VooCAT (logiciel commercial, réincarnation commerciale de Voodoo),
• VideoTrace.
Le marché du logiciel est assez diversifié. Des alternatives (commerciales, gratuites
et open-source) existent et montrent que le marché est large et demandeur. Le suivi de
mouvement de scène non rigide est quant à lui un domaine encore en évolution et de
ce fait aucune solution logicielle commerciale n’est présente sur le marché.1.2–La photogrammétrie et les effets spéciaux 21
1.2.2 La PhotoModélisation/Image-Based-Modeling
Dans le cas de l’Image-Based-Modeling on recherche à créer une représentation photoréaliste
3D des éléments photographiés. Une solution logicielle doit être identifiée pour
les trois étapes évoquées au début de ce chapitre : l’acquisition des données spatiales,
la reconstruction tridimensionnelle des surfaces, la restitution de l’apparence visuelle
(cf. figure 1.4).
FIGURE 1.4 – Les étapes nécessaires pour la photo-modélisation : la calibration pour
acquérir les données spatiales, la photo-modélisation pour reconstruire une surface et
enfin le calcul de la restitution visuelle colorée.
L’application de la photogrammétrie pour la reconstruction de bâtiment comme élé-
ment de décor 3D pour le domaine des effets spéciaux a été initiée par DEBEVEC et al.
(1996) avec son logiciel FAÇADE. Les auteurs proposent d’optimiser simultanément la
reconstruction tridimensionnelle de surfaces planes et le placement des caméras dans
l’espace. Les entrées de l’algorithme sont des primitives géométriques, comme des parallélépipèdes,
placées manuellement par l’utilisateur dans les images sur les formes
d’un bâtiment. En connaissant la projection d’une série de plan et de contraintes orthogonales,
des blocs 3D et images sont ainsi orientés et placés dans l’espace. Dans
un second temps, un raffinement manuel de la géométrie et une projection de texture
permet d’enrichir le détail du modèle 3D (cf. figure 1.5).
FIGURE 1.5 – Le logiciel FAÇADE (de gauche à droite) : les arêtes des parallélépipèdes
utilisées, la reconstruction 3D obtenue et le rendu photo-réaliste.22 1–Avant propos
A la suite de ce projet, trois classes de solutions ont émergé :
1. des solutions de reconstruction 3D par saisie manuelle,
2. des solutions automatiques avec le mûrissement des techniques de photogrammétrie,
3. des solutions semi-automatiques permettant d’intéragir avec les résultats obtenus
de manière automatique.
1.Les solutions par saisie manuelle
Quatre solutions logicielles de reconstruction 3D par saisie manuelle ont émergé sur le
marché :
– Canoma 1999
Évolution commerciale de FAÇADE (DEBEVEC et al. 1996). Cette solution a
disparu du marché suite au rachat mené par MetaCreations puis par Adobe Systems
en 2000.
– Eossystems PhotoModeler 1993
Précurseur sur le marché, le logiciel ne cesse d’évoluer depuis.
– RealViz Image Modeler 2000
Transfert technologique issu de l’INRIA (Projet Robotvis). Racheté par Autodesk
en 2009.
– Banzai Pipeline Ltd Enwaii 2008
Conception d’un logiciel dédié pour les contraintes liées à la production des
effets spéciaux. La solution s’intègre à un outil métier de la production visuelle :
Autodesk Maya.
Ces solutions requièrent que l’utilisateur saisisse des informations en correspondance
entre images (le plus souvent des points). Ces points sont utilisés pour la phase de
calibration, des caméras sont ainsi positionnées dans l’espace et des points 3D très
éparses sont reconstruits. Dans un deuxième temps, l’utilisateur peut réaliser à la main
la photo-modélisation. Des faces sont ainsi saisies entre les points 3D (amers). Cette
tâche reste un travail de longue haleine mais permet un contrôle précis sur les amers
3D utilisés et permet de guider la modélisation à faible nombre de polygones.
FIGURE 1.6 – ImageModeler : De gauche à droite, les images sources, les points et la
géométrie saisies manuellement, la restitution colorée.1.2–La photogrammétrie et les effets spéciaux 23
2.Les solutions automatiques
Par la suite, le développement des techniques de photogrammétrie a permis l’émergence
de solutions automatiques. Ces solutions ont vu le jour grâce à :
– une évolution marquante de la stabilité de la recherche de points saillants communs
entre images (SIFT : LOWE (1999)).
– l’évolution des algorithmes de structure à partir du mouvement (POLLEFEYS et al.
2000 ; BROWN et LOWE 2005a ; SNAVELY et al. 2006).
Ces améliorations notables ont permis de réaliser automatiquement :
– le calcul de la pose d’images dans l’espace,
– la création d’un nuage de points dense représentant la scène,
– la création d’une surface représentant la scène,
– la projection des images sources sur une surface pour une représentation photoréaliste.
Des résultats très réalistes peuvent être obtenus si les photographies acquises sont
en adéquation en résolution et netteté pour les détails que l’on souhaite obtenir (cf.
figure 1.7).
FIGURE 1.7 – Création d’une copie numérique d’un visage à partir de 20 images, merci
à Cédric Guiard, Gilles Gambier et Pierre Lelièvre de ADN (Agence de Doublure Numérique)
pour l’acquisition de ces images.24 1–Avant propos
Les logiciels suivants sont apparus par la suite (liste non exhaustive) :
Société Produit lancement Pays Transfert de technologie
Metria Orthoware 2007 Espagne Université de Valence
Microsoft Photosynth 2008 USA Université de Washington
Agisoft Photoscan 2010 Russie ?
Eossystems Photomodeler 2010* Canada ?
Autodesk PhotoFly 2011 France Realviz
Acute3D SmartCapture 2011 France ENPC (IMAGINE)
Pix4D PixelScanner 2011 Suisse EPFL (Cvlab)
3DFlow 3DFZephyr 2012 Italie Université de Vérone
Aurvis PixelScanner 2013 Turquie Doctorant EPFL (Cvlab)
TABLE 1.1 – Listes des solutions commerciales pour la photogrammétrie automatique.
*Intégration de composants automatiques depuis 2010.
On remarque que les 3/4 des solutions sont issues de savoir-faire académique et
d’universités et que ces solutions automatiques émergent toutes dans les deux premières
décennies des années 2000. Les ruptures significatives des dernières années citées
au début de cette section montrent que la photogrammétrie est stable pour la réalisation
d’applications concrètes et que le calcul de structure à partir du mouvement est
donc en passe de devenir accessible pour le plus grand nombre.
Le fait le plus marquant qui démontre que la technologie est attractive est le projet
Photosynth. Ce projet, basé sur une collaboration de Microsoft avec l’université de
Washington et les travaux de SNAVELY et al. (2006) : "Photo tourism, exploring photo
collections in 3D", permet d’explorer de manière interactive ses collections de photos
personnelles en 3D. Le navigateur web est alors transformé en interface de navigation
où l’on se promène en 3 dimensions d’image à image (cf figure 1.8). Microsoft a su
mettre la technologie en accès libre via une plateforme de démonstration Internet pour
la visualisation et un logiciel client pour réaliser les calculs de photogrammétrie. Malgré
le fait que le résultat du calcul ne soit utilisable qu’à travers une interface Internet
et non téléchargeable, cette application a fortement démocratisé la reconstruction 3D à
partir de photographies.
FIGURE 1.8 – Photosynth : une interface de navigation sur une collection d’images positionnée
en 3 dimensions.1.2–La photogrammétrie et les effets spéciaux 25
3.Les solutions semi-automatiques
Quelques solutions semi-automatiques ont été proposées par le milieu académique
mais elles ne sont pas encore apparues dans des logiciels commerciaux. Elles proposent
de faciliter les étapes de photo-modélisation en proposant des amers initiaux afin de
faciliter la création de primitives géométriques. Deux solutions sont illustrées ici : PhotoModel
et O-Snap.
PhotoModel. (SINHA et al. 2008) considère une scène calibrée. Le logiciel utilise les
données suivantes :
– des caméras positionnées et orientées dans l’espace,
– un nuage de point initial,
– des lignes reconstruites en 3D (lignes de fuite détectées dans les images).
Lorsque l’utilisateur souhaite dessiner une facette 3D, il dessine les contours de cette
face sur l’image de son choix. La position 3D de la face est alors interprétée automatiquement
en fonction des données 3D visibles projetées à l’intérieur du polygone utilisateur.
Une équation de plan 3D est ainsi déterminée automatiquement en ayant utilisé
que peu d’interactions utilisateur, saisie dans une seule image (contrairement aux mé-
thodes manuelles vues précédemment).
(a)Images (b) Saisie 2D (c) Modèle 3D (d) Modèle 3D texturé
FIGURE 1.9 – PhotoModel : une interface de photo-modélisation qui se base sur des
interactions utilisateur et le support 3D de points et lignes de fuite.
O-Snap. (ARIKAN et al. 2013) propose une interface de modélisation qui utilise
seulement le nuage de point 3D. La reconstruction 3D polygonale peut être interactivement
raffinée par l’utilisateur. Un modèle initial est automatiquement créé via la
génération d’hypothèses de polygones plans les plus probables. L’utilisateur guide ensuite
la méthode automatique, vers le résultat qu’il souhaite, en indiquant des relations
d’adjacences entre polygones pour former la géométrie désirée (exemple : les connections
entre les murs et toits de la figure 1.10).
FIGURE 1.10 – Un aperçu de la chaîne semi-automatique de modélisation O-Snap. De
gauche à droite : Un nuage de point bruité et incomplet est décomposé en une sélection
de plans. Des relations d’adjacences de polygones proches sont identifiées afin de les
connecter et de raffiner le modèle. L’utilisateur guide ensuite le processus automatique
en rajoutant manuellement des relations d’adjacences. Un modèle à faible nombre de
polygones représentant le nuage de points 3D peut ainsi être reconstruit.26 1–Avant propos
La photogrammétrie et la photo-modélisation pour les effets spéciaux
Lorsque l’on regarde les solutions existantes, on constate qu’une seule solution est
pour l’instant dédiée au monde des effets spéciaux audiovisuels. Il s’agit de la solution
«Enwaii» proposée par «Banzai Pipeline Ltd.». Bien que la solution soit entièrement
manuelle, elle présente l’avantage de s’intégrer directement à un outil métier utilisé
dans le domaine : Autodesk Maya. Cette solution propose une alternative pour prendre
en compte les contraintes liées à la production de contenus multimédias pour l’industrie.
Cependant les solutions manuelles présentent un défaut majeur : c’est le niveau
d’implication de l’utilisateur qui conditionne la précision de saisie des correspondances
et donc la qualité du résultat obtenu. Les étapes de calibration et modélisation étant manuelles,
l’utilisateur doit être formé afin de produire de bons résultats. Un utilisateur
avisé sera à même d’obtenir de bien meilleurs résultats qu’un novice.
Les solutions automatiques, comme Agisoft Photoscan, demandent quant à elles
peu de formation, mais en contre partie ne donnent pas de contrôle à l’utilisateur sur
la chaîne de traitement. Lorsqu’un jeu de photographies ne permet pas l’obtention de
modèle 3D automatique, l’utilisateur ne peut obtenir aucun résultat.
L’idéal pour le marché de la postproduction audioviselle serait une solution semiautomatique
fonctionnant de l’acquisition photographique sur site à la production du
contenu 3D final. L’utilisateur pourrait alors guider le processus automatique sur des
jeux d’images restreint ou au contraire être guidé sur des jeux de données comportant
de nombreuses images.
1.3 Contexte de la thèse
Cette thèse CIFRE commencée en octobre 2010 a été effectuée au sein du groupe de
recherche IMAGINE pour la tutelle laboratoire et de l’équipe recherche et développement
de MIKROS IMAGE pour la tutelle entreprise.
IMAGINE. Le groupe de recherche IMAGINE est un projet collaboratif entre l’École
des Ponts Paristech et Chaussée (ENPC) et du Centre Scientifique et Technique du Bâtiment
(CSTB). Ce groupe de recherche appartient au Laboratoire Informatique Gaspard
Monge (LIGM) de l’Université Paris-Est Marne-la-Vallée (UPEM). L’expertise d’IMAGINE
se situe en vision par ordinateur, en traitement de maillage, en apprentissage
statistique, en optimisation, et en programmation par contraintes. Une partie des travaux
actuels concerne les thématiques suivantes :
– La reconstruction haute précision de surfaces 3D à partir de grandes quantités
d’images acquises sous des conditions non contrôlées. Expertise transférée en
2011 au sein de l’entreprise Acute3D par Renaud Keriven et Jean-Philippe Pons.
– L’amélioration des méthodes de calibration de caméra par le biais de l’utilisation
de méthodes statistiques avec le projet ANR Callisto. Ce projet, en collaboration
avec le CNES est réalisé dans le cadre du projet MISS (Mathématiques de l’Imagerie
Satellitaire Spatiale).
– L’interprétation des images et leur sémantisation pour reconstruire des façades
de bâtiments riches d’informations (fenêtres, portes, ...).
Le travail de l’équipe IMAGINE a été notamment remarqué à l’échelle internationale
grâce à des résultats en reconstruction de surface et d’algorithmes de stéréo-vision
multiple-vues denses (HIEP et al. 2009). Les reconstructions les plus précises et les plus1.3–Contexte de la thèse 27
complètes ont été obtenues sur le jeux de données de référence mise en place par le CVLAB
de l’EPFL (STRECHA et al. 2008). L’équipe a également obtenu en 2011 le premier
prix au challenge ”PRoVisG Mars 3D Challenge” consistant à évaluer la précision de
reconstruction de la trajectoire d’un robot terrestre et martien.
Mikros Image. Créé en 1985, Mikros Image est un prestataire de services spécialisé
dans les effets numériques visuels. Mikros Image gère pour ses clients plus de 300
projets par an tous domaines confondus, depuis la supervision de tournage, jusqu’à
la finalisation de films de cinéma, de spots de publicité, de programmes de télévision
ou de contenus pour Internet et la téléphonie mobile. La gamme de services proposée
comprend :
– Effets spéciaux et images de synthèse 2D & 3D,
– Animation,
– Montage et conformation,
– Étalonnage, transferts de support numériques/argentiques et argentiques/numériques,
masterisation,
– Laboratoires vidéo, film & compression,
– Gestion d’actifs et outils de transmission numérique.
Mikros Image est une filiale à 100% de la société MTC (Multimédia Télévision Cinéma),
dont le capital est majoritairement détenu depuis octobre 2006 par la société
italienne Mediacontech, cotée à Milan. Son effectif compte plus de 100 salariés fixes et
environ 50 intermittents free-lances.
Mikros Image possède des antennes dans quatre pays : France, Belgique, Luxembourg,
Canada. Depuis 1999, Mikros Image possède une activité de recherche et développement
qui mobilise environ 10% de l’effectif de la société. Ses outils «maison» permettent
d’augmenter ses capacités de production, d’optimiser la qualité de ses réalisations
et d’offrir de nouveaux services, notamment pour son développement stratégique
et commercial. Certaines de ses applications sont développées avec des partenaires industriels
ou universitaires, dans le cadre de projets collaboratifs. Le financement de ses
outils est en partie assuré par des organismes de soutien public à l’innovation.
Mikros Image se trouve sur un marché en pleine expansion. En effet, les films et les
publicités utilisent de plus en plus d’effets visuels. De plus, compte tenu de la variation
du degré d’exigence au niveau du rendu final en raison de budgets variables, de jeunes
entreprises émergent sur ce climat concurrentiel tendu. La valeur ajoutée de Mikros
Image reste sa capacité à mener à bien des projets complexes, dans un temps imparti et
avec un budget donné.28 1–Avant propos29
Chapitre 2
Introduction
Le problème de la reconstruction 3D par stéréo-vision à partir de caméras multiples
calibrées capturant une scène fixe est étudié depuis plusieurs décennies. Les travaux
initiés par (BEARDSLEY et al. 1996) puis étendus par (POLLEFEYS et al. 2000 ; BROWN et
LOWE 2005a ; SNAVELY et al. 2006) ont démontré qu’il est possible d’estimer de manière
séquentielle la structure à partir du mouvement d’une ou plusieurs caméras. Le principe
de reconstruction, découlant de travaux de photogrammétrie, consiste à comparer les
informations provenant de plusieurs images, prises de points de vue différents, pour
identifier les positions et orientations de chaque cliché (le mouvement) puis la géomé-
trie de la scène (la structure). Il a été démontré sur des jeux de données comportant une
vérité terrain (STRECHA et al. 2008) que les résultats de reconstruction sont quantitativement
comparables à des acquisitions lasers. Des erreurs de localisation de caméras
de l’ordre du centimètre ou millimètre ont été mesurées.
Cependant l’application de ces mêmes méthodes séquentielles sur de larges jeux
d’images n’est pas simple. Le passage à l’échelle n’est alors atteignable qu’en ayant
recours à diverses approximations. Des implémentations massivement parallèles sont
utilisées pour accélérer la recherche de correspondances entre images (AGARWAL et
al. 2009). Des solutions dédiées pour l’ajustement non linéaire de paramètres sur GPU
sont utilisées (WU et al. 2011a). Des localisations GPS approximatives peuvent être utilisées
pour certaines images (CRANDALL et al. 2011) ou bien des informations GPS sont
combinées avec des plans de cadastre issus de bases de données GIS (système d’information
géographique) (STRECHA et al. 2010). Toutes ces approximations permettent
effectivement de traiter des jeux de données de plus en plus grands, mais ce passage
à l’échelle est réalisé au détriment de l’estimation de la position des caméras. Une pré-
cision moyenne de l’ordre du mètre est alors obtenue sur de larges jeux de données
(CRANDALL et al. 2011 ; WU 2013).
Le principal défaut de ces méthodes séquentielles est l’accumulation d’erreurs due
à la nature du processus. On observe des dérives lors de l’estimation des poses. Une
trajectoire circulaire est ainsi souvent identifiée en spirale. Des méthodes considérant
les poses de caméras de manière globale ont été développées (OLSSON et ENQVIST
2011 ; MARTINEC et PAJDLA 2007) pour supprimer ce phénomène de dérive, mais une
fois de plus le passage à l’échelle n’est pas aisé.
Ces méthodes d’estimation de pose et orientation de caméras possèdent des limitations
sur les points suivants :
• la robustesse,
• la précision,
• le passage à l’échelle.30 2–Introduction
Nous proposons dans cette thèse des solutions alternatives pour chacune de ces
limitations. Nous démontrerons l’impact positif des solutions proposées, en termes de
performances quantitatives et de temps de calcul.
2.1 Organisation et contributions du manuscrit
Cette thèse concentre son étude sur l’estimation de structure à partir du mouvement
(SfM) dans le cadre d’une application pour la postproduction audiovisuelle et
plus particulièrement la reconstruction de décors. Elle se focalise sur l’estimation pré-
cise de poses des caméras afin d’obtenir la meilleure représentation 3D possible de
l’environnement photographié.
La thèse s’articule autour de contributions sur les axes suivants :
• le suivi de points saillants dans des images non ordonnées,
• la généralisation de l’utilisation d’un estimateur robuste statistique de modèles
paramétriques,
• la vérification de l’impact, à large échelle, d’estimateurs robustes adaptatifs dans
les méthodes de calibration séquentielles,
• la robustesse et le passage à l’échelle pour l’estimation globale de la position d’un
réseau de caméras,
• l’harmonisation colorée d’un ensemble d’images multiple-vues.
2.1.1 Contributions théoriques
Les contributions théoriques sont axées sur :
1. Une généralisation des travaux de MOISAN et STIVAL (2004) et RABIN (2009) :
Nous proposons de généraliser le cadre d’estimation robuste de modèle paramétrique
défini par MOISAN et STIVAL (2004) afin de pouvoir utiliser cette estimation
robuste adaptative à la reconstruction 3D. Nous montrerons que la formulation
générique permet de réaliser des estimations de poses relatives, de matrices
de projection, de tenseurs tri-focaux. Nous proposerons des travaux préliminaires
pour explorer une paramétrisation a contrario d’erreurs angulaires appliquée à
l’estimation de pose relative d’images sphériques.
2. L’utilisation d’optimisation convexe pour garantir l’obtention d’un minima global
:
Nous proposons de réaliser par minimisation convexe la fusion de translations
relatives dans un repère global commun sous norme l∞ afin de calibrer
globalement en position un réseau de caméras. Nous présenterons finalement
un ajustement d’histogrammes via une déformation linéaire sous norme l∞ pour
l’harmonisation colorée d’une séquence d’images.
2.1.2 Contributions appliquées
Dans le cadre d’un projet de recherche et innovation, «Mimatte3D», nous avons dé-
veloppé une chaîne de reconstruction 3D prenant en compte les besoins métiers liés à
la postproduction audiovisuelle. Des outils permettant à l’utilisateur de guider le processus
automatique de reconstruction ont été réalisés (cf. figure 2.1). Ce projet subventionné,
OSEO-CNC-RIAM - 2012, a été réalisé par Benoit MAUJEAN, Bruno DUISIT,2.1–Organisation et contributions du manuscrit 31
Pierre MOULON et Christophe COURGEAU. Ce projet s’implique dans la vision industrielle
liée à cette thèse CIFRE.
Contributions
FIGURE 2.1 – Chaîne de traitement MiMatte3D pour l’aide à la construction de décors.
La chaîne «Mimatte3D» propose une suite d’outils pour l’aide à la reconstruction de
décor virtuel photo-réaliste à partir de photos s’intégrant le plus facilement aux outils
métiers des mattes-painters, les créateurs de décors. Le projet débouche sur les outils
suivants :
• MILINK : un outil de visualisation et édition de réseau de connections d’images
pour l’aide à la suppression de mises en correspondances d’images aberrantes,
• MICALIB : une chaîne de calibration externe séquentielle et une chaîne de calibration
globale,
• MIMODE : une interface d’aide à la photo-modélisation,
• MIMATTEIMPORTER : une interface de la géométrie de calibration pour le logiciel
d’édition 3D Autodesk Maya (caméras, nuages de points, plan images),
• MIPROJCAM : un outil de projection de texture sur de la géométrie pour le logiciel
d’édition 3D Autodesk Maya.
FIGURE 2.2 – Haut : une partie des images utilisées pour la reconstruction photoréaliste.
Bas : la calibration externe, la photo-modélisation et la restitution visuelle.32 2–Introduction
Cette chaîne réalisée pour le compte de Mikros Image est basée sur la librairie open
source OpenMVG réalisée pendant cette thèse.
Les figures 2.3, 2.4 illustrent des exemples de reconstruction de décors réalisés à
partir de collections d’images dans la phase finale du projet OSEO-CNC-RIAM - 2012 :
FIGURE 2.3 – Modélisation de la Mairie de Montrouge réalisée à partir de 20 images
acquises à partir d’un téléphone mobile.
FIGURE 2.4 – Modélisation de l’église du village de Ault réalisée à partir de 109 images.2.1–Organisation et contributions du manuscrit 33
2.1.3 Contributions logicielles
– PPT-GUI (Python Photogrammetry Toolbox)
Ce projet co-développé en collaboration avec Alessandro Bezzi et Luca Bezzi
d’ARC-TEAM permet un accès simplifié à des outils open-source de photogrammétrie
(Bundler (SNAVELY et al. 2006), CMVS (FURUKAWA et al. 2010), PMVS
(FURUKAWA et PONCE 2010)) sous les systèmes d’exploitation Linux et Windows.
Ce projet est intégré à la distribution Linux ArcheOS dédiée aux archéologues et
utilisé avec succès pour de nombreux projets de reconstitution faciale (cf. figure
2.5).
FIGURE 2.5 – Projets de reconstitution faciale menés par Cicero Moraes à partir de photographies
de crânes reconstitués en 3D via l’utilisation de PPT-GUI et Blender.
–
VG
VG
VG
openMVG (Open-source MultipleViewGeometry) est une bibliothèque C++
open-source conçue pour la recherche reproductible en vision par ordinateur. Elle
fournit une implémentation de l’état de l’art et un accès facilité aux outils communs
utilisés en géométrie multi-vues. La bibliothèque est multiplateforme, peut
être compilée sous Windows, Linux, MacOS et est utilisable sur des architectures
de type ARM (Apple Iphone iOS). Cette bibliothèque contient le code relatif aux
publications CVMP2012, ACCV 2012 et IPOL 2012. La qualité de ce projet est évaluée
dans le temps par une machine d’intégration continue et une série de tests
unitaires garantissant la non régression des fonctionnalités délivrées.
2.1.4 Participation à la vie scientifique
Récompenses :
• Le 31/10/2011 le groupe Imagine remporte le premier prix du PROVISG Mars 3D
Challenge. La compétition portant sur 3 thématiques :
1. la reconstruction de cartes de disparité,
2. la reconstruction de trajectoires de caméras à partir d’images acquises par
un robot,
3. la reconstruction 3D de la géométrie de la scène observée par le robot (cf.
figure 2.6),
nous a désignés vainqueurs parmis les 6 équipes participantes. Les évaluations
ont été réalisées sur des images du CNES et du robot martien «MER Mars Exploration
Rovers», fournies par le comité organisateur (le CMP (Center for Machine
Perception) de l’université CTU de Prague).34 2–Introduction
FIGURE 2.6 – Exemple de la reconstruction 3D d’un artefact de la planète Mars que nous
avons pu réaliser à partir d’images du robot MER fournies par le comité organisateur.
Les résultats ont été présentés à la conférence ICCV en 2011 au groupe de travail
«CVVT :E2M – Computer Vision in Vehicle Technology : From Earth to Mars»
et publié dans le journal de la conférence. Je tiens à remercier David Ok, Victoria
Rudakova et Pascal Monasse sans qui cette aventure n’aurait pas été couronnée de
succès et aussi Gerhard Paar, Rongxing (Ron) Li et Tomas Pajdla pour leur accueil
à l’université de Columbus et au JPL Nasa pour la présentation des résultats.
• Vainqueur du prix NVIDIA pour le meilleur papier court à la conférence CVMP
2013 pour le travail intitulé ’Global Multiple View Color Consistency’.
Encadrement de stages :
• Badis Djellab étudiant ENPC :
Stage réalisé au laboratoire Imagine sur l’estimation multi-modèle en utilisant
les méthodes de J-Linkage (TOLDO et FUSIELLO 2008). Étude de l’impact de la
suppression a contrario de modèle non-significatif pour accélérer et estimer avec
plus de précision le nombre de modèles à identifier.
• Bruno Duisit étudiant Polytech Paris Sud (Université Paris XI) :
Stage réalisé au sein de l’entreprise Mikros Image sur la modélisation 3D à
partir d’une image dans le logiciel Maya et la réalisation d’une interface de visualisation
et édition de graphes d’images.
• Tristan Faure et Luc Girod étudiants ENSG :
Stage réalisé au laboratoire Imagine sur la mise en place d’un protocole d’acquisition
de vérité terrain pour une évaluation des méthodes de photogrammé-
trie.
• Emmanuel Habbets étudiant ENSG :
Stage réalisé au laboratoire Imagine sur le calcul et la fusion de cartes de disparité.
Implémentation partielle d’une chaîne de traitement similaire aux travaux
de TOLA et al. (2012).
• Rafaël Marini Silva étudiant de l’école polytechnique :
Stage réalisé sur les méthodes de recherche de plus proches voisins parmi de
larges collections d’images. Implémentation d’un moteur de recherche basé sur la
quantification d’espace descriptif (JEGOU et al. 2011).
• Lucas Plaetevoet étudiant ENPC :
Stage réalisé au laboratoire Imagine sur la fusion d’acquisition de nuage de
points issus de capteur de type Kinect (lumière structurée).2.1–Organisation et contributions du manuscrit 35
Encadrement salarié :
• Bruno Duisit (Mikros Image) :
Encadrement de Bruno sur la thématique du projet MiMatte3D (cf. section
2.1.2).
Relecteur :
Relecteur pour le journal en ligne IPOL http://www.ipol.im.
2.1.5 Publications de l’auteur
• Revue internationale :
Automatic Homographic Registration of a Pair of Images, with A Contrario
Elimination of Outliers. L Moisan, P Moulon, P Monasse. IPOL 2012.
• Conférence internationale avec actes :
Global Fusion of Relative Motions for Robust, Accurate and Scalable Structure
from Motion. P Moulon, P Monasse, R Marlet. ICCV 2013.
Adaptive Structure from Motion with a contrario model estimation. P Moulon,
P Monasse, R Marlet. ACCV 2012.
• Démonstration en conférence internationale :
Adaptive model estimation, a real time demonstration. P Moulon, P Monasse,
R Marlet. ACCV 2012.
• Conférence internationale avec comité de relecture :
Global Multiple-View Color Consistency. P Moulon, D Bruno, P Monasse.
CVMP 2013. (Vainqueur du prix NVIDIA pour le meilleur papier court).
Unordered feature tracking made fast and easy. P Moulon, P Monasse. CVMP
2012.
• Conférence nationale avec comité de relecture :
La bibliothèque openMVG : open source Multiple View Geometry. P Moulon,
P Monasse, R Marlet. Orasis, Congrès des jeunes chercheurs en vision par
ordinateur 2013.
Estimation robuste de modèles a contrario, impact sur la précision en structure
from motion. Présentation orale. P Moulon, P Monasse, R Marlet. ISS France
2013.
• Groupe de travail :
L’utilizzo di tecniche structure from motion e imagebased modelling in ambienti
estremi. P Moulon, Nicolò Dell’Unto, A Bezzi, L Bezzi, Rupert Gietl. Low
Cost 3D 2012.
Python Photogrammetry Toolbox : A free solution for Three-Dimensional Documentation.
P Moulon, A Bezzi. ArchoFoss 2011.
• Bibliothèque open source :
OpenMVG Open-source MultipleViewGeometry 2012. https://github.com/
openMVG/openMVG.36 2–Introduction37
Chapitre 3
La géométrie multiples vues et
l’estimation de mouvements
Lorsqu’une scène est photographiée sous plusieurs points de vue, la connaissance
du déplacement apparent des éléments de la scène à travers la série d’images permet de
retrouver le déplacement de l’appareil photographique et d’obtenir une représentation
3D de la scène observée : on parle alors de SfM Structure from Motion.
Ce chapitre présente :
1. le modèle projectif classique de caméra,
2. une série de relations géométriques formulées à partir de correspondances de
points homologues entre photographies,
3. comment détecter et suivre des éléments à travers une série d’images.
Sommaire
3.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2 La géométrie caméra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3 La géométrie à 2 vues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4 La géométrie à 3 vues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5 La triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.6 L’estimation de pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.7 L’ajustement de faisceaux . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.8 La géométrie multiples-vues et l’estimation de mouvements . . . . . 49
3.9 La mise en correspondances de points saillants . . . . . . . . . . . . . 51
3.9.1 La détection de points saillants . . . . . . . . . . . . . . . . . . . 52
3.9.2 La description de point saillants . . . . . . . . . . . . . . . . . . 53
3.9.3 L’appariement de point saillants . . . . . . . . . . . . . . . . . . 54
3.10 Méthode de fusion rapide de paires de correspondances de points
saillants entre images . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.10.1 Une solution ensembliste pour la construction de traces de points
saillants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.11 Contributions de ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . 6338 3–La géométrie multiples vues et l’estimation de mouvements
3.1 Notations
Dans les sections suivantes nous allons travailler avec des coordonnées définies
dans un espace cartésien ou projectif. En géométrie projective, les coordonnées homogènes
rendent les calculs possibles dans l’espace projectif comme les coordonnées
cartésiennes le permettent dans l’espace euclidien. Les coordonnées homogènes d’un
point de l’espace projectif de dimension n (x,y,z,...) sont écrites habituellement comme
un vecteur de longueur n + 1 (x,y,z, ... , w). Deux ensembles de coordonnées qui sont
proportionnels dénotent le même point d’espace projectif : pour tout scalaire non-nul c,
(cx, cy, cz,..., cw) est équivalent à (x, y,z,w). La coordonnée w = 0 permet de représenter
un élément à l’infini. Le passage de coordonnées homogènes à des cordonnées carté-
siennes est réalisé en divisant les n premiers éléments par le n+1
e
, soit w.
Un point 3D en coordonnées homogènes X4×1 = {X(1),X(2),X(3),X(4)} est repré-
senté en coordonnées cartésiennes X3×1. Pour tout W différent de 0, on obtient l’équation
:
X = (X(1)/W,X(2)/W,X(3)/W)
T X ∼ (
∼
X,
∼
Y,
∼
Z,1)
T
, (3.1)
avec ∼ définissant l’égalité à une échelle 1
W
près avec W = X(4).
De la même manière, un point 2D en coordonnées homogènes x3×1 = {x(1),x(2),x(3)},
est en relation avec son équivalent en coordonnées cartésiennes x2×1 :
x = (x(1)/w,x(2)/w)
T
x ∼ (
∼
x,
∼
y,1)
T
(3.2)
avec ∼ définissant l’égalité à une échelle 1
w
près avec w = x(3).
Notations complémentaires
x Un point en coordonnées cartésiennes
x Un point en coordonnées homogènes
{A} Une liste d’éléments de type A
[A] Une liste ordonnée d’éléments de type A
(A,B) Couple d’éléments associés, ici un 2-uplet
R Matrice de rotation
t Vecteur de translation
C Position du centre de projection d’une caméra
K Matrice des paramètres intrinsèques d’une caméra
Xj Point 3D d’index j
x
i
j Projection du point 3D Xj dans l’image i
tr Déplacements apparents des projections des points {Xj}j dans une série d’images
GA Graphe entre élements de type A
R
k
i
k
e
ligne de la matrice de rotation de l’image i
t
k
i
k
e composante du vecteur de translation de l’image i
x
i
j
(k) k
e composante du point x
i
j3.2–La géométrie caméra 39
3.2 La géométrie caméra
Un sténopé modélise un appareil photographique comme un système réalisant la
projection centrale d’une scène en 3 dimensions en 2 dimensions. Une image est le ré-
sultat d’une intégration de rayons lumineux observés sur une surface sensible durant
un court intervalle de temps à travers une série de lentilles. Lorsque ce système optique
est approximé par une seule lentille, on obtient un modèle simple de projection perspective,
le modèle sténopé. Dû au fait que l’ensemble des rayons lumineux observés
passe par un seul et unique point (le centre de projection) ces caméras sont souvent
appelées pinhole.
FIGURE 3.1 – Illustration d’une caméra sténopé. Un point 3D X est projeté en x sur un
plan image par une projection centrale. On appelle paramètres extrinsèques, la transformation
rigide [R|t] entre le repère monde O et la position de la caméra C. Pour simplifier
le plan image est ici montré en avant du centre optique C. Sur une caméra réelle ce plan
image est situé derrière le centre optique et tourné à 180◦
.
Ce système d’acquisition peut être réduit à deux composantes principales :
– un système optique permettant de réaliser la projection de la scène observée sur
un plan focal : R
3 → R
2
.
– une surface photo-sensible qui capte les densités de photons par pixels pour
former une image.
Une caméra sténopé transforme un point X de R
3
en un point image x de R
2 à
travers deux opérations :
Un changement de repère. Soit Xc un point monde défini dans le repère de la caméra :
Xc =
R t
0 1
X (3.3)
Cette relation de passage entre le repère monde et le repère local caméra dépend
de 6 degrés de liberté que l’on appelle les paramètres extrinsèques :
– 3 degrés de liberté pour l’orientation de la caméra : une matrice de rotation
R3×3,
– 3 degrés de liberté pour la translation, décrite par le vecteur t3×1, t représente
la position de l’origine monde O dans le repère caméra. La position C du centre
optique de la caméra est donc C = −R
T
t.40 3–La géométrie multiples vues et l’estimation de mouvements
Une projection et une mise à l’échelle. La transformation réalisée par l’optique et la
géométrie du capteur est modélisée par les paramètres intrinsèques définis par le
biais de 6 paramètres par une matrice K×3. Cette matrice dite de calibration ou
bien calibrage, peut s’écrire comme suit :
K =
f ku s cu
f kv cv
1
(3.4)
Soit :
– f la distance focale, distance du centre optique au plan focal,
– s, ku et kv des facteurs d’échelles,
– c : (cu, cv) le point principal modélise le décalage de l’origine,
Un point 3D en repère caméra Xc a pour correspondant x image :
x = [K|0]Xc = K
R t
0 1
X (3.5)
Ainsi un point x en repère image est transformé en un rayon en repère caméra xˆ
comme suit :
xˆ = K
−1
x (3.6)
Pour simplifier nous utiliserons c au centre de l’image de taille w×h et des pixels
carrés sur la surface photo sensible (ku = kv = 1 et s = 0) :
K =
f w/2
f h/2
1
(3.7)
Finalement ces deux transformations peuvent être combinées en une seule opération
matricielle. Un point X exprimé dans le repère monde est donc relié à sa projection
image x par la formule suivante :
x = PX (3.8)
Avec P = K[R|t] une matrice de projection de taille 3×4.
On néglige ici la distorsion causée par l’optique. Nous invitons le lecteur à consulter
les travaux de (BROWN 1966) pour plus de détails.3.3–La géométrie à 2 vues 41
3.3 La géométrie à 2 vues
Homographie
Lorsqu’un objet est plan, il est possible de définir une transformation exacte entre les
points homologues x et x
′
. La transformation la plus générale pour ce couple de points
(x, x
′
) est appelée homographie. L’homographie désigne une classe de transformations
projectives qui conservent les alignements. Si tous les points appartiennent à un même
plan, alors les projections obtenues dans les images conservent leur alignement (cf.
figure 3.2). L’image d’une ligne reste donc une ligne.
La fonction de passage entre les coordonnées de l’observation dans l’image gauche
et droite (x, x
′
), est définie par une transformation homographique H.
x
′ = Hx (3.9)
H est une matrice de transformation :
– projective 2D linéaire conservant les alignements,
– inversible entre les plans projectifs. On peut donc écrire :
x = H
−1
x
′
. (3.10)
– de taille 3×3 définie à un facteur près qui lui confère 8 degrés de liberté.
La matrice H étant définie à un facteur d’échelle près et chaque couple de points
homologues fournissant 2 équations indépendantes sur H, quatre points homologues
sont nécessaires pour définir de manière unique les huit paramètres indépendants de
l’homographie. Certaines configurations de points peuvent mener à des cas dégénérés,
nous invitons le lecteur à lire MOISAN et al. (2012) pour les détecter.
FIGURE 3.2 – La relation homographique établit une relation point à point entre les
images d’une surface plane dans plans images.
Note : Lorsqu’une caméra effectue un mouvement de rotation autour de son centre
optique (le point nodal), les images acquises sont reliées par des homographies. Ce
mouvement particulier de caméra permet la construction d’images panoramiques.42 3–La géométrie multiples vues et l’estimation de mouvements
La matrice essentielle et la géométrie épipolaire
La notion de matrice essentielle E a été proposée par LONGUET HIGGINS (1981). La
matrice E modélise le changement de repère entre deux caméras : une rotation R et une
translation t.
Cette géométrie repose sur la géométrie épipolaire qui associe à un point x une droite
l
′
(x), notée l
′ pour simplification. Cette droite, dite ligne épipolaire, est située à l’intersection
du plan image droit et du plan épipolaire défini par les points C, C
′
et x. l
′
est ainsi l’observation du rayon −→CX par la caméra C
′
. Toutes les lignes épipolaires ont
un point commun, la projection du centre optique de l’autre caméra. Ces points sont
appelés épipôles et sont notés e, e
′
respectivement pour la caméra gauche et droite.
FIGURE 3.3 – Relation épipolaire entre deux images. Étant donné une projection x d’un
point 3D X, sa projection x
′ dans l’image droite est restreinte à la ligne épipolaire correspondante
l
′
.
La contrainte épipolaire est traduite par l’utilisation de la matrice essentielle E. Cette
matrice permet de mettre en relation une correspondance de point entre deux images.
Soit deux caméras P = [I|0] et P
′ = [R|t]. Étant donné un point X en coordonnée euclidienne
dans le repère de la caméra gauche, sa position dans le repère de la caméra
droite est :
X
′ = RX +t (3.11)
Une pré-multiplication par X
T
[t]× permet d’obtenir :
X
T
[t]×RX′ = X
TEX′
(3.12)
ou E ∼ [t]×R est une matrice 3×3 et t est un vecteur de taille 3. [t]× est la représentation
matricielle du produit vectoriel (cross product matrix). Il est intéressant de noter que la
relation 3.12 est aussi utilisable avec des correspondances en repère caméra :
xˆ′
T
Exˆ = 0 (3.13)
E possède 5 degrés de liberté car elle dépend seulement de R et de la direction de
translation t. Multiplier t par un facteur d’échelle revient à multiplier E par le même
facteur, ce qui exprime les mêmes contraintes.
La matrice essentielle peut être identifiée à partir de 8 correspondances si l’on utilise
la formulation générale x
′TEx = 0 sans contraintes de structure de la matrice E et 5
points si l’on utilise des matrices de calibration connues cf. (NISTÉR 2004 ; LI et HARTLEY
2006).3.3–La géométrie à 2 vues 43
La matrice fondamentale
La géométrie épipolaire a notamment été étudiée par LUONG (1992) et FAUGERAS
(1992). Pour toute correspondance entre deux images on peut reprendre l’équation
3.13 :
xˆ′
T
Exˆ = 0
et l’écrire en considérant des points images (en coordonnées image, pixels) :
(K
−1
r x
′
)
TE(K
−1
l
x) = 0,
x
′T
(K
−T
r EK
−1
l
)x = 0,
x
′T
Fx = 0, (3.14)
ou F ∼ K′−TEK−1
est la matrice fondamentale. F est définie de taille 3×3 à un facteur
multiplicatif près, de rang 2, ce qui lui confère donc 7 degrés de liberté. Cette
matrice établit une relation point-ligne tout comme la matrice essentielle.
La matrice F peut être estimée à partir de 8 correspondances HARTLEY (1997a) ou
à partir de 7 correspondances en forçant a posteriori la contrainte de rang (TORR et
MURRAY 1997). Cette dernière méthode est la solution dite minimale et identifie de 1 à
3 solutions pour un échantillon de 7 correspondances. La géométrie épipolaire fournie
par la matrice F est particulièrement intéressante car elle établit une relation entre des
points en géométrie image. Les paramètres intrinsèques ne sont pas nécessaires pour
vérifier la consistance géométrique d’une paire de points.
Les épipôles étant les points d’intersection de toutes les droites épipolaires, ils défi-
nissent aussi le noyau de F : Fe = 0 et F
T
e
′ = 0.44 3–La géométrie multiples vues et l’estimation de mouvements
3.4 La géométrie à 3 vues
La géométrie d’un triplet d’images peut être représentée par un tenseur tri-focal T
(HARTLEY 1997b). T définit les relations épipolaires entre trois vues indicées i, j, k par
une matrice cube de taille 3×3×3. Un point x est mis en correspondance avec ses deux
lignes épipolaires correspondantes : l
′
, l
′′ (cf. figure 3.4) :
∑
i jk
x(i)l
′
j
l
′′
k T
jk
i
(3.15)
Ce tenseur est une généralisation du concept de la matrice fondamentale à un ensemble
de trois vues. Soit trois matrices de projections : P1 = [Id|0], P2 = [a
i
j
] et P3 = [b
i
j
]. Le
tenseur trifocal est défini ainsi :
T
jk
i = a
j
i
b
k
4 −a
j
4
b
k
i
| i, j, k = 1,2,3 (3.16)
avec i j une entrée de la matrice tel que i désigne la ligne et j la colonne.
FIGURE 3.4 – Les relations épipolaires existantes au sein d’un tenseur tri-focal T.
Une des propriétés les plus importantes du tenseur tri-focal est que la formulation
du tenseur permet d’établir des relations linéaires entre des lignes et points en correspondances
entre les trois images. Des contraintes tri-linéaires sont exprimables pour les
relations suivantes :
ligne-ligne-ligne
point–ligne–ligne
point–ligne–point
point–point-point
Une autre particularité du tenseur tri-focal par rapport aux tenseurs à deux vues (bifocaux),
telle que la matrice fondamentale, est la relation de transfert. Cette relation de
transfert permet d’identifier des points manquants lors de mises en correspondances.3.5–La triangulation 45
Supposons qu’une correspondance est connue (x
i ↔ x
j
) mais que le point correspondant
dans la troisième image x
k ne l’est pas. L’utilisation de la contrainte point-ligneligne
pour x
i
et x
j
identifie alors par intersection le point x
k
. Il est situé à l’intersection
des deux lignes épipolaires l
′′ et l
′′′
.
3.5 La triangulation
La triangulation est le procédé de calcul d’un point 3D X d’après ses observations
images x
i
et des matrices de projections Pi
. Idéalement le point 3D X est situé à l’intersection
des rayons
−→
Cix
i
. Étant donné que les données sont le plus souvent bruitées, les
rayons ne s’intersectent pas en pratique : cf. figure 3.5. Le candidat X est alors choisi
comme le point ayant les plus faibles erreurs de re-projection entre les projetés images
Pi(X) et les points de mesures x
i
:
minimiser
X
n
∑
i=1
x
i −PiX
2
(3.17)
avec n le nombre de vues considérées. Cependant une formulation directe menant à
cette solution n’est pas évidente à mettre en place. Souvent une solution approximative
est calculée, puis les erreurs résiduelles sont minimisées par itérations de l’algorithme
de Levenberg-Marquardt (cf. (HARTLEY et ZISSERMAN 2000)).
FIGURE 3.5 – La triangulation : Calcul du point X en fonction des caméras Pi et reprojections
images. A cause du bruit de mesure, le point X n’est pas aisé à identifier.
On note dans la littérature une série de méthodes pour trouver un candidat X dans
le cas à deux vues (cf. figure 3.6) :
Point milieu On recherche un point X situé sur le segment le plus court entre les deux
rayons
−→
Cix
i
. Ce segment est identifié grâce à la droite orthogonale aux deux rayons
considérés. Le point 3D recherché est alors situé au milieu de ce segment.
Optimisation linéaire ou dite de minimisation algébrique. Avec l’utilisation des coordonnées
homogènes on peut utiliser le fait que les vecteurs x
i
sont colinéaires à
PiX pour écrire :
[x
i
]×PiX = 0 (3.18)
Cette équation peut être réécrite sous une forme solvable aux moindres carrés :
AX = 0 (3.19)46 3–La géométrie multiples vues et l’estimation de mouvements
avec A une matrice 3n×4, n le nombre de vues et X un point visible (situé devant
les caméras). La solution en coordonnée homogène est calculée en minimisant
||AX|| sujet à ||X|| = 1 pour éviter la solution triviale X = 0 (cf. Triangulation DLT
(Direct Linear Transform) : HARTLEY et ZISSERMAN (2000)).
Optimisation itérative une solution initiale est identifiée puis optimisée de manière
itérative (LINDSTROM 2010).
Optimale le point X est recherché en minimisant une erreur géométrique : les erreurs
résiduelles. On minimise l’équation 3.17 directement (KANATANI et al. 2008). Cette
méthode est dite méthode gold-standard (cf. (HARTLEY et ZISSERMAN 2000)).
FIGURE 3.6 – De gauche à droite, de haut en bas. Situation théorique, point milieu,
méthode linéaire, méthode optimale.
Limitations
Les méthodes DLT sont le plus couramment utilisées dans le cas de la triangulation
à n vues, car identifier une solution optimale de manière directe implique des équations
complexes qui sont non triviales à résoudre. Des solutions optimales ont été exprimées
pour le cas à deux et trois vues (BYRÖD et al. 2007), mais pas au delà.
Perspectives
HARTLEY et SCHAFFALITZKY (2004a) proposent une formulation quasi-convexe du
problème qui permet d’identifier X par minimisation de la norme l∞ des erreurs résiduelles.
Cette formulation minimisée par bissection permet de vérifier l’existence d’une
solution et de garantir que la solution calculée est optimale par rapport au critère d’ajustement
utilisé (la norme l∞ des erreurs de re-projection).3.6–L’estimation de pose 47
3.6 L’estimation de pose
Étant donné des correspondances entre des points 3D Xj et les points images 2D xj
,
on cherche à identifier la matrice de caméra P optimale (cf. figure 3.7). On recherche
ainsi la pose (orientation et position) de la caméra qui fait que les rayons −−→CXj passent
au plus près possible des m points 2D xj projections des Xj
.
minimise
P
m
∑
j=0
xj −PXj
2
(3.20)
Ce problème appelé Perspective-n-Point est traité en fonction du nombre de degrés de
liberté de la pose :
1. Le cas non calibré :
la matrice P de taille 3 × 4 est à identifier. 12 degrés de liberté sont à estimer.
Une formulation linéaire de l’équation (3.20) permet de trouver aux moindres
carrés une matrice P possible à partir de 6 correspondances 2D-3D (HARTLEY et
ZISSERMAN 2000).
2. Le cas calibré (la matrice de calibration K est connue) :
6 degrés de liberté sont ainsi à identifier : 3 pour l’orientation R et 3 pour la position
t de la caméra. La connaissance a priori de la matrice de calibration permet
de réduire le nombre de correspondances nécessaires. Trois correspondances sont
suffisantes pour identifier un ensemble de solutions possibles (GAO et al. 2003 ;
KNEIP et al. 2011). Le lecteur est invité à consulter LEPETIT et al. (2009) pour une
liste plus exhaustive de différentes méthodes qui, à partir de n correspondances,
estiment la pose [R|t] de la caméra (méthodes PnP (Perspective-n-Point)).
FIGURE 3.7 – L’estimation d’une pose de caméra (une orientation et position) est déterminée
à partir de n correspondances 3D-2D.48 3–La géométrie multiples vues et l’estimation de mouvements
3.7 L’ajustement de faisceaux
L’ajustement de faisceaux, Bundle Adjustment, est un processus d’optimisation non
linéaire. On souhaite optimiser un vecteur de paramètres pour réduire une fonction
d’objectif donné. Dans notre cas la fonction objectif vise à réduire les erreurs résiduelles
de re-projection de la structure Xj aux mesures images x
i
j
. x
i
j
étant la projection du point
3D Xj dans l’image i. Le vecteur de paramètres est défini par une configuration initiale :
les paramètres des caméras {Pi}i et la structure de la scène {Xj}j
. Cette minimisation est
réalisée par utilisation d’une procédure itérative, l’algorithme de Levenberg-Marquardt.
Un vecteur p de départ représentant la configuration des paramètres est initialisé. A
chaque itération, on remplace p par une nouvelle estimation p + q, q étant déterminé
pour réduire la fonction objectif à minimiser. Lorsque la fonction objectif ne varie plus
ou que le vecteur de paramètres est stable l’algorithme est arrêté. Une convergence
vers la solution optimale est observée si le vecteur de départ n’est pas trop éloigné de
la solution. Par contre, si la solution initiale est éloignée, une solution locale peut être
identifiée.
Le problème d’ajustement de faisceaux est donc posé pour réduire la fonction coût
suivante :
minimise
{Pi}i
,{Xj}j
m
∑
j=0
n
∑
i=0
x
i
j −PiXj
2
(3.21)
avec n le nombre de matrices de projection P et m le nombre de points 3D considérés
dans la scène.
FIGURE 3.8 – L’ajustement de faisceaux : Une minimisation non linéaire des paramètres
de projection des caméras et de la structure 3D de la scène est réalisée pour réduire les
erreurs de re-projection résiduelles observé en domaine image.
Une synthèse complète sur l’ajustement de faisceaux est proposée par TRIGGS et al.
(2000). Ce problème d’optimisation peut être résolu avec l’usage de matrices parcimonieuses
(LOURAKIS et ARGYROS 2004). WU et al. (2011a) proposent une implémentation
parallèle (GPU ou CPU) et AGARWAL et MIERLE (2012) proposent une implémentation
parallèle générique pouvant utiliser une norme robuste pour éviter l’influence de mesures
aberrantes : Ceres-solver. Ceres présente l’avantage d’être générique, la spécifica-3.8–La géométrie multiples-vues et l’estimation de mouvements 49
tion des variables et la fonction objectif intervenant dans un problème non-linéaire sont
très facilement paramétrables, ce qui facilite l’implémentation de l’équation (3.21).
3.8 La géométrie multiples-vues et l’estimation de mouvements
Les techniques de structure à partir du mouvement, Structure-from-Motion, estiment
le déplacement d’une caméra ou d’un appareil photographique et reconstruisent la
structure de la scène à partir d’une séquence d’images. Soit la séquence d’images Ij
,
j ∈ {0,n}. Le procédé est le suivant : des éléments (ou primitives, par exemple des
points saillants 2D) sont détectés puis suivis à travers l’ensemble des images : x
i
j
. La
visibilité des points 3D Xj
image est ainsi connue. Les techniques de SfM cherchent
alors à identifier des caméras Pi ainsi qu’une structure Xj représentant au mieux les
données de visibilité x
i
j
. C’est un problème d’optimisation ou l’on cherche à minimiser
la somme des erreurs résiduelles en domaine image, l’équation (3.21), ou intervient n
images et m points 3D. Ces erreurs résiduelles mesurent la précision de la reconstruction
: l’adéquation entre la structure, les positions de caméra et les mesures images. Ces
erreurs de re-projections, appelées erreurs résiduelles, représentent la distance entre les
observations x
i
j
images et la re-projection des points 3D Pi(Xj) reconstruit.
FIGURE 3.9 – Illustration de la problématique de SfM. A partir de correspondances
entre images relatant des projections de points 3D commun, il s’agit d’identifier la structure
et les positions et orientations des clichés dans l’espace.50 3–La géométrie multiples vues et l’estimation de mouvements
On note trois grandes catégories d’algorithmes de Structure-from-Motion (cf. figure 3.10) :
1. Les méthodes séquentielles, Sequential SfM :
La méthode de reconstruction fait naître une première graine 3D, une reconstruction
initiale créée à partir de deux vues, puis la méthode fait croître cette reconstruction
en agrégeant les images restantes par estimation de pose. Des itérations
répétées d’ajustement de faisceaux sont utilisées pour limiter les effets de
dérive et d’accumulation d’erreurs. On distingue deux sous cas en fonction de la
manière d’établir les correspondances visuelles considérées entre images :
Dans le cas de séquences d’images ordonnées :
Les images sont traitées les unes après les autres dans leur ordre d’arrivée
: odométrie visuelle ou SLAM (communauté robotique). Les traces sont
construites de proche en proche à chaque arrivée d’image.
Dans le cas de séquences d’images non ordonnées :
Les images sont traitées dans leur ensemble pour construire les correspondances
visuelles et identifier les traces.
2. Les méthodes hiérarchiques, Hierarchic SfM :
Les images sont traitées par sous ensembles et sont fusionnées de manière
hiérarchique afin de reconstruire l’intégralité de la scène.
3. Les méthodes globales, Global SfM, Batch SfM :
Les images sont traitées dans leur ensemble. On distingue ici deux méthodes :
– Factorisation, Batch SfM : On recherche les matrices de projection et la structure
de la scène simultanément,
– Global SfM : Supposant les paramètres intrinsèques connus (une caméra calibrée)
le problème de SfM est découpé en deux sous tâches. D’abord les rotations
globales sont identifiées pour toutes les images puis dans un second temps la
structure et les translations des caméras sont identifiées.
FIGURE 3.10 – Illustration du processus des méthodes de SfM, de haut en bas, séquentielle,
hiérarchique et globale. Chaque point noir implique une reconstruction 3D ou un
assemblage de reconstructions 3D.3.9–La mise en correspondances de points saillants 51
3.9 La mise en correspondances de points saillants
L’extraction de caractéristiques visuelles, visual features extraction, consiste en des
transformations mathématiques calculées sur les pixels d’une image numérique. Ces
transformations permettent de mettre en évidence des éléments saillants possédant
certaines propriétés visuelles de l’image et de rechercher si des images possèdent du
contenu en commun localement similaire. Cette mise en correspondances photomé-
trique est réalisée en trois étapes principales :
1. La détection :
Une prise de décision locale en chaque point de l’image détermine si la zone
de l’image présente une caractéristique intéressante. Les zones mises en évidence
représentent des sous-ensembles du domaine de l’image, souvent sous la forme
de points isolés, de segments, de courbes continues ou de régions.
2. La description :
Une zone locale est utilisée autour de chaque zone d’intérêt pour construire
une signature venant décrire la région autour du point d’intérêt.
0 .2 0 .5 … 0 .2 0 .6
0 .1 0 .2 … 0 .5 0 .1
0 .6 0 .3 … 0 .3 0 .1
3. L’appariement :
Une comparaison des signatures entre deux images permet d’identifier les
zones similaires et ainsi d’identifier des points saillants images d’un même point
3D de la scène observée.
Le résultat de la phase d’appariement est utilisé par de nombreuses applications en
vision par ordinateur :
– la reconnaissance et le suivi d’objets,
– l’assemblage d’images panoramiques,
– la stabilisation vidéo,
– la reconstruction 3D et l’odométrie visuelle.52 3–La géométrie multiples vues et l’estimation de mouvements
3.9.1 La détection de points saillants
Il est primordial que la détection de points saillants dans une image soit le plus
robuste possible. L’invariance à certaines transformations comme la translation, la rotation
et l’échelle permettront ainsi d’établir avec plus de succès les futures étapes d’appariements
de points, et donc la robustesse des correspondances établies avec le déplacement
de la caméra. Plus un détecteur sera à même d’exhiber des points localisés pré-
cisément d’une image à l’autre plus il sera pertinent. Plusieurs catégories de détecteurs
sont identifiables :
– les bords, edges, curves (Canny, LSD, ...),
– les coins, corners (Harris, Fast, ...),
– les régions, blobs (Sift, Surf, Kaze, Mser, ...).
De nombreuses approches ont été proposées pour améliorer la robustesse et la répé-
tabilité de la détection de points saillants. L’une des premières approches a avoir été
largement utilisée est le détecteur de coins de HARRIS et STEPHENS (1988), invariant à
l’orientation de la structure détectée. LINDEBERG (1998) a ensuite proposé une repré-
sentation en espace échelle linéaire des images qui permet de définir une famille de
détecteurs de structures invariantes par changement d’échelle. L’utilisation de cet espace
échelle a été généralisé à la détection de coins par Harris-Laplace (MIKOLAJCZYK
et SCHMID 2001) et à la détection de blobs avec l’utilisation de différences de gaussiennes
par LOWE (1999). En définissant un point d’intérêt comme un extremum local
de la représentation en espace-échelle, ces approches permettent d’attribuer à ce point
une échelle caractéristique. Ces approches sont souvent coûteuses en calcul à cause de
la construction de l’espace échelle. Certaines approximations sont alors réalisées, au
détriment de la précision de localisation des zones saillantes, mais au profit de gains de
calculs non négligeables. L’utilisation d’images intégrales par la méthode SURF (BAY
et al. 2006) permet de réduire la consommation mémoire et de réaliser les opérations
de filtrage de manière très efficace. L’exploration de nouveau espace échelle mené par
ALCANTARILLA et al. (2012) démontre de meilleures stabilités sur les détections réalisées
et laisse envisager un détecteur encore plus performant (proche du temps réel :
ALCANTARILLA et al. (2013)).
FIGURE 3.11 – Une image i est décrite par un ensemble j de points saillants : {P
i
j
}i, j
.
Dans le cas de SIFT une position, une orientation et une échelle caractéristique sont
extraits par points.3.9–La mise en correspondances de points saillants 53
3.9.2 La description de point saillants
Afin de retrouver les observations image x
i
j d’un même point 3D Xj parmi une sé-
quence d’images, il est nécessaire d’identifier chaque observation image de manière
unique. Pour cela, chaque point est décrit par une signature. Cette signature définit un
ensemble de caractéristiques, un descripteur local qui est une représentation compacte
du voisinage du point d’intérêt (cf. figure 3.12).
0 .2 0 .5 … 0 .2 0 .6
0 .1 0 .2 … 0 .5 0 .1
0 .6 0 .3 … 0 .3 0 .1
FIGURE 3.12 – Chaque points saillants : {P
i
j
}i, j est décrit par une transformation de la
zone image locale l’entourant : {desc(P
i
j
)}i, j
.
Une solution simple, mais peu robuste, consiste à extraire un patch centré sur le
point d’intérêt. Mais le support d’invariance de ce type de descripteur est faible et limite
donc son usage. La robustesse de la description locale des points saillants peut
être améliorée en supportant l’invariance à des transformations géométriques et aux
changements d’éclairement. LOWE (1999) propose une représentation locale appelée
SIFT. Ce descripteur SIFT est composé d’histogrammes d’orientation du gradient. Ces
histogrammes sont estimés à partir de régions distinctes du voisinage normalisé et centré
de chaque point d’intérêt considéré. Il a été montré par MIKOLAJCZYK et SCHMID
(2005) que ce type de descripteur est très robuste à différents phénomènes, tels que :
bruit, compression JPEG, changement d’éclairement, rotation et changement d’échelle.
Ce type de descripteur est très utilisé pour les applications de recherche par le contenu
et la photogrammétrie car il possède une répétabilité élevée.
Un inconvénient majeur des descripteurs de type SIFT est l’occupation mémoire. On
construit en effet un descripteur de 128 valeurs flottantes par point d’intérêt. Cet espace
de relativement haute dimension n’est pas idéal pour les calculs sur des collections
d’images à large échelle. Des alternatives permettent de réduire la taille des signatures
en utilisant des signatures binaires. Ces signatures ont l’avantage d’être plus compactes
en mémoire et de proposer un espace de faible dimension. Leur dimension étant plus
faible, la phase d’appariement sera réalisée de manière plus rapide. STRECHA et al.
(2012) projettent les descripteurs SIFT en une représentation compacte via une matrice
de projection apprise par machine-learning. CALONDER et al. (2012) calculent nativement
un descripteur binaire par l’utilisation du signe de la différence de couple de points sur
une grille autour du point d’intérêt.
Idéalement on souhaite disposer de détecteurs et descripteurs de points d’intérêt
ayant les qualités suivantes :
– invariance de détection en translation, rotation et échelle,
– invariance aux variations d’éclairement (luminosité, contraste),
– un critère suffisamment local pour gagner en robustesse aux occultations mais
suffisamment large pour décrire suffisamment de contenu.
L’ajout de nouveaux degrés d’invariance tend à créer des faux positifs lors de l’établissement
de correspondances, car plus on devient invariant plus les points ont de chance
de se ressembler. C’est pourquoi lors de conditions d’acquisition contrôlée (comme c’est
le cas avec des robots mobiles), l’invariance en rotation n’est pas considérée. En considérant
une orientation verticale, des appariements plus stables seront ainsi identifiés.54 3–La géométrie multiples vues et l’estimation de mouvements
3.9.3 L’appariement de point saillants
Soit deux images, A et B, représentées par un ensemble de points saillants et descripteurs.
La phase d’appariement consiste à identifier les points ayant une forte similarité
entre les deux images. On note NA le nombre de points d’intérêts de l’image A et NB ceux
de l’image B. Pour chaque point saillant de A on recherche les points les plus similaires
de B. Cette mesure de ressemblance est réalisée par l’utilisation d’une métrique entre
les descripteurs liés aux points. Les NB distances sont évaluées pour chaque point de A
dans B. Cet ensemble présentant de nombreuses fausses hypothèses, il convient d’utiliser
un critère de rejet basé sur l’analyse des distances calculées pour retenir uniquement
les distances les plus vraisemblables (cf. figure 3.13).
L’étape d’appariement nécessite trois éléments :
– la recherche de plus proches voisins pour obtenir les correspondances hypothèses,
– l’utilisation d’une métrique pour mesurer la similarité d’une correspondance,
– l’utilisation d’une politique de rejet pour valider une correspondance.
FIGURE 3.13 – Appariements : les points les plus similaires de l’image A (gauche) sont
recherchés dans l’image B droite. Un filtre est utilisé pour déterminer de tous les candidats
possibles si une correspondance est dominante ou non.
La recherche de plus proches voisins pour chaque point d’intérêt est un problème
coûteux. La méthode naïve teste de manière exhaustive toutes les possibilités et les ordonne
par distance. Cette méthode est dite de force brute, Brute force. Des méthodes
de calculs approchées identifient les k plus proches voisins d’un descripteur plus rapidement.
Ces méthodes approchées, ANN, Approximate Nearest Neighbour, répartissent
les descripteurs suivant leur ressemblance dans un arbre binaire (KD-TREE) (MUJA
et LOWE 2009). Cet arbre binaire permet un parcours rapide pour évaluer quel sousensemble
de l’arbre est le plus similaire à un élément donné en requête. Ce partitionnement
permet de limiter le nombre de candidats sur lesquels la métrique est évaluée
lors d’une opération de recherche et d’identifier rapidement k voisins. La complexité
de recherche sur de larges ensembles de descripteurs est réalisable au prix d’une légère
dégradation des performances en précision de calcul, qui est fonction de la taille du
groupe considéré et des paramètres de l’arbre de partition.
La métrique est choisie en fonction du type de descripteurs utilisés :3.9–La mise en correspondances de points saillants 55
Euclidienne d(x, y) := kx−yk2 pour des descripteurs composés de valeurs réelles,
Hamming d(x, y) = ∑(x⊕y) pour des descripteurs composés de valeurs binaires,
EMD Earth Mover Distance pour des descripteurs circulaires (cf. RABIN (2009)).
Le critère de rejet permet de réduire avec une heuristique les fausses hypothèses
parmi les correspondances établies précédemment. Parmi les correspondances établies,
seulement quelques-unes sont valides et on souhaite les conserver. Couramment, un
filtre réalise le rejet de candidats, parmi les NB distances évaluées, pour chaque point
de A. On note plusieurs politiques de rejet dans la littérature (RABIN 2009) :
Critère FNN First Nearest Neighbour Pour chaque requête, on garde le plus proche
voisin ; le descripteur présentant le plus de similarité :
{(P
i
A
,P
j
B
) : j = argmin
k
d(desc(P
i
A
),desc(P
k
B
))}
Critère DT Distance Threshold Un seuil de validation global est utilisé sur la distance :
Pour chaque requête, l’ensemble des descripteurs candidats ayant une distance
plus petite que le seuil global δ sont validés :
{(P
i
A
,P
j
B
) : d(desc(P
i
A
),desc(P
j
B
)) < δ}
Critère DR Distance Ratio Le pourcentage de ressemblance entre les 2 plus proches
voisins dans la seconde image est utilisé : pour chaque requête (Pi)A, les 2 plus
proches voisins (Pj)B,(Pk)B sont identifiés. Le plus proche voisin est conservé
comme point homologue si le ratio des distances d((Pi)A,(Pj)B)/d((Pi)A,(Pk)B) est
inférieur à un seuil δ. L’idée utilisée est que plus des candidats sont similaires,
plus la chance de confusion est forte. On évite ainsi de mettre en relation des
correspondances ambiguës. δ est souvent choisi entre 0.6 et 0.8 (cf. les expérimentations
de LOWE (1999) pour identifier les meilleures valeurs possibles de ce
paramètre).
{(P
i
A
,P
j
B
) : j = argmin
k
d(desc(P
i
A
),desc(P
k
B
)) < δmin
k6=j
d(desc(P
i
A
),desc(P
k
B
))}
Critère SD Symmetric distance Une correspondance n’est conservée que si les correspondances
sont réciproques : les indices mis en correspondance doivent être les
mêmes quel que soit le sens de calcul A → B et A ← B :
{(P
i
A
,P
j
B
) : j = argmin
k
d(desc(P
i
A
),desc(P
k
B
)),i = min
k
d(desc(P
k
A
),desc(P
j
B
))}
Les correspondances établies étant photométriques de faux positifs peuvent toujours
être présents. Il convient par la suite de vérifier si les correspondances établies sont
géométriquement cohérentes (cf. chapitre 4).
Dans le cadre de cette thèse nous utiliserons les détecteurs et descripteurs SIFT (LOWE
1999). Les appariements ayant passé la politique de rejet DR sont retenus. La méthode
approchée ANN accompagnée de la norme euclidienne l2 est utilisée pour rechercher
les candidats.56 3–La géométrie multiples vues et l’estimation de mouvements
3.10 Méthode de fusion rapide de paires de correspondances
de points saillants entre images
Un des pré-requis souvent utilisé en vision par ordinateur est l’information de visibilité,
c’est-à-dire la connaissance qu’un point 3D donné se re-projette dans une série
d’image. Se pose alors le problème suivant : étant donné des détections image nous
voulons suivre le déplacement de ces détections dans une série d’images. Ce problème
est appelé suivi de points, ou point/feature tracking. Nous appellerons le déplacement
apparent d’un point de l’espace dans une série d’images une trace, (track).
FIGURE 3.14 – A gauche, une séquence de 9 images fournies avec le logiciel VideoTrace.
A droite, une série de traces identifiant le mouvement des points saillants qui ont pu
être suivis à travers toute la série d’images en utilisant nos algorithmes.
Le problème de suivi de points à travers une série d’images peut être abordé de
différentes manières en fonction de la nature de la collection d’images à traiter :
Une séquence d’images ordonnée. Narrow-baseline matching.
Ce type de séquence, comme des vidéos, induit par nature une amplitude de
mouvement faible. Ce faible mouvement des points à suivre permet de construire
les trajectoires de points de proche en proche par des zones de recherches locales.
Les méthodes sont basées sur des approches de corrélation (LUCAS et KANADE
1981 ; TOMASI et KANADE 1991) (cf. figure 3.15), ou de flux optique (HORN et
SCHUNCK 1981). Les méthodes les plus récentes présentent soit des boucles d’apprentissage
et de détection : TLD (KALAL et al. 2012) ou des analyses très rapides
des champs de déplacement : Zero Shift points (DUPACˇ et al. 2012).
FIGURE 3.15 – Suivi de trajectoire d’un point saillant par maximum de corrélation.
Une série d’images non ordonnée. Wide-baseline matching.
Dans ce cas la cohérence de mouvement ne peut être supposée. En effet les
points n’ont pas forcément de cohérence d’une image à l’autre car une partie différente
de la scène peut être vue. Le suivi de points est plus difficile, on ne sait
pas où rechercher d’une image à l’autre. Les points similaires entre des paires
d’images sont alors identifiés par des méthodes d’image-matching (cf. section 3.9)3.10–Méthode de fusion rapide de paires de correspondances de points saillants
entre images 57
puis filtrés pour vérifier leur cohérence géométrique (cf. chapitre 4). Ces correspondances
par paires d’images sont ensuite assemblées en trajectoires lorsqu’elles
partagent des points communs (cf. figure 3.16).
FIGURE 3.16 – Dans une série d’images non ordonnées (image1, image2, image3), des correspondances
sont identifiées par paire d’images (droite). Relier ces correspondances si
elles partagent des points en commun permet d’identifier les traces (bas gauche). Note :
L’analyse d’une série de paires 1 → 2,2 → 3,1 → 3 permet de créer une correspondance
entre l’image 1 et 3 qui ne serait pas identifiée par une analyse en séquence : 1 → 2 → 3.
Nous nous intéressons ici au cas générique, le cas des images non ordonnées. On
se retrouve donc avec la tâche suivante : combiner les correspondances géométriques
identifiées par paires en traces cohérentes. L’état de l’art traite le plus souvent ce problème
par la construction d’un graphe suivi d’une phase d’analyse (SNAVELY et al.
2006).
Soit i
k
le k
ième point de l’image i et (i
m, j
n
) une mise en correspondance établie entre
l’image i et j avec les points indicés m et n. Étant donné une liste de correspondances,
{(i
m,j
n
)}, on cherche à construire un graphe G puis on l’analyse pour identifier les
traces. Soit G = {S,E} avec S, un ensemble de sommets, et E un ensemble d’arêtes.
Les sommets S : {i
k} représentent les points saillants détectés dans les images.
Les arêtes E : {(i
m,j
n
)} représentent les correspondances établies par paires d’images.
Les deux étapes requises pour identifier les traces grâce au graphe G sont les suivantes :
1. G est construit en utilisant l’ensemble des correspondances par paires : {(i
m,j
n
)} :
Des liens entre points saillants S sont ainsi créés pour chaque correspondance
(i
m, j
n
) établie. Les correspondances deux à deux sont ainsi reliées entre elles.
2. Une analyse en composante connexe permet d’identifier les traces :
Chaque composante connexe est une trace identifiant le déplacement apparent
d’un point saillant dans une série d’images.
Cette approche est fonctionnelle mais non optimale, nous démontrerons dans la section
suivante que l’utilisation d’une structure de données plus adaptée permet de gagner en
efficacité.58 3–La géométrie multiples vues et l’estimation de mouvements
3.10.1 Une solution ensembliste pour la construction de traces de points
saillants
Au lieu de voir le problème de construction de traces comme la construction d’un
graphe et son analyse, nous considérons le problème de manière ensembliste. Nous
montrons que ce problème est soluble par l’utilisation de la théorie des ensembles et
que son utilisation est plus efficace que les méthodes de l’état de l’art sur le plan de
la complexité algorithmique. De plus, son utilisation possède plusieurs avantages aux
vues des solutions concurrentes disponibles.
La théorie
Proposition 1. En théorie des ensembles, la notion de relation d’équivalence sur un ensemble
permet de mettre en relation des éléments qui sont similaires par une certaine propriété.
Soit E un ensemble et R une relation d’équivalence. L’utilisation de la relation d’équivalence
R sur E permet la construction du groupe quotient E|R composé de classes Q .
Chaque Q représente ainsi la fusion des éléments similaires de E : les éléments de E
suivant la relation d’équivalence R . Les ensembles quotients {Q } obtenus représentent
des classes disjointes.
Proposition 2. L’utilisation de la relation d’équivalence sur une ensemble permet de créer les
classes par complétion par transitivité. Étant donné un ensemble d’éléments (les points saillants)
nous partitionnons en un certain nombre de classes disjointes les relations établies par les correspondances.
L’utilisation des correspondances de points homologues comme relation d’équivalence
permet d’établir les ensembles disjoints désirés : les traces.
La proposition 2 démontre que la théorie des ensembles est applicable à notre problème.
Voyons désormais comment réaliser ces opérations de manière concrète.
La solution logicielle
GALLER et FISHER (1964) propose de mener efficacement la construction et la manipulation
de classes d’équivalence à travers une structure de données, les disjoint-set,
et des algorithmes : union-find. La structure de données disjoint-set permet de maintenir
une forêt d’arbres, chaque arbre représentant un ensemble disjoint. Les algorithmes
union-find permettent de maintenir et créer des partitions entre les ensembles disjoints
grâce à deux opérations :
Trouver, Find détermine la classe d’équivalence d’un élément. Elle sert aussi à déterminer
si deux éléments appartiennent à la même classe d’équivalence.
Unir, Union réunit deux classes d’équivalence en une seule.
Une condition préalablement nécessaire à leur utilisation est la construction des singletons
: des ensembles d’équivalences contenant un seul élément par l’instruction MakeSet.
La mise en pratique
L’utilisation de la théorie des ensembles pour notre problème de construction de
traces nécessite la définition de l’ensemble et de la relation d’équivalence :3.10–Méthode de fusion rapide de paires de correspondances de points saillants
entre images 59
Soit {E} une collection d’ensembles : chaque point saillant considéré par les correspondances
est un ensemble disjoint,
Chaque point saillant est considéré comme une trace de taille 1.
Soit une relation d’équivalence R : E(f ind(i
m)) = E(f ind(j
n
)),
L’utilisation de la relation d’équivalence permet de fusionner deux classes, les
classes contenant les points homologues désignés par une correspondance (i
m, j
n
)
par utilisation de la fonction union : union(f ind(i
m), f ind(j
n
)). On réalise la complétion
par transitivité.
La procédure 1 de calcul de traces est alors réalisée, elle est composée de trois étapes
qui nécessitent de parcourir deux fois l’ensemble de correspondances :
1. Pour créer les ensembles de bases :
Un ensemble est créé par point saillant utilisé,
2. Pour appliquer la relation d’équivalence :
Les correspondances relatives sont fusionnées en traces par l’utilisation répé-
tée des fonctions find et union sur l’ensemble des correspondances. Find identifie
les ensembles d’appartenance des points saillants de la correspondance considé-
rée et les fusionne en utilisant l’opérateur union.
3. Les classes calculées sont parcourues pour lister et identifier les points appartenant
à chaque trace.
La fusion des correspondances est ainsi réalisée par fusion itérative des correspondances
à deux vues. Des traces de points de taille 1 sont unies et évoluent pour former
les traces désirées au cours du processus. L’algorithme obtenu est très simple à lire et
implémenter. Il est constitué de deux boucles sur les correspondances relatives.
Procédure 1 Calcul des traces de points saillants pour une série de paires de correspondances
Entrée: une liste de correspondances entre différentes paires d’images : L : {(i
m, j
n
)}
Sortie: les traces
(1) Construction des ensembles initiaux, les singletons :
pour (i
m, j
n
) ∈ L faire
si find(i
m) 6= 0/ alors
MakeSet(i
m)
fin si
si find(j
n
) 6= 0/ alors
MakeSet(j
n
)
fin si
fin pour
(2) Complétion par transitivité :
pour (i
m, j
n
) ∈ L faire
union(find(i
m), find(j
n
))
fin pour
(3) Récupération des traces :
Retourne chaque arbre de la forêt comme une trace
La complexité associée à une utilisation naïve de l’algorithme Union-Find et des
disjoint-sets est O(nlog(n)). TARJAN (1975) a ensuite montré que l’utilisation de deux optimisations,
union by rank et path compression, permettent de rendre la complexité quasilinéaire
en pratique : O(nα(n)) (α étant l’inverse de la fonction de Ackermann). Il n’est60 3–La géométrie multiples vues et l’estimation de mouvements
pas possible d’obtenir un meilleur résultat : FREDMAN et SAKS (1989) ont montré que
Ω(α(n)) mots en moyenne doivent être lus par opération sur toute structure de données
pour le problème des classes disjointes.
Le comportement de l’algorithme est illustré en figure 3.17. Des correspondances
par paires sont identifiées par différentes couleurs (bleu, vert, rose, violet). Ces correspondances
impliquent 12 points, 12 ensembles sont alors créées. Les correspondances
sont alors parcourues par paires (marquées par les différentes couleurs) et les
ensembles contenant les points homologues sont assemblés (union). Une forêt d’arbres
est alors construite et évolue pour créer les 4 trajectoires associées aux correspondances
initiales.
0 1 2 3 4 5 6 7
0
1
2
3
4
5
6
7
8
11
9 10
8 9 10 11
9 10 4 7 1 3 6 0 2 5 8 11
2 3
0 1 9
10
8
11
4
7
0
2
5
1
3
6 8
11
0
2
5
FIGURE 3.17 – Illustration des étapes de l’algorithme de fusion de traces. De haut en
bas. Les correspondances initiales par paires identifiées par différentes couleurs. La
création des 12 singletons, désignant les 12 points considérés par les correspondances.
L’évolution de la forêt de traces (de gauche à droite avec le parcours des appariements
par couleur). Et enfin chaque arbre de la forêt est parcouru pour identifier les points
appartenant à une trace commune.
Expérimentations
Notre solution , désignée sous l’acronyme UF, a été évaluée face à deux autres solutions
:
1. SNAVELY et al. (2006) : solution contenue dans le code source du logiciel associé
Bundler.
2. ZACH (2010-2011) : solution contenue dans le code source de la bibliothèque associée
ETH-V3D.
Le protocole de test est le suivant : pour des données initiales identiques, une liste
de correspondances {(i
m, j
n
)} géométriquement valide par géométrie fondamentale (cf.
section 3.3) est fournie aux trois solutions d’identification de traces. Les temps de calcul
et nombre de traces identifiées sont mesurés et comparés. Afin de pouvoir tester
différents scénarios le test est réalisé sur différents jeux de données images présentant
de 8 à 314 images. Ces tests permettent de faire intervenir de 10000 à 1 million de correspondances
initiales et ainsi d’évaluer le comportement des solutions à faible et large
échelle. Les résultats de l’expérience sont disponibles dans le tableau 3.1.entre images
3.10–Méthode de fusion rapide de paires de correspondances de points saillants
61
Jeux d’images nb. Images #{im, jn} Méthodes
UF Zach Bundler
temps s. # traces temps s. # traces temps s. # traces
1 HerzJesus 8 13726 10 2454 20 2383 10 2314
2 Castle 19 17853 12 2673 18 2543 30 2229
3 Entry 10 18914 13 2697 27 2524 20 2566
4 Fountain 11 29338 21 4279 52 4139 30 3513
5 Jean-fontana 66 53901 49 8551 72 7773 90 7672
6 Castle 30 56477 40 5639 73 5272 60 5033
7 DeteniceFountain 59 63437 56 7949 86 7445 250 7447
8 HerzJesus 25 68284 50 6603 130 5781 90 6160
9 SceauxCastle 282 364751 411 39639 613 36508 680 35845
10 StMartin 124 651990 531 51473 1505 49109 410 41380
11 Temple 314 1012804 640 20623 1295 15580 1280 19730
TABLE 3.1 – Statistiques sur l’évaluation la fusion de correspondances pour le calcul de traces. Les résultats sont triés
par ordre croissant du nombre de correspondances relatives. Le temps le plus court est affiché en gras.62 3–La géométrie multiples vues et l’estimation de mouvements
Pour faciliter l’interprétation des résultats les temps des différentes méthodes ont
été représentés sous forme graphique sur la figure 3.18.
1 2 3 4 5 6 7 8 9 10 11
0
200
400
600
800
1000
1200
1400
1600
0
200
400
600
800
1000
1200
1400
1600
FIGURE 3.18 – Représentation graphique des temps nécessaires pour identifier les
traces du tableau 3.1. Les jeux de données sont triés de manière croissante en fonction
du nombre de correspondances initiales.
L’expérience permet de faire des remarques sur les points suivants :
la vitesse d’exécution On remarque que la solution UF est dans 90% des cas plus rapide
que les deux autres solutions (cf. courbes de la figure 3.18).
la complexité à large échelle Pour de larges jeux de données on constate que les mé-
thodes Zach et Bundler présentent des résultats en dents de scies avec la taille
du jeu de correspondances relatives fournies. Notre solution par contre réagit de
manière beaucoup plus linéaire.
la complétude de la solution : le nombre de traces identifiées Il est important de noter
que le nombre de traces varie d’une implémentation à l’autre. Notre approche
étant ensembliste nous avons des garanties que pour notre critère d’équivalence
la solution identifiée soit optimale. Le fait que nous détectons tout le temps plus
de traces que les deux autres méthodes démontrent que leur implémentation n’est
pas parfaite et que des traces ne sont pas identifiées, ou rejetées à tort.
Concernant la complétude des solutions identifiées les arguments suivants sont avancés
: les deux implémentations disponibles évitent l’utilisation de graphes et utilisent
des tables d’indices. Ce qui rend les algorithmes sensibles à plusieurs facteurs :
Bundler : SNAVELY et al. (2006)
Résultat dépendant d’un index de départ,
Requiert plusieurs opérations de tri.
ETH-V3D : ZACH (2010-2011)
Résultat dépendant de l’ordre des paires d’images,
Grosse consommation mémoire.
La complexité de tels algorithmes est au minimum de O(nlog(n)) (due aux opérations
de tri requises). Nos tests ont confirmé que notre solution avec une complexité
plus faible, O(nα(n)) minimale théorique, présente une meilleure réactivité aux données
d’entrées.3.11–Contributions de ce chapitre 63
Limitations et perspectives
Les temps d’exécution de notre approche pourraient être encore réduits par l’utilisation
d’une version non bloquante de l’algorithme union-find (ANDERSON et WOLL
1991). Une version parallélisable de notre algorithme est alors envisageable, laissant
imaginer de meilleurs temps de réponse sur de larges jeux de données.
Cependant l’assemblage naïf des correspondances donne lieu à plusieurs problèmes
(AGARWAL et al. 2009) :
• plusieurs traces peuvent se croiser et donc contenir plusieurs fois le même point,
• plusieurs traces peuvent contenir des points dans la même image.
Notre approche actuelle se limite juste à détecter et ne pas exporter les traces qui
portent ces cas de conflits. Étant capable de détecter les arbres présentant des conflits
nous pouvons envisager un post-traitement afin de couper ses traces corrompues en
traces cohérentes en utilisant la méthode proposée par SVARM et al. (2012). Leur approche
propose une solution pour garder les traces les plus probables parmi les traces
corrompues qui se croisent. Leur solution est basée sur une analyse des arbres dits
de Gomory-Hu. Étant données des traces corrompues, l’algorithme utilise des coupes
récursives afin de conserver les n sous-traces portant les plus grandes pondérations.
Chaque arête porte pour poids le nombre de points géométriquement validés pour la
paire d’images considérée par cette arête.
3.11 Contributions de ce chapitre
Nous avons présenté les fondamentaux de la géométrie multi-vues et comment des
correspondances de points pouvaient être identifiées de manière automatique et assemblées
en trajectoire au sein de collections d’images non ordonnées.
Une nouvelle méthode permettant de calculer la fusion de correspondances dans le
but d’identifier les traces de points saillants à travers une série d’images a été exposée.
L’utilisation d’une structure de données et des algorithmes adaptés nous permet de ré-
soudre le problème de fusion avec une complexité optimale, quasi-linéaire en pratique.
Notre solution, utilisant «la théorie des ensembles», permet de mettre en œuvre une
solution élégante qui ne réalise aucune approximation et aucun biais dans les résultats.
Nos expériences ont confirmé les résultats théoriques sur le fait que notre méthode
a une complexité moindre et donc un temps d’exécution plus faible que les solutions
concurrentes. L’utilisation de notre algorithme a toujours démontré qu’il était capable
d’identifier plus de traces que les solutions concurrentes pour l’ensemble des jeux de
données. Cela démontre que les deux implémentations concurrentes sont biaisées et ne
garantissent pas un résultat complet au problème traité.
Ce travail a été présenté à la conférence CVMP (MOULON et MONASSE 2012) et
largement utilisé pour les autres travaux de ce manuscrit. Une implémentation libre est
disponible avec la librairie open-source openMVG (MOULON et al. 2013d).64 3–La géométrie multiples vues et l’estimation de mouvements65
Chapitre 4
L’estimation robuste de modèles
paramétriques
Lorsque des données sont légèrement bruitées il est courant d’utiliser une méthode
d’ajustement aux moindres carrés afin d’identifier les paramètres d’un modèle. Cependant
lorsque les données sont bruitées et polluées ces méthodes ne permettent plus de
trouver un modèle adéquat. Il est alors courant d’utiliser des méthodes d’estimation
robuste qui recherchent le sous ensemble de données s’ajustant le mieux au modèle paramétrique
choisi. Ces méthodes reposent sur des tests d’hypothèses pour identifier un
modèle et classifier les données suivant leur nature en :
• mesures fiables appelées inliers, auxquels le modèle s’ajuste,
• fausses mesures appelées outliers, les fausses mesures que le modèle réfute.
Nous allons dans ce chapitre :
1. Étudier les méthodes couramment utilisées : MAX-CONSENSUS et RANSAC et
discuter leurs limitations,
2. Expliquer et discuter un estimateur robuste incorporant un critère statistique permettant
de s’adapter de manière dynamique au bruit de mesure,
3. Montrer comment généraliser l’utilisation de cet estimateur robuste adaptatif à
différents modèles d’erreur.
Sommaire
4.1 MAX-CONSENSUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2 RANSAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.1 Limitations et variantes . . . . . . . . . . . . . . . . . . . . . . . 68
4.3 A Contrario-RANSAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3.1 Le principe de la détection a contrario . . . . . . . . . . . . . . . 72
4.3.2 Mise en correspondance a contrario pour l’estimation de la géométrie
épipolaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4 Généralisation de la mise en correspondance a contrario pour l’estimation
de modèles paramétriques . . . . . . . . . . . . . . . . . . . . 77
4.4.1 Généralisation du calcul du NFA et utilisations . . . . . . . . . . 78
4.4.2 Application pour l’estimation de la géométrie relative entre
deux images sphériques . . . . . . . . . . . . . . . . . . . . . . . 81
4.4.3 Évaluation expérimentale . . . . . . . . . . . . . . . . . . . . . . 84
4.5 Contributions de ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . 8966 4–L’estimation robuste de modèles paramétriques
4.1 MAX-CONSENSUS
Le but de l’estimation robuste est d’identifier, parmi un ensemble D, le sous-ensemble
de points auxquels s’ajuste le mieux un modèle paramétrique H recherché. L’ensemble
D est en sortie classifié en deux sous-ensembles : les inliers et les outliers.
Soit Di
le i
e échantillon de D, M une métrique calculant l’erreur de re-projection
d’un échantillon au modèle H et δ un seuil d’acceptation. MAX-CONSENSUS est une
procédure itérative qui repose sur quatre étapes :
1. La génération d’hypothèses :
un échantillonnage stochastique aléatoire de s-uplets est réalisée afin de gé-
nérer des hypothèses H , s étant suffisant pour estimer les paramètres d’une hypothèse
H .
2. Une mesure de consensus :
l’ensemble des erreurs de re-projection au modèle en cours d’hypothèse H
est évalué pour chaque échantillon.
3. Un critère de validation :
Si l’erreur est inférieure à un seuil δ alors l’échantillon est ajouté au consensus.
4. Un critère d’arrêt :
un nombre d’itérations N.
MAX-CONSENSUS est une méthode qui teste successivement des hypothèses et mesure
la taille du consensus généré. La taille du consensus acceptant H sous une pré-
cision δ est maximisée et ainsi la consensus d’échantillon identifié est retenu comme
inliers :
argmax
H
#D
∑
i=1
1(M (H ,Di) < δ) (4.1)
Une recherche exhaustive des s-uplets est nécessaire afin de rechercher le modèle
idéal. L’évaluation de toutes les combinaisons de s-uplets n’est pas réalisable en pratique
car N =
#D
s
combinaisons seraient à évaluer. Notant que N → ∞ en fonction de
s et la taille de l’ensemble échantillon D un problème combinatoire se pose. Puisqu’il
n’est pas pensable de réaliser tous ces tirages, une façon naïve mais efficace pour limiter
la complexité est de choisir un N fixe et d’utiliser un échantillonnage stochastique.
MAX-CONSENSUS est une méthode itérative qui tire au sort, N fois, un s-uplet pour
générer une hypothèse et la vérifier. Note : plus s est petit, plus l’exploration stochastique
de l’espace des s-uplets sera large et rapidement réalisée.
MAX-CONSENSUS est une méthode à deux paramètres :
• δ : précision/erreur maximale tolérée pouvant être acceptée pour une appartenance
à l’ensemble de consensus,
• N : le nombre d’itérations à réaliser.4.2–RANSAC 67
4.2 RANSAC
La méthode RANSAC (RANdom SAmpling Consensus) (FISCHLER et BOLLES 1981)
est une évolution de la méthode MAX-CONSENSUS. L’idée est de réduire le nombre
de tirages N à réaliser. Si l’on a une idée du nombre d’inliers a-priori dans les données ;
on peut calculer le nombre de tirages nécessaires pour être sûr d’avoir statistiquement
parcouru l’espace des solutions de manière suffisante. A première vue cette solution
permet de réduire la complexité algorithmique de la recherche robuste de modèle, mais
elle a comme inconvénient d’ajouter un nouveau paramètre p sur la proportion estimée
de contamination des données.
RANSAC évalue le nombre suffisant de tirages N à réaliser pour assurer qu’avec
une probabilité p, au moins 1 échantillon de taille s n’est pas pollué. Si le taux d’inliers
w est connu, alors la probabilité de choisir tous les échantillons pollués est (1 − w
s
)
N,
c’est à dire Soit la probabilité de tirer N fois un s-uplet contenant au moins 1 outlier. On
a alors (1−w
s
)
N ≤ 1− p, soit encore :
N ≥
log(1− p)
log(1−ws)
(4.2)
RANSAC peut ainsi au fur et à mesure de son évaluation estimer le nombre d’itérations
N lui restant à effectuer en fonction de la taille du consensus le plus grand rencontré
jusqu’alors. A chaque fois qu’un meilleur consensus est identifié, N est remis à jour
grâce à l’équation 4.2 (cf. procédure 2).
Procédure 2 RANSAC : Recherche du plus large consensus pour un modèle paramé-
trique H
Entrée: D = {D0,...,Di} : un ensemble d’échantillons
Entrée: δ : un seuil de précision, borne haute pour l’acceptation des erreurs
Entrée: p : une probabilité sur la contamination de l’ensemble échantillon,
Entrée: N : un nombre maximal de tirages.
Sortie: le plus large ensemble consensus Sopt et les paramètres du modèle Hopt retenu.
compteur i = 0, #Sopt = 0/
(1) Échantillonnage aléatoire :
Tirage d’un s-uplet
Estimation d’un modèle H // Génération d’une hypothèse
(2) Sélection des inliers :
S = {Di} | M (H ,Di) < δ // Évaluation de l’hypothèse
(3) Consensus optimal :
si #S > #Sopt alors
Sopt = S
Hopt = H
N est mis à jour via l’équation 4.2 // Évaluation du #tirages restant à effectuer
fin si
(4) Critère d’arrêt :
tant que i < N, i = i+1. Retour à l’étape 1.
La seule différence entre MAX-CONSENSUS et RANSAC consiste en la mise à jour
du nombre de tirages restant à réaliser. L’algorithme RANSAC peut donc terminer plus
rapidement son estimation robuste, mais un paramètre supplémentaire p est rajouté.
Cependant, dans la majorité des cas le niveau de bruit des données est inconnu et variable
d’un jeu de données à l’autre. Le choix des paramètres δ et p est donc loin d’être68 4–L’estimation robuste de modèles paramétriques
évident.
RANSAC est une méthode à trois paramètres :
• δ : précision maximale acceptée pour construire un ensemble de consensus,
• N : le nombre maximal d’itérations pouvant être réalisées,
• p : une probabilité de succès fixé apriori.
4.2.1 Limitations et variantes
Les méthodes MAX-CONSENSUS et RANSAC ont une limitation majeure commune
par rapport à ce que l’on appelle l’efficacité relative.
L’efficacité relative est dépendante du choix arbitraire du seuil de précision δ. C’est
l’introduction de ce seuil qui permet une robustesse d’estimation tolérant jusqu’à
plus de 50 % d’outliers, mais en contrepartie le choix de ce paramètre est très
critique. Comme le montre la figure 4.1 lorsque ce seuil est trop élevé, quelques
outliers sont sélectionnés à tort. Lorsque ce seuil est trop faible, une transformation
fiable n’est pas estimable, car trop peu d’échantillons sont utilisés. On parle alors
de situation de sur-évaluation, over-fitting, ou de sous-évaluation, under-fitting.
(a) Distribution des points (b) Choix correct de δ
(c) δ trop petit, sous-évaluation (d) δ trop large, sur-évaluation
FIGURE 4.1 – Ambiguité du choix du seuil de sélection pour l’estimation d’un modèle
de droite.4.2–RANSAC 69
Diverses variantes de MAX-CONSENSUS et RANSAC sont proposées dans la litté-
rature pour chacune des 4 étapes mises en jeu : la génération d’hypothèses, la mesure
de consensus, le critère de validation et enfin le critère d’arrêt. Plutôt que de réaliser
une liste exhaustive (cf. CHOI et al. (2009)) nous allons lister quelques méthodes marquantes
par domaine d’étude.
Amélioration de la rapidité :
Échantillonnage guidé. L’échantillonnage de groupes de s-uplets peut être
vu comme un processus de génération d’hypothèses. En l’absence de connaissance
apriori sur le modèle suivi par les données, un échantillonnage uniforme
est utilisé, chaque hypothèse est ainsi générée indépendamment des
précédentes. Plusieurs heuristiques ont été proposées pour faire converger
l’algorithme plus rapidement.
MOISAN et STIVAL (2004) propose avec ORSA (Optimized Random Sampling
Algorithm) de tirer les échantillons parmi le meilleur ensemble Sopt lorsqu’une
hypothèse est jugée valide.
CHUM et MATAS (2005) propose avec PROSAC (PROgressive SAmple Consensus)
de tirer les échantillons en fonction d’un indice de confiance qui leur
est associé. Le tirage n’est plus réalisé de manière uniforme mais en tenant
compte de cette mesure de qualité. L’intuition est qu’il vaut mieux tester en
premier lieu les configurations sur lesquelles on a le plus confiance. Dans le
cas de la mise en correspondances d’images, la similarité entre les descripteurs
est associée aux échantillons.
NI et al. (2009) propose avec GROUPSAC de partitionner en sous-groupes
les échantillons. Dans le cas de correspondances images, un critère géomé-
trique est utilisé. La ressemblance des vecteurs directeurs entre les points
images en correspondance est ainsi utilisée dans un algorithme de regroupement
hiérarchique. La probabilité de tirer un échantillon est alors déterminée
par la taille d’un groupe et non plus uniforme.
Amélioration de la robustesse :
Adaptivité au bruit. Contrairement aux méthodes de type MAX-CONSENSUS
qui utilisent un seuil fixe δ sur les résidus observés, les méthodes citées
ici visent à mesurer la qualité et la validation d’un groupe associé à une
transformation. Il s’agit de déterminer de manière automatique le groupe
de consensus qui s’ajuste le mieux au modèle en cours d’hypothèse et de ne
plus dépendre d’un seuil δ fixé de manière heuristique. Pour chaque modèle,
le bruit des données est estimé, l’ensemble consensus satisfaisant le modèle
paramétrique est déterminé statistiquement. Ce problème n’est pas trivial,
mais apporter une solution permet de devenir adaptatif aux données.
Une façon de ne plus dépendre d’un seuil δ peut être réalisé en changeant la
métrique. ROUSSEEUW (1984) recherche l’ensemble consensus qui minimise
la médiane des résidus observés par la méthode LMedS, Least-Median-ofSquares.
On observe que la méthode permet de rejeter efficacement les données
aberrantes mais en contrepartie elle est très sensible à un bruit de type
gaussien. L’utilisation de la médiane limite l’identification d’un consensus à
des données polluées à moins de 50%.
Hypothèse : distributions normales des inliers et distribution uniforme
des outliers : L’algorithme MLESAC Maximum Likelihood SAC (TORR et ZISSERMAN
2000) introduit une mesure de qualité basée sur la probabilité de70 4–L’estimation robuste de modèles paramétriques
distribution des inliers et outliers. La distribution des inliers est modélisée
comme une distribution gaussienne et les outliers comme une distribution
uniforme.
Hypothèse : distributions uniformes des outliers : MINPRAN MINimize the
Probability of RANdomness (STEWART 1995) recherche un ensemble consensus,
qui associé à un modèle paramétrique, n’est pas expliqué par la chance
(le modèle de fond). La taille de cet ensemble consensus est évaluée par la
minimisation d’une probabilité P(S|H ). Considérant les résidus des outliers
uniformément distribués, une mesure de consistance est définie par l’utilisation
de la probabilité. MINPRAN modélise par des probabilités le fait d’observer
un groupe de k résidus plus petit qu’une erreur r parmi N résidus
selon une loi uniforme. Le groupe de k points présentant la plus faible probabilité
est retenu. Le calcul des probabilités permet d’obtenir une méthode
adaptative mais rajoute une complexité importante pour les calculs.
Hypothèses : points d’intérêt indépendants et uniformément distribués
dans les images : MOISAN et STIVAL (2004) proposent de mesurer la qualité
d’un groupe de correspondances dans le cadre de la théorie de la détection
a contrario. Cette approche présente de nombreuses similitudes avec l’algorithme
MINPRAN mais les hypothèses pour le modèle de fond sont diffé-
rentes. Cette méthode que nous référons par l’acronyme AC-RANSAC (A
Contrario RANdom SAmple Consensus) est expliquée plus en détail dans la
section 4.3.
Hypothèses : distributions uniformes des alpha-consistance de modèles :
StaRSaC (CHOI et MEDIONI 2009) propose de tester de manière exhaustive
différentes valeurs de seuil δ. Le consensus conservé est estimé en fonction
de la variance des paramètres du modèle H en estimation. RAGURAM et
FRAHM (2011) propose avec la méthode RECON REsidual CONsensus de rechercher
K hypothèses qui sont consistantes. La mesure de consistance repose
sur un test dit d’α-consistance permettant d’identifier la variance du
bruit d’un modèle en cours d’évaluation. RECON itère parmi différentes valeurs
de seuil α et garde le plus petit α donnant un ensemble de modèles
partageant des distributions similaires d’erreur résiduelle. L’inconvénient de
ces méthodes est que les seuils sont contraints apriori dans un intervalle fixe
et discrétisé en K sous seuils à évaluer.
Amélioration de la précision :
Optimisation locale. CHUM et al. (2003) propose avec LO-RANSAC pour chaque
hypothèse en cours d’acceptation de l’optimiser localement. C’est à dire de
lancer des estimations d’hypothèses parmi les données sélectionnées en inlier.
L’hypothèse donnant la plus petite erreur moyenne est retenue.
La méthode de MOISAN et STIVAL (2004) réalise à la fois un échantillonnage
guidé et une optimisation locale du modèle.4.2–RANSAC 71
Nous venons de voir qu’il existe toute une famille de méthodes RANSAC, chaque
méthode apporte des optimisations de certaines parties de l’algorithme de base. Chaque
méthode a ses avantages et inconvénients : fiabilité et paramètres plus ou moins visibles.
Nous allons nous intéresser par la suite à la méthode nommée AC-RANSAC, A
Contrario RANSAC, car elle repose sur la définition et l’usage de critères statistiques
d’aide à la décision bien fondés. Les points abordés par AC-RANSAC sont particulièrement
intéressants et permettent :
• la modélisation statistique du nombre de fausses alarmes,
• l’adaptabilité au bruit des données et donc une meilleure précision pour les modèles
identifiés (cf. figure 4.2),
• l’absence de paramètres autres qu’un nombre d’itération maximal,
• un point de rupture plus large que les autres méthodes (pouvant aller jusqu’à 90%
d’outliers si suffisamment d’hypothèses sont testées).
Des expériences, sur A Contrario RANSAC, réalisées par MOISAN et STIVAL (2004) et
NOURY (2011) ont démontré sur images synthétiques et réelles :
• l’amélioration du taux de réussite général et ce jusqu’a 90% d’outliers,
• l’amélioration générale de la précision (comparé à RANSAC et MSAC),
• l’amélioration systématique de la solution identifiée lorsque le taux d’outliers dé-
passe les 50%.
FIGURE 4.2 – Comportement d’AC-RANSAC pour la recherche d’un modèle paramé-
trique de ligne ou un bruit gaussien de plus en plus grand est ajouté. En vert les données
validées a contrario en rouge les données rejetées et en bleu le modèle identifié.
On note, en bas à droite, qu’en présence de bruit pur AC-RANSAC n’identifie aucun
modèle, RANSAC aurait lui retourné une fausse hypothèse.72 4–L’estimation robuste de modèles paramétriques
4.3 A Contrario-RANSAC
La théorie de la détection a contrario a été proposée initialement par DESOLNEUX
et al. (2000) pour la détection de segments puis généralisée à d’autres propos par la
suite : DESOLNEUX et al. (2007). Elle s’inspire des tests d’hypothèses pour détecter des
groupes significatifs d’objets partageant des caractéristiques similaires. Les «méthodes
a contrario» reposent sur la définition d’un modèle de fond et une mesure de signifi-
cativité.
4.3.1 Le principe de la détection a contrario
La méthodologie a contrario (AC)repose sur le postulat qu’une structure n’est perçue
que lorsqu’elle n’a que très peu de chance d’être due au hasard. Ce principe est défini
par le «principe de Helmholtz» (cf. figure 4.3). Lionel MOISAN (2003) définit l’idée à
exploiter comme suit :
Proposition 3. "Il est beaucoup plus simple de définir un modèle que l’on souhaite réfuter
(typiquement un modèle uniforme) qu’un modèle précis des objets que l’on souhaite détecter".
FIGURE 4.3 – Illustration du principe de Helmholtz (groupement perceptuel). A
gauche, aucune structure ne se détache de l’image, où les segments ont été tirés aléatoirement
de manière indépendante. A droite, on ne peut s’empêcher de regrouper certain
segments car les alignements visibles ont peu de chances d’arriver par hasard.
L’application de la méthodologie a contrario demande la définition de quatre critères
:
1. Un modèle de fond : La définition de l’hypothèse à réfuter.
2. Une mesure de similarité : Une mesure de l’adéquation d’un échantillon à une
hypothèse en cours d’évaluation.
3. Une mesure de significativité : Une mesure de l’adéquation d’un groupe d’échantillons
à une hypothèse en cours (la détection d’une structure significative).
4. Un critère d’optimisation : Optimisation permettant de retenir la meilleure hypothèse
rencontrée : celle qui réfute le plus le modèle de fond.
Appliquée à la recherche de modèle, la méthode a contrario répond à la question :
"Est-ce que le modèle considéré s’ajuste aux données par chance ?" Le cadre statistique
repose sur deux notions : la définition d’un modèle de fond, qui décrit le processus
génératif, pour lequel aucune structure significative n’est perçue, et une mesure de similarité
de caractéristiques composant un groupe. Cette similarité permet d’évaluer la
qualité des groupes testés afin de détecter automatiquement quel sous-groupe est cohérent,
rigide.4.3–A Contrario-RANSAC 73
4.3.2 Mise en correspondance a contrario pour l’estimation de la géométrie
épipolaire
Dans le but de s’affranchir des limitations de RANSAC, MOISAN et STIVAL (2004)
utilisent la méthodologie a contrario pour réaliser les tâches de sélection et validation
de groupe dans le but d’estimer la géométrie épipolaire à partir de correspondances. Ils
apportent les éléments suivants :
Rappel. On dispose d’un ensemble de correspondances C : {(m,m
′
)},#C = n entre
deux images I et I
′
. On considère qu’un sous-groupe de 7 points est nécessaire pour
calculer de 1 à 3 matrices fondamentales.
Le modèle de fond à réfuter, l’hypothèse nulle. On souhaite identifier un sous-groupe
de ces correspondances qui peut être expliqué par une unique transformation. Pour
estimer cette transformation dans la méthodologie a contrario, on définit une hypothèse
nulle H0 qui décrit la distribution des correspondances aléatoireC pour lesquelles
aucun groupement ne doit être validé. Un groupe de correspondances est considéré
comme significatif s’il réfute l’hypothèse nulle, en d’autres termes si l’observation d’un
tel groupe sous H0 est peu probable.
Proposition 4. Un ensemble C de n correspondances aléatoires {(m,m
′
)} suit l’hypothèse nulle
H0 lorsque :
• les correspondances (m,m
′
) sont des variables aléatoires mutuellement indépendantes,
• les points m et m
′
sont uniformément distribués dans leur image respective I, I
′
.
La mesure de similarité. La mesure permettant de vérifier la qualité d’un échantillon
de correspondances dans le cas de la géométrie épipolaire utilise une erreur de type
point-droite. Cette erreur résiduelle implique pour un modèle F et un couple de point
(m,m
′
) une distance des points m et m
′ aux lignes épipolaires F
Tm
′ dans I et Fm dans I
′
respectivement.
La mesure de significativité. On souhaite ici mesurer l’adéquation d’un modèle en
cours d’hypothèse aux données de manière statistique. Soit S
′ un sous-groupe de C, tel
que #S
′ = s et FS
′ la matrice fondamentale évaluée à partir du s-uplet. Si l’on considère
queC suit le modèle de fond et que l’on a estimé la matrice FS
′ à partir d’un sous-groupe
S
′ ⊂ C. Pour n’importe quelle correspondance aléatoire (m,m
′
) de C, la probabilité que
la distance entre m
′
et la ligne épipolaire FS
′m soit plus petite que α peut être majorée
(cf. figure 4.4). Cette borne supérieure est le rapport entre l’aire maximale d’une bande
de largeur 2α et l’aire A de l’image I
′
.
En notant M (FS
′m,m
′
) la distance euclidienne entre le point m
′
et la ligne épipolaire
FS
′m on note :
∀α > 0,PH0
[M (FS
′m,m
′
) ≤ α] ≤
2αDI
′
AI
′
(4.3)
où DI
′ et AI
′ désignent respectivement la longueur de la diagonale et l’aire de l’image I
′
.
On définit l’erreur symétrique de transfert pour la géométrie épipolaire :
max
2DI
′
AI
′
M (FS
′m,m
′
),
2DI
AI
M (m,F
T
S
′m
′
)
∈ [0,1]74 4–L’estimation robuste de modèles paramétriques
FIGURE 4.4 – Définition de la mesure de significativité de l’erreur α pour la géométrie
épipolaire.
Considérant un couple de point aléatoire (m,m
′
) ⊂ C | S
′ on peut écrire
PH0
max
2DI
′
AI
′
M (FS
′m,m
′
),
2DI
AI
M (m,F
T
S
′m
′
)
≤ α
≤ α
2 ≤ α (4.4)
Pour tout sous-ensemble S de C tel que S ∩S
′ = 0/ on peut ainsi mesurer l’adéquation
de la matrice fondamentale FS
′ pour les correspondances de S comme l’erreur de
transfert symétrique normalisée maximale sur tous les points de S :
α(S,FS
′) := max
(m,m′)∈S
max
2DI
′
AI
′
M (FS
′m,m
′
),
2DI
AI
M (m,F
T
S
′m
′
)
(4.5)
On appelle cette mesure l’α-rigidité. Plus α est petit, moins il est probable que l’ensemble
de correspondances soit dû au hasard. Les correspondances étant supposées
indépendantes, on obtient une borne α
#S pour la probabilité d’observer une rigidité
α(S,FS
′) :
∀α > 0, PH0
[α(S,FS
′) ≤ α] ≤ α
#S
(4.6)
On peut ainsi mesurer la cohérence d’un sous-groupe S de correspondances réelles selon
une transformation F en considérant que la probabilité de la rigidité aléatoire de
α(S,FS
′) soit plus petite que la rigidité observée α(S,F) sous l’hypothèse nulle H0. La
quantité α(S,F)
#S mesure à quel point on s’étonne d’observer un groupe de taille #S et
de rigidité α(S,F) en supposant que le groupe est généré aléatoirement. Comme on recherche
des groupes qui ne sont pas composés de bruit, seuls les groupes pour lesquels
la probabilité est faible seront validés.
Une optimisation. Afin de connaître de manière automatique quel sous-groupe S est
α-rigide, un critère de validation automatique est utilisé. Ce critère de validation s’appuie
sur l’espérance du nombre de fausses alarmes, le NFA : une probabilité α pondérée
par un nombre de tests. Cette mesure de qualité associe une borne supérieure de l’espé-
rance du nombre de fausses alarmes au nombre de groupes de taille k de S qui suivent
le modèle de fond :
Proposition 5. Soit C = {(mi
,m
′
i
)|i = 1,...,n} un ensemble de n appariements entre les images
I et I
′
. Soit S un sous-ensemble de C, constitué de #S = k correspondances, avec k ≤ n − 7.
L’ensemble S est dit ε-significatif s’il existe un sous-ensemble S
′ de C, tel que #S
′ = 7,S
′ ∩S = 0/
et4.3–A Contrario-RANSAC 75
NFA(S,FS
′, k) = 3(n−7)
n
k
k
7
α
k−7 ≤ ε. (4.7)
Le NFA permet d’estimer quel sous-groupe de taille k réfute l’hypothèse de fond H0.
On mesure ainsi l’α-rigidité d’un sous-groupe de S de taille k pour la matrice FS
′ . Cette
mesure est d’autant plus significative que la quantité NFA(S,FS
′, k) est faible. Le nombre
de tests utilisé est composé de :
1. le nombre de tirage aléatoire : Le terme 3
k
7
correspond au nombre de transformations
F qu’il est possible d’estimer parmi les k correspondances restantes. Le
nombre de 7-uplets multiplié par le nombre de modèles hypothèses maximum
pouvant être calculé.
2. le nombre de groupe de résidus (n − 7). Les appariements restants dont les erreurs
résiduelles sont ordonnées par ordre croissant (les différentes bornes supé-
rieures α à évaluer),
3. le nombre de groupe de taille k ≤ n−7 : le terme
n
k
.
Identifier le groupe optimal pour la matrice FS
′ consiste à trouver le nombre de
valeurs étant le plus α-consistant : le groupe Sk ayant le plus petit NFA. Soit, rechercher
le groupe de taille k minimisant l’équation NFA(S,FS, k) :
NFA(Sk) = min
k=8...n
NFA(S,FS
′, k) ≤ ε , (4.8)
avec ε = 1 comme borne naturelle pour indiquer que l’on autorise au plus une fausse
alarme par détection. Les sous-groupes sont explorés en faisant varier k ∈ [8,n].
Tester tous les sous-ensembles de 7-uplets n’étant pas envisageable, il convient d’utiliser
les mêmes idées que RANSAC pour créer l’algorithme AC-RANSAC (cf. procédure
3). Á chaque itération un 7-uplets S est tiré parmi les n correspondances. De une à trois
matrices fondamentales sont alors estimées. Pour chacune on recherche le sous-groupe
le plus α-consistant : Les erreurs pour les n−7 appariements restant (mi
,m
′
i
) ∈C | S sont
évaluées et ordonnées par ordre croissant puis le groupe de taille k optimal est identi-
fié. On itère jusqu’à ce qu’un nombre maximal d’itérations ait été atteint ou que l’on a
identifié une hypothèse donnant un NFA< 1, phase où l’on va pouvoir optimiser localement
le modèle pour continuer à identifier de nouvelle matrice F ayant sous-groupe
avec un NFA plus petit.
On obtient la procédure 3 :76 4–L’estimation robuste de modèles paramétriques
Procédure 3 AC-RANSAC
Entrée: D = {(m,m
′
)} : un ensemble de correspondances
Entrée: N : un nombre maximal de tirage
Sortie: l’ensemble consensus Sopt, le modèle Fopt validé a contrario et son NFA.
iter = 0, Sopt = 0/, optim = 0
NFAopt = 1
Dcopie = D
(1) Échantillonnage aléatoire :
Tirage d’un 7-uplet S parmi Dcopie
Estimation de(s) matrices F (au plus 3)
pour chaque matrice F faire
(2) Sélection des inliers :
Tri des correspondances (m,m
′
) selon leur erreur résiduelle αi
Sélection du groupe S
′de taille k minimisant le NFA(S,F,αi
, k)
(3) Validation :
si #S
′ > #Sopt et NFA(S’) < NFAopt alors
Sopt = S
′
Fopt = F
(3.1) Optimisation du modèle et réduction du nombre d’itération :
si NFA(S’) < 1 et optim = 0 alors
Dcopie = S
′
N = iter+N/10;
optim = 1
fin si
fin si
fin pour
(4) Critère d’arrêt :
Tant que iter < N, iter = iter +1. Retour à l’étape 1.
(5) Optimisation du modèle final :
Estimation aux moindres carrés de Fopt en utilisant Sopt.4.4–Généralisation de la mise en correspondance a contrario pour l’estimation de
modèles paramétriques 77
4.4 Généralisation de la mise en correspondance a contrario
pour l’estimation de modèles paramétriques
Le modèle de fond proposé pour la géométrie épipolaire par MOISAN et STIVAL
(2004) est très générique (indépendance mutuelle et distribution uniforme des points
homologues), il peut donc être utilisé pour l’estimation de modèles paramétriques
autres que la matrice fondamentale. Dans un premier temps nous nous intéressons au
cas des transformations géométriques du plan. Puis nous proposons d’explorer une
formulation générique du calcul NFA pour appliquer l’estimation robuste a contrario
AC-RANSAC à des modèles inexplorés jusqu’alors.
Étendre la formulation a contrario initiale pour le cas des transformations géomé-
triques du plan (similitudes, transformations affines et homographie) requiert de redé-
finir les points suivants :
1. La mesure de similarité : la mesure de l’erreur résiduelle,
Les transformations géométriques du plan impliquent non plus une distance
à une ligne épipolaire, mais une correspondance point à point. Soit Mp un modèle
paramétrique réalisant une transformation géométrique du plan. L’erreur
résiduelle de transfert dans l’image droite s’exprime par la distance euclidienne
entre le point x
′ de l’image droite et le point Mpx, transfert du point x de l’image
gauche à l’image droite :
M (Mpx, x
′
) = kMpx−x
′
k2. (4.9)
Pour tout correspondance (x, x
′
) la probabilité conditionnellement à H0 que la distance
M (Mpx, x
′
) soit plus petite que α est bornée supérieurement par le rapport
de l’aire du disque de rayon α divisé par l’aire A
′ de l’image I
′
:
∀α > 0, PH0
[M (Mpx, x
′
) ≤ α] ≤ π
α
2
A′
. (4.10)
Autrement dit,
∀α > 0, PH0
[
π
A′M (Mpx, x
′
)
2 ≤ α] ≤ α. (4.11)
2. La mesure de significativité : la mesure de l’α-rigidité,
Une nouvelle définition de la rigidité (en considérant les erreurs de transfert
dans les deux images) est exprimée :
α(S,MpS
′) := max
(x,x
′)∈S
max π
A′M (Mpx, x
′
)
2
,
π
A
M (x,M−1
p
x
′
)
2
(4.12)
La cohérence d’un sous-groupe S
′ de correspondances réelles selon une transformation
Mp, en considérant la probabilité que la rigidité aléatoire de α(S,MpS
′) soit
plus petite que la rigidité observée α(S,Mp) sous l’hypothèse nulle H0, est mesurée
comme précédemment :
∀α > 0, PH0
α(S,MpS′) ≤ α
≤ α
#S
(4.13)
3. La phase d’optimisation : le calcul du NFA.
En considérant maintenant un ensemble S de n appariements entre deux images
I et I
′ on exprime de manière analogue le critère de validation du NFA proposé
par MOISAN et STIVAL (2004) :
NFA(S,MpS′, k) = (n−Ns)
n
k
k
Ns
α
k−Ns ≤ ε, (4.14)
Système de mesure d’imp´edance ´electrique embarqu´e,
application aux batteries Li-ion
Rouba Al Nazer
To cite this version:
Rouba Al Nazer. Syst`eme de mesure d’imp´edance ´electrique embarqu´e, application aux batteries
Li-ion. Signal and Image processing. Universit´e de Grenoble, 2014. French.
HAL Id: tel-00958783
https://tel.archives-ouvertes.fr/tel-00958783
Submitted on 13 Mar 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
Pour obtenir le grade de
DOCTEUR DE L’UNIVERSITÉ DE GRENOBLE
Spécialité : Signal Image Télécommunications et Parole
Arrêté ministériel : 7 août 2006
Présentée par
Rouba AL NAZER
Thèse dirigée par Nadine MARTIN et
Co-encadrée par Viviane CATTIN
Pierre GRANJON
préparée au sein du Laboratoire CEA/LETI
dans l'École Doctorale Electronique Electrotechnique
Automatique Traitement du Signal
Système de mesure d'impédance
électrique embarqué, application
aux batteries Li-ion
Thèse soutenue publiquement le 24 Janvier 2014,
devant le jury composé de :
M., Gérard, BLOCH
Professeur, Université de Lorraine, Rapporteur
M., Christophe, FORGEZ
Professeur, Université de Technologie de Compiègne, Rapporteur
M., François, HUET
Professeur, Université Pierre et Marie Curie, Membre
Mme, Marie, CHABERT
Professeur, INP-Toulouse, Présidente
M., Maxime, MONTARU
Docteur Ingénieur, CEA/INES, Invité
Mme, Nadine, MARTIN
Directeur de Recherche CNRS, GIPSA-Lab, Directrice de thèse
Mme, Viviane, CATTIN
Docteur Ingénieur, CEA/LETI, Co-encadrante
M., Pierre, GRANJON
Maître de conférences, Grenoble-INP, GIPSA-Lab, Co-encadrant Remerciements
Ce travail a été effectué dans le laboratoire L2EP du leti du CEA grâce à Viviane Cattin que je tiens à
remercier pour m'avoir permis de réaliser cette thèse et de m'avoir orientée vers la thématique de l'étude de
l’impédance des batteries utilisées dans les véhicules hybrides. Je lui suis également reconnaissante pour tous
les précieux conseils qu'elle m'a donnés, pour la confiance qu'elle m'a accordée et sans qui ce travail n'aurait
jamais vu le jour.
J'adresse mes remerciements les plus chaleureux à Pierre Granjon, maître de conférences à ENSE3, pour sa
disponibilité, ses qualités pédagogiques et scientifiques. J'ai beaucoup appris à ses côtés et je lui adresse
toute ma gratitude. J'ai notamment apprécié d'avoir eu, tout au long de cette thèse, ses conseils de grande
rigueur scientifique et littéraire.
J'associe à ces remerciements Maxime Montaru, chercheur à l'INES de Chambéry, pour m’avoir transmis la
majeure partie des expériences effectuées dans le cadre d’autres projets et pour m’avoir conseillée et guidée
avec bienveillance grâce à ses précieuses connaissances dans le domaine des batteries.
Un énorme merci à vous trois pour m’avoir corrigée et aidée avec patience, tout au long de la rédaction de ce
manuscrit.
Je voudrais également remercier tous les membres du jury pour l'intérêt qu'ils ont porté à mon travail.
De manière plus personnelle, je remercie chaleureusement tous mes camarades du laboratoire qui m'ont
permis d'effectuer cette thèse dans une ambiance amicale, et plus particulièrement ceux qui se reconnaîtront,
pour leur soutien et leur bonne humeur.
Immanquablement, je souhaite remercier ma famille pour leur soutien constant. Cette thèse, aboutissement
de longues années d’études, je la dois beaucoup à mes parents, à mes sœurs et mes frères exceptionnels avec
qui j’ai vécu dans un climat toujours serein, à l’abri de tous soucis affectifs. Il m’est impossible de trouver
des mots pour dire à quel point je suis fière d’eux, et à quel point je les aime.Résumé
La ŵesuƌe d͛iŵpĠdaŶĐe ĠleĐtƌiƋue eŶ eŵďaƌƋuĠ suƌ ǀĠhiĐule est uŶ sujet ĐlĠ pouƌ aŵĠlioƌeƌ les
foŶĐtioŶs de diagŶostiĐ d͛uŶ paĐk ďatteƌie. OŶ ĐheƌĐhe eŶ paƌtiĐulieƌ à fouƌŶiƌ aiŶsi des ŵesuƌes
supplémentaiƌes à Đelles du ĐouƌaŶt paĐk et des teŶsioŶs Đellules, afiŶ d͛eŶƌiĐhiƌ les iŶdiĐateuƌs de
ǀieillisseŵeŶt daŶs uŶ pƌeŵieƌ teŵps, et d͛Ġtat de saŶtĠ et de Đhaƌge daŶs uŶ seĐoŶd teŵps. UŶe
ŵĠthode ĐlassiƋue de laďoƌatoiƌe pouƌ oďteŶiƌ des ŵesuƌes d͛iŵpĠdaŶĐe d͛uŶe ďatteƌie est la
speĐtƌosĐopie d͛iŵpĠdaŶĐe ĠleĐtƌoĐhiŵiƋue ;ou EI“Ϳ. Elle ĐoŶsiste à eŶǀoLJeƌ uŶ sigŶal siŶusoïdal eŶ
ĐouƌaŶt ;ou teŶsioŶͿ de fƌĠƋueŶĐe ǀaƌiaďle ďalaLJaŶt uŶe gaŵŵe de fƌĠƋueŶĐes d͛iŶtĠƌġt et ŵesuƌeƌ
ensuite la réponse en tension (ou ĐouƌaŶtͿ pouƌ ĐhaƋue fƌĠƋueŶĐe. UŶe teĐhŶiƋue d͛ideŶtifiĐatioŶ
aĐtiǀe ďasĠe suƌ l͛utilisatioŶ des sigŶaudž laƌge ďaŶde à ŵotifs ĐaƌƌĠs est pƌoposĠe. EŶ paƌtiĐulieƌ, des
siŵulatioŶs oŶt peƌŵis de Đoŵpaƌeƌ les peƌfoƌŵaŶĐes d͛ideŶtifiĐatioŶ de diffĠƌeŶts sigŶaux
d͛edžĐitatioŶ fƌĠƋueŵŵeŶt utilisĠs daŶs le doŵaiŶe de l͛ideŶtifiĐatioŶ et de ǀĠƌifieƌ les ĐoŶditioŶs
ĐoƌƌespoŶdaŶt à uŶ ĐoŵpoƌteŵeŶt liŶĠaiƌe et iŶǀaƌiaŶt daŶs le teŵps de l͛ĠlĠŵeŶt ĠleĐtƌoĐhiŵiƋue.
L͛ĠǀaluatioŶ de la ƋualitĠ d͛estiŵatioŶ est effeĐtuĠe en utilisant une grandeur spécifique : la
cohérence. Cette grandeur statistique permet de déterminer un intervalle de confiance sur le module
et la phase de l͛iŵpĠdaŶĐe estiŵĠe. Elle peƌŵet de sĠleĐtioŶŶeƌ la gaŵŵe de fƌĠƋueŶĐe où la
batterie respecte les hLJpothğses iŵposĠes paƌ la ŵĠthode d͛ideŶtifiĐatioŶ laƌge ďaŶde. AfiŶ de
valider les résultats, une électronique de test a été conçue. Les résultats expérimentaux permettent
de ŵettƌe eŶ ǀaleuƌ l͛iŶtĠƌġt de Đette appƌoĐhe paƌ ŵotifs ĐaƌƌĠs. UŶ ĐiƌĐuit de ƌĠférence est utilisé
afin d'évaluer les performances en métrologie des méthodes. L'étude expérimentale est ensuite
poursuivie sur une batterie Li-ion soumise à un courant de polarisation et à différents états de
Đhaƌge. Des essais Đoŵpaƌatifs aǀeĐ l͛EI“ soŶt ƌĠalisĠs. Le Đahieƌ de Đhaƌge Ġtaďli à l'aide d͛uŶ
simulateur de batterie Li-ioŶ a peƌŵis d͛Ġǀalueƌ les peƌfoƌŵaŶĐes de la teĐhŶiƋue laƌge ďaŶde
pƌoposĠe et de stƌuĐtuƌeƌ soŶ utilitĠ pouƌ l͛estiŵatioŶ des Ġtats de ǀieillisseŵeŶt et de Đhaƌge.Abstract
Embedded electrical impedance measurement is a key issue to enhance battery monitoring and
diagŶostiĐ iŶ a ǀehiĐle. It pƌoǀides additioŶal ŵeasuƌes to those of the paĐk͛s ĐuƌƌeŶt aŶd Đell͛s
ǀoltage to eŶƌiĐh the agiŶg͛s iŶdiĐatoƌs iŶ a fiƌst tiŵe, aŶd the battery states in a second time. A
classical method for battery impedance measurements is the electrochemical impedance
spectroscopy (EIS). At each frequency, a sinusoidal signal current (or voltage) of a variable frequency
sweeping a range of frequencies of interest is at the input of the battery and the output is the
measured voltage response (or current). An active identification technique based on the use of
wideband signals composed of square patterns is proposed. Particularly, simulations were used to
compare the performance of different excitation signals commonly used for system identification in
several domains and to verify the linear and time invariant behavior for the electrochemical element.
The evaluation of the estimation performance is performed using a specific quantity: the spectral
coherence. This statistical value is used to give a confidence interval for the module and the phase of
the estimated impedance. It allows the selection of the frequency range where the battery respects
the assumptions imposed by the non-parametric identification method. To experimentally validate
the previous results, an electronic test bench was designed. Experimental results are used to
evaluate the wideband frequency impedance identification. A reference circuit is first used to
evaluate the performance of the used methodology. Experimentations are then done on a Li–ion
battery. Comparative tests with EIS are realized. The specifications are established using a simulator
of Li-ion battery. They are used to evaluate the performance of the proposed wide band
identification method and fix its usefulness for the battery states estimation: the state of charge and
the state of health.
TABLE DES MATIERES
INTRODUCTION ................................................................................................................................................ 1
CHAPITRE 1 : CONTEXTE GENERAL .............................................................................................................. 5
1.1 PROBLEMES ECOLOGIQUES ET ECONOMIQUES LIES AU TRANSPORT........................................................................ 5
1.1.1 Le transport en tant que principal émetteur de GES ......................................................................... 5
1.1.2 Le pétrole : conflits économiques et politiques ................................................................................. 8
1.2 VERS L͛ELECTRIFICATION DU VEHICULE ............................................................................................................ 8
1.3 GENERALITES SUR LES ACCUMULATEURS........................................................................................................ 10
1.3.1 Les technologies des accumulateurs ............................................................................................... 10
1.3.2 Grandeurs caractéristiques d’uŶ aĐĐuŵulateuƌ .............................................................................. 12
1.3.2.1 La capacité de stockage C ሺAhሻ .............................................................................................................. 12
1.3.2.2 La capacité nominale Cn ሺAhሻ................................................................................................................ 12
1.3.2.3 La capacité stockée Cs ሺAhሻ ................................................................................................................... 12
1.3.2.4 Le rendement faradique (%) ................................................................................................................... 12
1.3.2.5 L͛autodécharge (%) ................................................................................................................................. 12
1.3.2.6 La tension à vide (OCV pour Open Circuit Voltage) ................................................................................ 13
1.3.2.7 La durée de vie en cyclage et calendaire ................................................................................................ 13
1.3.3 Les accumulateurs Li-ion ................................................................................................................. 13
1.3.3.1 Fonctionnement ..................................................................................................................................... 13
1.3.3.2 Phénomènes physico-chimiques ............................................................................................................ 14
a) L͛effet de ĐouĐhe douďle............................................................................................................................. 14
b) Transfert de charge ..................................................................................................................................... 15
c) La diffusion .................................................................................................................................................. 15
d) Film de passivation ...................................................................................................................................... 15
e) Pertes ohmiques.......................................................................................................................................... 16
1.3.4 Des accumulateurs aux batteries .................................................................................................... 16
1.4 SYSTEME DE SUPERVISION DE BATTERIE ......................................................................................................... 16
1.4.1 IŶdiĐes d’Ġtats ................................................................................................................................. 17
1.4.1.1 Etat de santé (SOHሻ................................................................................................................................ 17
1.4.1.2 Etat de charge (SOC)............................................................................................................................... 17
1.4.2 Terminologie.................................................................................................................................... 18
1.5 L͛ACCUMULATEUR : OBJET DE MODELISATION ................................................................................................ 19
1.5.1 Boite Blanche ................................................................................................................................... 19
1.5.2 Boite noire ....................................................................................................................................... 20
1.5.3 Boite grise ........................................................................................................................................ 20
1.5.3.1 Le modèle de Randles généralisé ........................................................................................................... 21
1.5.3.2 Application aux cellules LiFePO4 ............................................................................................................. 231.6 CIRCUIT ELECTRIQUE EQUIVALENT ET NOTION D͛IMPEDANCE ELECTRIQUE ............................................................. 24
CHAPITRE 2 : IDENTIFICATION DE L’IMPEDANCE ELECTRIQUE D’UN ACCUMULATEUR.............................. 25
2.1 HYPOTHESES DE TRAVAIL............................................................................................................................ 26
2.2 ETAT DE L͛ART.......................................................................................................................................... 26
2.2.1 Identification de la résistance interne ............................................................................................. 27
2.2.1.1 Mesure par milliohmmètre.................................................................................................................... 27
2.2.1.2 Temps de repos (period-of-rest) ............................................................................................................ 27
2.2.1.3 Impulsion de courant .............................................................................................................................. 27
2.2.1.4 Interprétation ......................................................................................................................................... 27
2.2.1.5 Exploitation ............................................................................................................................................ 28
2.2.2 SpeĐtƌosĐopie d’iŵpĠdaŶĐe ĠleĐtƌiƋue ;SIEͿ.................................................................................... 29
2.2.3 Vers une rupture inévitable des méthodes classiques ..................................................................... 29
2.3 IDENTIFICATION NON PARAMETRIQUE D͛UN ACCUMULATEUR............................................................................. 30
2.3.1 Système linéaire et invariant dans le temps (LIT) ............................................................................ 30
2.3.2 Identification non paramétrique ..................................................................................................... 31
2.3.2.1 Principe ................................................................................................................................................... 31
2.3.2.2 Cohérence spectrale ............................................................................................................................... 32
2.3.2.3 Algoƌithŵe d͛ideŶtifiĐatioŶ ŶoŶ paƌaŵĠtƌiƋue ...................................................................................... 33
2.3.2.4 Intervalles de confiance .......................................................................................................................... 34
2.3.3 Eƌƌeuƌs d’estiŵatioŶs ...................................................................................................................... 35
2.3.3.1 Erreur quadratique moyenne et variance d͛eƌƌeuƌ d͛estiŵatioŶ ........................................................... 35
2.3.3.2 Erreur quadratique moyenne efficace et écart type normalisés ............................................................ 35
2.3.4 IŶtĠƌġt ŵajeuƌ de l’ideŶtifiĐatioŶ laƌge ďaŶde pouƌ l’appliĐatioŶ eŶ eŵďaƌƋuĠ ............................. 36
2.3.5 Effet des paƌaŵğtƌes de la ŵĠthode d’estiŵatioŶ .......................................................................... 36
2.3.5.1 “igŶal d͛edžĐitation .................................................................................................................................. 37
a) Bruit blanc aléatoire .................................................................................................................................... 37
b) Séquence binaire pseudo aléatoire ............................................................................................................. 38
c) Chirp ............................................................................................................................................................ 38
d) Carré modulé en fréquence ........................................................................................................................ 39
e) Carré ............................................................................................................................................................ 40
2.3.5.2 Noŵďƌe d͛ĠĐhaŶtilloŶs, duƌĠe d͛aĐƋuisitioŶ, ŵoLJeŶŶage...................................................................... 40
2.3.5.3 Drift compensation ................................................................................................................................. 41
2.4 APPLICATION AUX ACCUMULATEURS : ETUDE EN SIMULATION............................................................................ 42
2.4.1 Système, entrée, sortie .................................................................................................................... 42
2.4.2 Visualisation des résultats ............................................................................................................... 43
2.4.3 Validation des résultats ................................................................................................................... 43
2.4.4 Simulations ...................................................................................................................................... 43
2.4.4.1 Paramètres de simulation ...................................................................................................................... 43
2.4.4.2 Cohérence spectrale ............................................................................................................................... 44
2.4.4.3 Intervalles de confiance .......................................................................................................................... 452.4.4.4 Effet du bruit de mesure ........................................................................................................................ 48
2.5 CONCLUSION ........................................................................................................................................... 49
CHAPITRE 3 : VALIDATION EXPERIMENTALE DES RESULTATS.................................................................... 51
3.1 BANC EXPERIMENTAL................................................................................................................................. 51
3.1.1 Electronique de génération des signaux à motifs carrés ................................................................. 51
3.1.2 TechŶiƋue d’ideŶtifiĐatioŶ paƌ aŶalLJse paƌ haƌŵoŶiƋue ;AHͿ......................................................... 52
3.1.3 Mesure à quatre points ................................................................................................................... 53
3.1.4 Circuit électrique de référence ......................................................................................................... 53
3.1.4.1 Description du circuit électrique de référence ....................................................................................... 53
3.1.4.2 Contraintes pour une mesure directe .................................................................................................... 53
3.2 PROTOCOLE EXPERIMENTAL ........................................................................................................................ 54
3.2.1 TeĐhŶologie de l’aĐĐuŵulateuƌ ....................................................................................................... 54
3.2.2 Réglage du point de fonctionnement .............................................................................................. 55
3.2.3 Aŵplitude du sigŶal d’edžĐitatioŶ..................................................................................................... 55
3.2.4 Paramétrage des expérimentations ................................................................................................ 57
3.2.4.1 CoŶĐeptioŶ des sigŶaudž d͛edžĐitatioŶ ...................................................................................................... 57
3.2.4.2 Séparation des mesures ......................................................................................................................... 58
3.3 RESULTATS EXPERIMENTAUX ....................................................................................................................... 59
3.3.1 Résultats des essais sur le circuit électrique de référence ............................................................... 59
3.3.1.1 ‘Ġsultats aǀeĐ la teĐhŶiƋue d͛analyse par harmonique ......................................................................... 59
3.3.1.2 ‘Ġsultats de la teĐhŶiƋue d͛ideŶtifiĐatioŶ laƌge ďaŶde .......................................................................... 60
3.3.1.3 ‘Ġsultats aǀeĐ l͛AH à ďase de signaux carrés périodiques ...................................................................... 62
3.3.1.4 Interprétation des résultats .................................................................................................................... 63
3.3.2 Test sur un accumulateur réel ......................................................................................................... 65
3.3.2.1 Etude dans la gamme de fréquence [Ͷ Hz-ͻ Hz]................................................................................. 65
a) Résultats avec la SBPA ................................................................................................................................. 65
b) Résultats avec un signal carré modulé en fréquence .................................................................................. 66
c) Résultats avec un signal carré périodique ................................................................................................... 67
d) Interprétation des résultats ........................................................................................................................ 68
3.3.2.2 Etude en basses fréquences [Ͳ,Ͳ͵͵ Hz-͵,͵͵ Hz]................................................................................... 69
3.4 CONCLUSION ........................................................................................................................................... 71
CHAPITRE 4 : L’IMPEDANCE ELECTRIQUE POUR LA SUPERVISION DES ACCUMULATEURS......................... 72
4.1 IMPEDANCE ELECTRIQUE ET CEE................................................................................................................. 72
4.1.1 Technologie DFRA/DFIS ................................................................................................................... 72
4.1.2 IdeŶtifiĐatioŶ paƌtielle d’uŶ CEE en utilisant une SBPA................................................................... 73
4.1.3 Principe de normalisation pour l’ideŶtifiĐatioŶ sous uŶ ĐouƌaŶt de polaƌisatioŶ foƌt [18]............. 74
4.1.4 Algoƌithŵe d’optiŵisatioŶ : aŵĠlioƌatioŶ des peƌfoƌŵaŶĐes ......................................................... 74
4.1.4.1 PƌiŶĐipe de l͛estiŵatioŶ paƌ optiŵisatioŶ ŶuŵĠƌiƋue............................................................................ 754.1.4.2 Application aux accumulateurs .............................................................................................................. 75
a) Approche classique ..................................................................................................................................... 77
b) Les approches alternatives .......................................................................................................................... 78
4.1.5 La nouvelle approche : estimation en deux étapes ......................................................................... 82
4.1.6 Résultats expérimentaux ................................................................................................................. 83
4.2 EXPLOITATION DE L͛IMPEDANCE ELECTRIQUE POUR LE SUIVI DES INDICES D͛ETAT.................................................... 84
4.2.1 Cahier des charges pour le SOH ...................................................................................................... 84
4.2.2 Cahier des charges pour le SOC....................................................................................................... 87
4.2.3 Etude de validitĠ de la teĐhŶiƋue d’identification large bande pour le suivi du SOH...................... 88
4.2.3.1 “igŶal d͛edžĐitatioŶ et ĐalĐul de la dispeƌsioŶ suƌ les ŵesuƌes ................................................................ 88
4.2.3.2 Interprétation des résultats .................................................................................................................... 89
4.2.4 ValiditĠ de la teĐhŶiƋue d’ideŶtifiĐatioŶ laƌge ďaŶde pouƌ le suivi du SOC..................................... 89
4.2.4.1 Essai de suivi du SOC .............................................................................................................................. 89
4.2.4.2 Interprétation des résultats .................................................................................................................... 90
4.3 CONCLUSION ........................................................................................................................................... 91
CONCLUSIONS ET PERSPECTIVES .................................................................................................................... 94
ANNEXE A. DERIVATION NON ENTIERE ET CPE ....................................................................................... 97
ANNEXE B. DATASHEET BATTERIE A123-SYSTEMS ................................................................................ 100
ANNEXE C. SIMULATEUR D’UN ACCUMULATEUR LIFEPOͶ .................................................................. 102
ANNEXE D. CARTE ELECTRONIQUE DE GENERATION DES SIGNAUX A MOTIFS CARRES ......................... 104
ANNEXE E. EXEMPLE D’UN DIAGRAMME DE NYQUIST TOTAL EXPERIMENTAL D’UN ACCUMULATEUR
LIFEPOͶ 106
REFERENCES ................................................................................................................................................. 107
TABLE DES FIGURES
FIGURE 1-1: EVOLUTION COMPAREE DE LA CONCENTRATION EN COʹ DANS L͛ATMOSPHERE ET DE LA TEMPERATURE MOYENNE DU
GLOBE TERRESTRE. ............................................................................................................................................... 6
FIGURE 1-2 : EMISSIONS DE GAZ A EFFET DE SERRE PAR SECTEUR EN FRANCE EN 2000 ET 2011 [4]. ........................................... 7
FIGURE 1-3 : EVOLUTION DE LA PRODUCTION EN AUTOMOBILE ET DE LA CONCENTRATION EN CO2 DANS L͛ATMOSPHERE................. 7
FIGURE 1-4 : EVOLUTION DU PRIX DE PETROLE DE 1987 A 2012 [6]. .................................................................................... 8
FIGURE 1-5 : DIAGRAMME DE RAGONE POUR DIFFERENTES TECHNOLOGIES D͛ACCUMULATEURS [9]. ......................................... 10
FIGURE 1-6 : PRINCIPE DE FONCTIONNEMENT D͛UN ACCUMULATEUR LI-ION [14]. ................................................................. 13
FIGURE 1-7 : SCHEMA DE COMPOSITION DE LA COUCHE DOUBLE [16]. ................................................................................. 15
FIGURE 1-8 : LIEN ENTRE ACCUMULATEURS ET BATTERIES – EXEMPLE D͛UNE BATTERIE COMPOSEE DE 10 MODULES EN SERIE, CHAQUE
MODULE CONTENANT 5 ACCUMULATEURS DE 2,3 AH CHACUN EN PARALLELE (5P) MIS EN SERIE 12 FOIS (12S). .................. 16
FIGURE 1-9 : CIRCUIT DE RANDLES. ............................................................................................................................... 21
FIGURE 1-10 : DIAGRAMME DE NYQUIST DE ZR//CPE POUR DIFFERENTES VALEURS DE P [47]. .............................................. 22
FIGURE 1-11 : TROIS TYPES D͛IMPEDANCE DE WARBURG [18]. .......................................................................................... 23
FIGURE 1-12 : MODELE DE BATTERIES LIFEPO4 [18]. ..................................................................................................... 23
FIGURE 2-1 : ESTIMATION DE LA RESISTANCE VIA LE RAPPORT DE ∆V∆I EN UTILISANT LE SIMULATEUR ET COMPARAISON AVEC LES
VALEURS DES PARAMETRES DU CEE IMPLANTE. ....................................................................................................... 28
FIGURE 2-2 : SYSTEME SISO. ....................................................................................................................................... 30
FIGURE 2-3 : IDENTIFICATION D͛UN SYSTEME. ................................................................................................................. 32
FIGURE 2-4 : EXEMPLE D͛UNE SBPA (TRACE TEMPOREL A GAUCHE, DENSITE SPECTRALE DE PUISSANCE EN DB A DROITE).............. 38
FIGURE 2-5 : EXEMPLE D͛UN CHIRP (TRACE TEMPOREL A GAUCHE, DENSITE SPECTRALE DE PUISSANCE EN DB A DROITE). ............... 39
FIGURE 2-6 : EXEMPLE D͛UN CARRE MODULE EN FREQUENCE (TRACE TEMPOREL A GAUCHE, DENSITE SPECTRALE DE PUISSANCE EN DB A
DROITE)........................................................................................................................................................... 40
FIGURE 2-7 : EXEMPLE D͛UN CARRE (TRACE TEMPOREL A GAUCHE, DENSITE SPECTRALE DE PUISSANCE EN DB A DROITE). ............... 40
FIGURE 2-8 : REPONSE EN TENSION A UN COURANT CONTINU IDC A ESTIMER PAR UN POLYNOME GRACE A LA REPONSE EN TENSION A
UN COURANT IDC+ SBPA. ............................................................................................................................... 42
FIGURE 2-9 : ERREUR MOYENNE ENTRE PT ET UDCሺTሻ EN FONCTION DU DEGRE DU POLYNOME PT. ........................................ 42
FIGURE 2-10 : DENSITE SPECTRALE DE PUISSANCE (EN DB) DES CINQ SIGNAUX D͛EXCITATION.................................................... 44
FIGURE 2-11 : COHERENCE SPECTRALE, CINQ SIGNAUX D͛EXCITATION DIFFERENTS, RSB=0DB, GAMME DE FREQUENCE [13 HZ-320
HZ]................................................................................................................................................................. 45
FIGURE 2-12 : INTERVALLES DE CONFIANCE EN HAUTE FREQUENCE POUR LES SIGNAUX ............................................................ 47
FIGURE 2-13 : NRMSE EN % POUR DIFFERENTS SIGNAUX D͛EXCITATION EN FONCTION DU RSB. .............................................. 48
FIGURE 3-1 : SCHEMA SIMPLIFIE DE LA CARTE ELECTRONIQUE UTILISEE POUR GENERER DES SIGNAUX A MOTIFS CARRES. ................. 51
FIGURE 3-2 : APPAREIL VMP-300 DE CHEZ BIOLOGIC. ..................................................................................................... 52
FIGURE 3-3 : SCHEMA DU CIRCUIT DE REFERENCE PASSIF ET DE SON DIAGRAMME DE NYQUIST. ................................................. 53
FIGURE 3-4 : SCHEMA DU CIRCUIT DE REFERENCE PASSIF ADAPTE AU PROTOCOLE DE MESURE. .................................................. 54
FIGURE 3-5 : AMPLITUDE D͛EXCITATION (AͲ) DE LA SBPA SELON LES DONNEES DU SIMULATEUR POUR DIFFERENTES VALEURS DU
COURANT DE POLARISATION. ................................................................................................................................ 56FIGURE 3-6 : VARIATION DE L͛AMPLITUDE DU SIGNAL D͛EXCITATION ENTRE LE DEBUT (BLEU) ET LA FIN (VERT) DES TESTS EFFECTUES
POUR DIFFERENTES VALEURS DU SOC INITIAL, POUR UN COURANT DE POLARISATION DE ͳͳͲ MA POUR UNE DUREE DE
ͷ MINUTES. ..................................................................................................................................................... 57
FIGURE 3-7 : PHOTO DU MONTAGE DE MESURE EN ALTERNANCE (CONNEXION SIMULTANEE DU VMP-300 ET DU SYSTEME
D͛IDENTIFICATION LARGE BANDE).......................................................................................................................... 58
FIGURE 3-8 : PHOTO DU MONTAGE DE MESURE ISOLEE AVEC LE VMP-300. ......................................................................... 59
FIGURE 3-9 : DIAGRAMME DE NYQUIST DE L͛IMPEDANCE OBTENUE PAR ANALYSE HARMONIQUE DANS LA GAMME DE FREQUENCE
[Ͷ HZ-ͻ HZ]. ................................................................................................................................................ 60
FIGURE 3-10 : TRACES TEMPORELS DU SIGNAL D͛EXCITATION DE 19 BLOCS DE SBPA POUR LA GAMME DE FREQUENCE
[Ͷ HZ-ͻ HZ] : (A) SIGNAL COMPLET (COURANT A GAUCHE, TENSION A DROITE, CAS ACCUMULATEUR EN PREMIERE LIGNE ET
ACCUMULATEUR + CIRCUIT ELECTRIQUE DE REFERENCE EN DEUXIEME LIGNE), (B) TRACE IDEM QUE (A) ZOOME SUR UN BLOC DE
COURANT ET DE LA REPONSE EN TENSION CORRESPONDANTE POUR LES DEUX CAS, (C) COHERENCES SPECTRALES ESTIMEES A
L͛AIDE DES DONNEES PRECEDENTES POUR LES DEUX CAS. ........................................................................................... 61
FIGURE 3-11 : DIAGRAMME DE NYQUIST DE L͛IMPEDANCE OBTENUE POUR LA SBPA DANS LA GAMME DE FREQUENCE [Ͷ HZ-ͻ HZ].
...................................................................................................................................................................... 61
FIGURE 3-12 : TRACES TEMPORELS DES SIGNAUX UTILISES POUR L͛AH A BASE DE SIGNAUX CARRES PERIODIQUES : (A) TRACES
COMPLETS DU COURANT A GAUCHE ET DE LA REPONSE EN TENSION A DROITE POUR LES CAS ACCUMULATEUR EN PREMIERE LIGNE
ET ACCUMULATEUR + CIRCUIT ELECTRIQUE DE REFERENCE EN DEUXIEME LIGNE, (B) EXEMPLE DE DECOUPAGE D͛UN SIGNAL. .... 62
FIGURE 3-13 : DIAGRAMME DE NYQUIST DES IMPEDANCES ELECTRIQUES OBTENUES PAR L͛AH A BASE DE SIGNAUX CARRES
PERIODIQUES DANS LA GAMME DE FREQUENCE [Ͷ HZ-ͻ HZ]. ................................................................................. 63
FIGURE 3-14 : DIAGRAMME DE NYQUIST DES IMPEDANCES ELECTRIQUES ESTIMEES A L͛AIDE DES DIFFERENTS SIGNAUX PAR
COMPARAISON AVEC L͛IMPEDANCE THEORIQUE DANS LA GAMME DE FREQUENCE [Ͷ HZ-ͻ HZ]. .................................... 63
FIGURE 3-15 : (A) CONTACT CARTE-CARTE DANS LE CAS D͛IDENTIFICATION LARGE BANDE. (B) DIAGRAMME DE NYQUIST MONTRANT
UNE IMPEDANCE NON REPRODUCTIBLE ET INCONTROLABLE QUI EN RESULTE. ................................................................. 64
FIGURE 3-16 : COHERENCE SPECTRALE: RESULTATS DE TROIS MESURES EXPERIMENTALES OBTENUES AVEC LA SBPA COMME SIGNAL
D͛EXCITATION DANS LA GAMME DE FREQUENCE [Ͷ HZ-ͻ HZ]. ................................................................................ 66
FIGURE 3-17 : DIAGRAMME DE NYQUIST : RESULTATS DE TROIS MESURES EXPERIMENTALES OBTENUES AVEC LA SBPA COMME SIGNAL
D͛EXCITATION DANS LA GAMME DE FREQUENCE [Ͷ HZ-ͻ HZ]. ................................................................................ 66
FIGURE 3-18 : COHERENCE SPECTRALE : RESULTATS DE TROIS MESURES EXPERIMENTALES OBTENUES AVEC LE CARRE MODULE EN
FREQUENCE COMME SIGNAL D͛EXCITATION DANS LA GAMME DE FREQUENCE [Ͷ HZ-ͻ HZ]. .......................................... 67
FIGURE 3-19 : DIAGRAMME DENYQUIST : RESULTATS DE TROIS MESURES EXPERIMENTALES OBTENUES AVEC LE CARRE MODULE EN
FREQUENCE COMME SIGNAL D͛EXCITATION DANS LA GAMME DE FREQUENCE [Ͷ HZ-ͻ HZ]. .......................................... 67
FIGURE 3-20 : COHERENCE SPECTRALE: RESULTATS DE TROIS MESURES EXPERIMENTALES OBTENUES AVEC UN CARRE DE FREQUENCE
FONDAMENTALE ͺHZ COMME SIGNAL D͛EXCITATION. .............................................................................................. 68
FIGURE 3-21 : DIAGRAMME DE NYQUIST : RESULTATS DE TROIS MESURES EXPERIMENTALES OBTENUES AVEC UN SIGNAL CARRE DE
FREQUENCE FONDAMENTALE ͺHZ COMME SIGNAL D͛EXCITATION. .............................................................................. 68FIGURE 3-22 : RESULTATS DES ESTIMATIONS EXPERIMENTALES OBTENUES AVEC LES DIFFERENTS SIGNAUX A MOTIFS CARRES COMME
SIGNAL D͛EXCITATION DANS LA GAMME DE FREQUENCE [Ͷ HZ-ͻ HZ]. ...................................................................... 69
FIGURE 3-23 : COHERENCE : RESULTATS DE TROIS MESURES EXPERIMENTALES AVEC LA SBPA COMME SIGNAL D͛EXCITATIONS DANS LA
GAMME DE FREQUENCE [Ͳ,Ͳ͵͵ HZ-͵,͵͵ HZ]. .................................................................................................... 70
FIGURE 3-24 : DIAGRAMME DE NYQUIST POUR LES MESURES SUR UN ACCUMULATEUR DANS LA GAMME DE
FREQUENCE [Ͳ,Ͳ͵͵ HZ-͵,͵͵ HZ]. .................................................................................................................... 70
FIGURE 4-1 : SCHEMA DU CIRCUIT ELECTRIQUE EQUIVALENT UTILISE DANS [80]. .................................................................... 73
FIGURE 4-2 : ALGORITHME D͛OPTIMISATION. .................................................................................................................. 76
FIGURE 4-3 : HISTOGRAMMES NORMALISES OBTENUS AVEC L͛APPROCHE CLASSIQUE : LIGNES VERTES REPRESENTENT LES VALEURS
THEORIQUES, LES JAUNES SONT LES VALEURS MOYENNES ESTIMEES SUR LES DIFFERENTES REALISATIONS EFFECTUEES. ............ 78
FIGURE 4-4 : TRACE DU MODULE DES IMPEDANCES PARTIELLES ET DE L͛IMPEDANCE TOTALE DE L͛ACCUMULATEUR. ....................... 79
FIGURE 4-5 : HISTOGRAMMES NORMALISES, APPROCHE PAR SEGMENTATION DE LA BANDE DE FREQUENCE CLASSIQUE : LIGNES VERTES
REPRESENTENT LES VALEURS THEORIQUES, LES JAUNES SONT LES VALEURS MOYENNES ESTIMEES SUR LES DIFFERENTES
REALISATIONS EFFECTUEES. .................................................................................................................................. 80
FIGURE 4-6 : HISTOGRAMMES NORMALISES, APPROCHE PAR EXTENSION DE BANDES DE FREQUENCE CLASSIQUE : LIGNES VERTES
REPRESENTENT LES VALEURS THEORIQUES, LES JAUNES SONT LES VALEURS MOYENNES ESTIMEES SUR LES DIFFERENTES
REALISATIONS EFFECTUEES. .................................................................................................................................. 81
FIGURE 4-7 : HISTOGRAMMES NORMALISES, APPROCHE D͛OPTIMISATION EN DEUX ETAPES CLASSIQUE : LIGNES VERTES REPRESENTENT
LES VALEURS THEORIQUES, LES JAUNES SONT LES VALEURS MOYENNES ESTIMEES SUR LES DIFFERENTES REALISATIONS EFFECTUEES.
...................................................................................................................................................................... 82
FIGURE 4-8 : EXEMPLE DE RESULTATS EXPERIMENTAUX A DIFFERENTS SOCS ET INTENSITES DE COURANT. ................................... 84
FIGURE 4-9 : MODELE D͛EVOLUTION DE R EN FONCTION DU SOH. ..................................................................................... 86
FIGURE 4-10 : ABAQUE DE PRECISION POUR SOH. .......................................................................................................... 86
FIGURE 4-11 : TRACE DE LA VARIATION ∆ZSOCሺFሻ SUR L͛IMPEDANCE ELECTRIQUE A SOCͲ = ͻͷ% ET IͲ = -Ͳ,ʹA ET CE POUR
ͷ% DE VARIATION SUR LE SOC. .......................................................................................................................... 88
FIGURE 4-12 : TRACE DE L͛ECART TYPE DE LA PARTIE REELLE DE L͛IMPEDANCE DE L͛ACCUMULATEUR CALCULE SUR LES M = ͵Ͳ ESSAIS
AVEC LA SBPA COMME SIGNAL D͛EXCITATION. ........................................................................................................ 89
FIGURE 4-13 : DIAGRAMME DE NYQUIST A DIFFERENTS SOCS DE L͛IMPEDANCE ELECTRIQUE DE L͛ACCUMULATEUR DANS LA BANDE DE
FREQUENCE [Ͳ,Ͳ͵͵ HZ-͵,͵͵ HZ]. ..................................................................................................................... 90
FIGURE 4-14 : EVALUATION DES RESULTATS D͛IDENTIFICATION LARGE BANDE PAR RAPPORT AU CAHIER DES CHARGES DU SOC. ....... 91
FIGURE A-1 : DIAGRAMME DE BODE DE L͛APPROXIMATION D͛UN CPE [18]. ......................................................................... 98
FIGURE A-2 : CIRCUIT ELECTRIQUE EQUIVALENT DE L͛OPERATEUR DE DERIVATION NON ENTIERE S-Υ [18]. .................................. 99
FIGURE C-1 : SCHEMA DU CIRCUIT IMPLANTE SOUS SIMULINK........................................................................................... 102
FIGURE E-1 : DIAGRAMME DE NYQUIST EXPERIMENTAL COMPLET DE L͛ACCUMULATEUR A UN SOC DE 83 % ET SOUS UN COURANT DE
POLARISATION DE DECHARGE DE 0,92 A. ............................................................................................................. 106Page | 1
Introduction
De Ŷos jouƌs, le ƌĠĐhauffeŵeŶt ĐliŵatiƋue est l͛uŶ des dileŵŵes Ƌui edžalte les effoƌts des paLJs afiŶ
d͛eŶ liŵiteƌ les ĐoŶsĠƋueŶĐes gƌaǀes. A la ďase, il s͛agit d͛uŶ phĠŶoŵğŶe Ŷatuƌel Ƌue le gloďe
teƌƌestƌe ĐoŶŶait depuis l͛auďe des teŵps. Les fluĐtuatioŶs Ŷatuƌelles de teŵpĠƌatuƌe soŶt audž
alentours de plus ou moins ͳ°� par millénaire. Or, les mesures terrestres de températures réalisées
au cours du ��
siècle montrent une élévation significative de la température moyenne, ce qui
traduit une situation alarmante. Le gƌoupe iŶteƌgouǀeƌŶeŵeŶtal suƌ l͛ĠǀolutioŶ du Đliŵat ;GIECͿ
fondé paƌ l͛ONU est chargé de réaliser une synthèse des études scientifiques sur ce sujet. Dans son
dernier rapport, le GIEC a présenté des projections des modèles climatiques indiquant que la
température à la surface du globe est susceptible d'augmenter de ͳ,ͳ à ,Ͷ °� supplémentaires au
cours du ���
siècle. La corrélation entre les relevés de ��ଶ et l͛augŵeŶtatioŶ des teŵpĠƌatuƌes
pƌouǀe la ƌespoŶsaďilitĠ de l͛aĐtiǀitĠ huŵaiŶe liĠe à la pƌoduĐtioŶ ŵassiǀe de gaz à effets de seƌƌe
;GE“Ϳ. BieŶ Ƌue l͛Ġtude soit liŵitĠe à la pĠƌiode allaŶt jusƋu͛à ʹͳͲͲ, le réchauffement devrait se
poursuivre au-delà de cette date, même si les émissions s'arrêtent, en raison de la grande capacité
calorifique des océans et de la durée de vie du ��ଶ et des autres GES dans l'atmosphère.
Les conséquences prévues théoriquement de ce réchauffement accéléré sont nombreuses et
difficiles à cerner. Cependant, on en citera plusieurs qui sont déjà visibles : la fréquence, l'intensité et
la durée des phénomènes extrêmes (canicules, inondations, sécheresses, cyclones...) se sont
accentuées ; les écarts thermiques entre les saisons et les continents sont de moins en moins
marqués ; le recul des glaciers et la fonte des calottes polaires augmentent le niveau des océans ; les
cycles de vie de certaines espèces animales et végétales sont modifiés et leur risque d'extinction
s͛aĐĐƌoît, etĐ…
Outƌe Đes iŵpaĐts suƌ l͛eŶǀiƌoŶŶeŵeŶt, tous les seĐteuƌs soĐio-économiques seront affectés. Ces
ĐoŶsĠƋueŶĐes iŵposeŶt la ŵise à jouƌ de l͛iŶfƌastƌuĐtuƌe phLJsiƋue et soĐiale, allaŶt d'uŶe
modification des pratiques de construction à une adaptation des systèmes de santé. Le secteur de
l͛agƌiĐultuƌe seŶsiďle au Đliŵat seƌa aussi touĐhĠ. Le ĐhaŶgeŵeŶt de teŵpĠƌatuƌe affeĐte la pĠƌiode
des récoltes ; les précipitations fortes provoquent de sérieux glissements de terrain ou de violentes
ĐoulĠes de ďoue d͛où le ďesoiŶ d͛adaptatioŶ de Đe seĐteuƌ pouƌ ƌĠsisteƌ audž Đatastƌophes Ŷatuƌelles
plus intenses et plus fréquentes.
L͛eŶseŵďle des Ġtudes et doŶŶĠes aŶŶoŶĐeŶt doŶĐ uŶ daŶgeƌ Ƌui ŵeŶaĐe la ǀie suƌ la Teƌƌe. Ce
problème planétaire touche le monde entier sans exception et nécessite donc un engagement au
Ŷiǀeau iŶteƌŶatioŶal afiŶ d͛eŶ liŵiteƌ les ĐoŶsĠƋueŶĐes et sauǀeƌ la plaŶğte.Page | 2
L͛aĐtiǀitĠ huŵaiŶe gĠŶğƌe des GE“ Ƌui soŶt uŶe des Đauses du ƌĠĐhauffeŵeŶt ĐliŵatiƋue. La
combustion des énergies fossiles est l'un des premiers facteurs qui augmentent la production des
GES. C'est pourquoi aujourd'hui il est nécessaire de trouver de nouvelles énergies propres pour, sans
même penser à baisser cette production, tenter au moins d'arrêter sa croissance. Actuellement, la
quasi-totalité des activités (industries, transport, habitat etc..) se base sur les dérivés du pétrole
(essence et gazole) dont les stocks sur la planète sont limités ce qui entraine un problème
économique et politique : la ƌaƌetĠ des ƌessouƌĐes liĠe à l͛augŵeŶtatioŶ iŶĐoŶtƌôlaďle de la deŵaŶde
cause la croissance ingérable des prix et implique une dépendance politique envers les pays
fouƌŶisseuƌs. Des solutioŶs doiǀeŶt doŶĐ ġtƌe ŵises eŶ œuǀƌe pouƌ liŵiteƌ la consommation du
pétrole tant dans l'industrie, que l'habitat ou les transports.
Dans le domaine des transports, l'hybridation des motorisations thermiques est une solution
provisoire qui prépare pour les motorisations tout électriques. En utilisant des sources d'énergie
électriques au lieu des dérivés du pétrole, l'efficacité énergétique du véhicule est améliorée et, en
même temps, les émissions du véhicule et la consommation des carburants à base de pétrole sont
réduites.
Depuis plusieurs années, les études sur ces nouvelles configurations de véhicules sont lancées.
DiffĠƌeŶts sujets soŶt ĠǀoƋuĠs, ŵais la ďatteƌie ƌeste l͛ĠlĠŵeŶt pƌiŵoƌdial ǀu Ƌue le ďoŶ
fonctionnement des véhicules hybrides et électriques est lié à la disponibilité du réseau de puissance
et donc par conséquent à la batterie.
DaŶs Đe geŶƌe d͛appliĐatioŶs où de foƌtes puissaŶĐe et teŶsioŶ soŶt ŶĠĐessaiƌes, les aĐĐuŵulateuƌs
;dits aussi ĐellulesͿ soŶt ďƌaŶĐhĠs eŶ paƌallğle pouƌ foƌŵeƌ Đe Ƌu͛oŶ appelle uŶ Ġtage. L͛assoĐiatioŶ
de plusieurs étages en série forme un module, et finalement un pack est constitué de plusieurs
modules en série.
Le marché des batteries ne cesse d'évoluer au cours des années et les thèmes de recherche peuvent
être divisés en deux groupes. Le premier porte sur la chimie et les processus de fabrication des
batteries, et vise à augmenter l'énergie, la puissance, la sécurité et la dimension des cellules, de
ŵaŶiğƌe à ġtƌe Đoŵpatiďle aǀeĐ les edžigeŶĐes de l'autoŵoďile. Le seĐoŶd s͛iŶtĠƌesse audž ŵodes
d͛utilisatioŶ des ďatteries et concerne le développement des modèles pour décrire leurs
comportements, des algorithmes pour estimer des variables non mesurables, des circuits
ĠleĐtƌoŶiƋues pouƌ gĠƌeƌ les ďatteƌies peŶdaŶt leuƌ foŶĐtioŶŶeŵeŶt, etĐ… Le pƌeŵieƌ thğŵe de
recherche appaƌaît daŶs Đe ŵaŶusĐƌit au tƌaǀeƌs du Đhoidž de la teĐhŶologie de l͛aĐĐuŵulateuƌ, aloƌs
Ƌue le Đœuƌ de l͛Ġtude appaƌtieŶt au deudžiğŵe.
La ďatteƌie est souǀeŶt aĐĐusĠe d͛ġtƌe le faĐteuƌ liŵitaŶt de Đes Ŷouǀelles ĐatĠgoƌies de ǀĠhiĐules.
Etant la partie la plus coûteuse (ͷͲ % du prix du véhicule), ni le constructeur, ni le consommateur ne
désirent assumer le coût financier du remplacement du pack batterie au cours de la vie du véhicule. Page | 3
Le dĠǀeloppeŵeŶt d͛uŶ ǀĠhiĐule pƌopƌe eŶgloďe paƌ ĐoŶsĠƋueŶt l͛optiŵisation de sa chaîne de
ŵotoƌisatioŶ du poiŶt de ǀue du Đoût et de l'autoŶoŵie, aiŶsi Ƌu͛uŶe ŵise eŶ adĠƋuatioŶ de la duƌĠe
de vie du pack batterie avec celle du véhicule.
Malheureusement, les performances des batteries déclinent au fil de leur utilisation, ce qui rend leur
gestion un enjeu essentiel pour la diffusion des véhicules propres dans des conditions de coûts
acceptables. Un système de management de batterie (BMS pour Battery Management system) à
bord d'un véhicule est nécessaire afin de protéger les batteries de tous les dommages éventuels, de
prolonger leur durée de vie, et de veiller à les maintenir à un niveau de fonctionnement optimal.
Pouƌ atteiŶdƌe Đes oďjeĐtifs, plusieuƌs iŶdiĐes d͛Ġtat soŶt pƌĠdĠfiŶis doŶt deudž soŶt pƌiŵoƌdiaudž pouƌ
une bonne gestion de l'énergie. Une bonne connaissance de l'état de charge (��� pour State Of
Charge) et de l'état de santé (��� pour State Of Health) permet de déterminer le niveau de
fonctionnement que peut assurer la batterie. Une bonne surveillance de la batterie permet
également d'assurer son fonctionnement en toute sécurité et prévenir tout risque de dégradation
des accumulateurs eux-mêmes (emballement thermique, explosion) et de leurs performances. Dans
la littĠƌatuƌe, oŶ ŵeŶtioŶŶe souǀeŶt la peƌtiŶeŶĐe de l͛iŵpĠdaŶĐe ĠleĐtƌiƋue pouƌ atteiŶdƌe Đes
objectifs. Sur la base d͛oďseƌǀatioŶs des ǀaƌiatioŶs de l͛alluƌe du speĐtƌe d͛iŵpĠdaŶĐe aǀeĐ les
conditions de mesures (courant, ���, ���, etĐ …Ϳ, oŶ suggğƌe uŶe ĐoƌƌĠlatioŶ iŵpliĐite ou edžpliĐite
de l͛iŵpĠdaŶĐe aǀeĐ Đes iŶdiĐes. DaŶs Đette optiƋue, le pƌojet de ƌeĐheƌĐhe pƌoposĠ daŶs Đe
ŵĠŵoiƌe ǀise à Ġtaďliƌ uŶ sLJstğŵe d͛estiŵatioŶ eŶ eŵďaƌƋuĠ de l͛iŵpĠdaŶĐe ĠleĐtƌiƋue des
accumulateurs et s'inscrit dans le cadre de l'amélioration des systèmes de gestion de batterie.
Toute l'étude portera sur un accumulateur de technologie Li-ion. En effet, cette technologie présente
uŶe edžĐelleŶte deŶsitĠ d͛ĠŶeƌgie, uŶe duƌĠe de ǀie iŵpoƌtaŶte et Ŷe possğde pas d͛effet ŵĠŵoiƌe.
Après des débuts plus ou moins satisfaisants sur des technologies nickel-cadmium (����) ou nickelhydrure
métallique (����), les batteries Li-ion semblent prometteuses pour une utilisation dans des
applications de puissance et donc représentent la prochaine génération de système de stockage
Ƌu͛iŶtĠgƌeƌoŶt les ǀĠhiĐules ĠleĐtƌiƋues.
Etant donné que cette étude a pour finalité l'implantation en temps réel dans des processeurs
embarqués sur véhicule, l'originalité de cette thèse par rapport aux travaux similaires, repose sur
l'utilisation des signaux large bande à motifs carrés. Malgré leur simplicité apparente, leur intérêt est
notable. Faciles à implanter en embarqué, ces signaux ont prouvé leurs performances pour
l͛ideŶtifiĐatioŶ de sLJstğŵes, et oŶ ǀa les appliƋueƌ au Đas de l͛iŵpĠdaŶĐe d͛uŶ aĐĐuŵulateuƌ.
Ce document est structuré en quatre chapitres.
Un premier chapitre permet de situer la problématique traitée dans cette thèse par rapport aux
enjeux sociétaux et environnementaux du développement des véhicules non polluants. Ensuite, les
ĐaƌaĐtĠƌistiƋues d͛uŶ aĐĐuŵulateuƌ aiŶsi que les différentes approches de modélisation sont Page | 4
présentées. A côté des modèles mathématiques et électrochimiques, les circuits électriques
équivalents sont détaillés ainsi que les liens possibles entre les principaux phénomènes chimiques qui
y prennent place et les composants électriques du modèle. Ce formalisme permettra une analyse
physique plus aisée des différentes réponses de l'accumulateur.
Les Đhapitƌes suiǀaŶts ĐoŶstitueŶt le Đœuƌ du tƌaǀail réalisé durant cette thèse.
Le chapitre 2 commence aveĐ uŶe pƌĠseŶtatioŶ de la thĠoƌie de l͛ideŶtifiĐatioŶ ŶoŶ paƌaŵĠtƌiƋue des
systèmes linéaires et invariants dans le temps en utilisant des signaux large bande en entrée. Sur la
ďase d͛uŶ ĐiƌĐuit ĠleĐtƌiƋue ĠƋuiǀaleŶt ;���) implanté sous Simulink, une étude en simulation des
performances de signaux large bande de différents types pouƌ l͛estiŵatioŶ de l͛iŵpĠdaŶĐe ĠleĐtƌiƋue
est pƌoposĠe afiŶ de ǀalideƌ l͛utilitĠ de tels sigŶaudž pouƌ Đette appliĐatioŶ. Plusieuƌs gƌaŶdeurs
ĐaƌaĐtĠƌistiƋues soŶt utilisĠes ;ĐohĠƌeŶĐe speĐtƌale, iŶteƌǀalle de ĐoŶfiaŶĐe…Ϳ afiŶ de ƋuaŶtifieƌ les
performances d͛estiŵatioŶ de Đes sigŶaudž d͛edžĐitatioŶ.
Ensuite, une étude expérimentale est présentée dans le chapitre 3. PuisƋue l͛iŵpĠdaŶĐe ƌĠelle de
l͛aĐĐuŵulateuƌ est iŶĐoŶŶue, la première partie de ce chapitre est consacrée à une étude effectuée
sur un circuit électrique de référence à impédance connue. En utilisant son expression analytique,
uŶe ĐoŵpaƌaisoŶ de peƌfoƌŵaŶĐes eŶtƌe la teĐhŶiƋue d͛identification large bande proposée et celles
de la méthode classique est établie. La seconde partie présente les résultats expérimentaux obtenus
sur un accumulateur réel.
Le Đhapitƌe ϰ ĐoŶstitue uŶe ĐoŶtiŶuitĠ Ŷatuƌelle de l͛Ġtude. Il dĠĐƌit deudž possiďilitĠs d͛edžploitatioŶ
de l͛iŵpĠdaŶĐe estiŵĠe ǀia la teĐhŶiƋue d͛ideŶtifiĐatioŶ laƌge ďaŶde. La pƌeŵiğƌe ĐoŶsiste à
l͛utilisatioŶ d͛uŶ algoƌithŵe d͛optiŵisatioŶ afiŶ de ƌeŵoŶteƌ audž ǀaleuƌs des ĐoŵposaŶts d͛uŶ ĐiƌĐuit
électrique équivalent. Dans cette optique, un algorithme double étape est élaboré. Celui-ci permet
d͛aŵĠliorer en termes de convergence, un algorithme classiquement utilisé. La seconde partie
pƌĠseŶte uŶe ĐoŵpaƌaisoŶ des peƌfoƌŵaŶĐes de la teĐhŶiƋue d͛ideŶtifiĐatioŶ laƌge ďaŶde pƌoposĠe
par rapport à uŶ Đahieƌ des Đhaƌges ĠlaďoƌĠ ǀia le siŵulateuƌ pouƌ le suiǀi des iŶdiĐes d͛Ġtat de
l͛aĐĐuŵulateuƌ : l͛Ġtat de Đhaƌge ;���) et l͛Ġtat de saŶtĠ ;���).
Page | 5
Chapitre 1 : Contexte général
1.1 Problèmes écologiques et économiques liés au transport
De nos jours, la quasi-totalitĠ des aĐtiǀitĠs huŵaiŶes s͛appuie suƌ la ĐoŶsoŵŵatioŶ des dĠƌiǀĠs du
pétrole (essence et gazole), ce qui est particulièrement vrai pour le secteur du transport. La
raréfaction de ces ressources et le réchauffement climatique que subit notre ère poussent à
l͛ĠŵeƌgeŶĐe de Ŷouǀelles ĠŶeƌgies alteƌŶatiǀes pƌopƌes et ƌeŶouǀelaďles. Le dĠǀeloppeŵeŶt de
véhicules hybrides et ĠleĐtƌiƋues s͛iŶsĐƌit daŶs Đette teŶdaŶĐe de foŶd. De tels ǀĠhiĐules peƌŵettƌoŶt
de ĐiƌĐuleƌ, d͛uŶe paƌt, eŶ ƌĠduisaŶt l͛ĠŵissioŶ des gaz à effet de seƌƌe ;GE“Ϳ ƌeĐoŶŶus ġtƌe les
pƌiŶĐipaudž ageŶts ƌespoŶsaďles du ƌĠĐhauffeŵeŶt ĐliŵatiƋue, et d͛autƌe paƌt, sans être menacés par
la raréfaction des ressources pétrolières.
1.1.1 Le transport en tant que principal émetteur de GES
Le terme GES regroupe plusieurs gaz émis par les activités humaines [1] :
le dioxyde de carbone (��ଶ
) qui provient de la combustion des énergies fossiles,
le méthane (��ସ
) qui provient de l’élevage des ruminants, de la culture du riz, des décharges
d'ordures, des exploitations pétrolières, gazières et charbonnières,
le protoxyde d'azote (�ଶ�) qui vient des engrais azotés et de divers procédés chimiques,
les gaz fluorés ou hydrofluorocarbures (���) qui sont des gaz propulseurs des bombes
aérosols, des gaz réfrigérants ou proviennent d'industries diverses,
les hydrocarbures perfluorés ( ��� ) qui sont émis notamment lors de la fabrication de
l'aluminium,
l'hexafluorure de soufre (��ሻ qui est un gaz inerte utilisé comme détecteur de fuite et isolant
électrique.
DaŶs soŶ ĐiŶƋuiğŵe ƌappoƌt sĐieŶtifiƋue de ϮϬϭϯ [Ϯ], le gƌoupe d͛edžpeƌts iŶteƌgouǀeƌŶeŵeŶtal suƌ
l͛ĠǀolutioŶ du climat (GIEC) confirme, avec plus de ͻͲ% de certitude, que le réchauffement observé
Đes ĐiŶƋuaŶte deƌŶiğƌes aŶŶĠes pƌoǀieŶt esseŶtielleŵeŶt de l͛augŵeŶtatioŶ des ĠŵissioŶs de GE“
par les activités humaines (chauffage, transports, industries, élevage intensif). La corrélation entre
l͛augŵeŶtatioŶ de la teŵpĠƌatuƌe et Đelle de la ĐoŶĐeŶtƌatioŶ des GE“ et plus paƌtiĐuliğƌeŵeŶt le
��ଶ (unité : parties par million en volume (����ͿͿ est uŶ des ĠlĠŵeŶts Ƌui peƌŵetteŶt d͛ĠtaLJeƌ
cette hypothèse [3] (Figure 1-11-1).Page | 6
Figure 1-1: Evolution comparée de la concentration en ��� dans l’atmosphère et de la
température moyenne du globe terrestre.
Les ĐoŶsĠƋueŶĐes gƌaǀes du ƌĠĐhauffeŵeŶt ĐliŵatiƋue soŶt saŶs ĠƋuiǀoƋue. L͛aĐĐƌoisseŵeŶt des
températuƌes ŵoLJeŶŶes ŵoŶdiales de l͛atŵosphğƌe et de l͛oĐĠaŶ, la foŶte gĠŶĠƌalisĠe de la Ŷeige et
de la glaĐe et l͛ĠlĠǀatioŶ du Ŷiǀeau ŵoLJeŶ ŵoŶdial de la ŵeƌ soŶt des oďseƌǀatioŶs Ƌu͛oŶ Ŷe peut
plus nier. Le réchauffement moyen constaté à la surface de la terre s͛Ġlğǀe de
Ͳ,ʹ℃ ሺͲ,Ͷͻ ° C à Ͳ,ͺͻ ° Cሻ sur la période ͳͻͷͳ − ʹͲͳʹ. Chacune des trois dernières décennies a
été beaucoup plus chaude que toutes les décennies précédentes, et la première décennie du ʹͳ�
siècle a été la plus chaude [1].
Pour toutes ces raisons, bon nomďƌe d͛Ġtats oŶt iŶǀesti daŶs des ƌeĐheƌĐhes ǀisaŶt à ƌĠduiƌe les
émissions de GES.
En France, plusieurs secteurs sont à l͛oƌigiŶe des ĠŵissioŶs de GE“ [ϰ]. Particulièrement, en ʹͲͳͳ et
aǀeĐ uŶ pouƌĐeŶtage d͛eŶǀiƌoŶ ͵%, le secteur des transports (regroupant la circulation automobile
et le transport routier) est le principal émetteur, en particulier pour le ��ଶ (Figure 1-21-2). Ce quota
pƌeŶd eŶ Đoŵpte la ĐoŶtƌiďutioŶ diƌeĐte de Đe seĐteuƌ à l͛ĠŵissioŶ de ��ଶ (combustion du gazole ou
de l'essence), de ��ସ (évaporation des carburants en stockage et combustions incomplètes) et de
��� (systèmes de climatisation), ainsi que sa contribution indirecte (émissions dues à l'exploitation
du pétrole). Page | 7
Figure 1-2 : Emissions de gaz à effet de serre par secteur en France en 2000 et 2011 [4].
DaŶs le seĐteuƌ du tƌaŶspoƌt, uŶe ĐoƌƌĠlatioŶ edžpliĐite est ŶotĠe eŶtƌe l͛ĠǀolutioŶ de la pƌoduĐtioŶ
automobile mondiale depuis ͳͺͺͲ et la concentration en ��ଶ daŶs l͛atŵosphère (Figure 1-31-3).
L͛oƌigiŶe de Đette augŵeŶtatioŶ peut ġtƌe attƌiďuĠe à deudž Đauses pƌiŶĐipales : l͛augŵeŶtatioŶ
ĐoŶtiŶue du Ŷoŵďƌe de ǀoituƌes eŶ ĐiƌĐulatioŶ d͛uŶe paƌt, et l͛edžigeŶĐe ĐoŶtiŶue des ĐlieŶts d͛aǀoiƌ
des voitures plus puissantes et donc émettant plus de ��ଶ d͛autƌe paƌt. EŶ ʹͲͲͷ, [5] annonce une
nouvelle inquiétante : selon une étude récente, la concentration en ��ଶ (͵ͺͲ ����) est ʹ % plus
élevée que le maximum atteint au cours de ces ͷͲ ͲͲͲ dernières années. En ʹͲͲ, le taux de
��ଶ est toujouƌs eŶ augŵeŶtatioŶ, l͛OƌgaŶisatioŶ MĠtĠoƌologiƋue MoŶdiale ;OMMͿ, eŶƌegistƌe uŶe
teneur de ͵ͺͳ,ʹ ����.
Figure 1-3 : Evolution de la production en automobile et de la concentration en CO2 dans
l’atmosphère.
Ces chiffres alarmants ont finalement abouti en ʹͲͲͷ à la ŵise eŶ plaĐe d͛uŶe Ŷoƌŵe aŶtipollutioŶ
réduisant les émissions de GES par la commission européenne. Elle a pour objectif de corriger
progressivement les tendances polluantes, et ses exigences sont réactualisées tous les quatre ans. Page | 8
1.1.2 Le pétrole : conflits économiques et politiques
De même que les préoccupations environnementales, les préoccupations économiques et politiques
impliquent également la mutation du secteur du transport. Les ressources en pétrole ne sont pas
illiŵitĠes aloƌs Ƌue les ďesoiŶs s͛aĐĐeŶtueŶt. Cette ƌaƌĠfaĐtioŶ a diƌeĐteŵeŶt iŶfluĠ suƌ le pƌidž de
l͛esseŶĐe Ƌui Ŷe Đesse d͛augŵeŶteƌ ;Figure 1-41-4Ϳ. L͛effoŶdƌeŵeŶt ŶotĠ eŶ ʹͲͲͺ est lié à la crise
financière qui a touché la planète. Cependant, la reprise à la hausse souligne une demande mondiale
importante.
Et Đe Ŷ͛est pas tout, les paLJs oĐĐideŶtaudž ŵaŶƋueŶt de ƌessouƌĐes pĠtƌoliğƌes. Ce sont les pays du
Moyen-Orient qui assurent les besoins des pays développés en pétrole. Cette dépendance
économique impacte profondément les relations politiques surtout avec les troubles politiques au
Moyen-OƌieŶt. L͛utilisatioŶ de pƌoduits pĠtƌoliers devient de moins en moins avantageuse face à
d͛autƌes alteƌŶatiǀes. Les ĐoŶstƌuĐteuƌs autoŵoďiles, eŶ paƌtiĐulieƌ, doiǀeŶt doŶĐ s'adapteƌ à Đe
ĐoŶtedžte eŶ dĠǀeloppaŶt des solutioŶs utilisaŶt des souƌĐes d͛ĠŶeƌgie ŵoiŶs Đoûteuses Ƌue le
pétrole.
Figure 1-4 : Evolution du prix de pétrole de 1987 à 2012 [6].
1.2 Vers l’électrification du véhicule
Face aux problèmes évoqués, les consommateurs désirent des véhicules de plus en plus propres et
les constructeurs automobiles doivent développer des solutions moins polluantes tout en utilisant
des ressources moins coûteuses que le pétrole.
Plusieurs possibilités sont envisageables. Utiliser le Gaz de Pétrole Liquéfié, le Gaz Naturel, le
ďiogazole eŶ soŶt des edžeŵples. CepeŶdaŶt, l͛ĠleĐtƌifiĐatioŶ du ǀĠhiĐule ĐoŶstitue ŶotaŵŵeŶt à
court terme une excellente solution alternative, et à moyen ou long terme, pourrait venir remplacer
les véhicules thermiques classiƋues. OŶ distiŶgue plusieuƌs degƌĠs d͛ĠleĐtƌifiĐatioŶ eŶ foŶĐtioŶ de
l͛iŵpoƌtaŶĐe du sLJstğŵe ĠleĐtƌiƋue daŶs la tƌaĐtioŶ du ǀĠhiĐule [ϳ] :
HEV : Véhicule Hybride Électrique (Hybrid Electric Vehicle). Ces véhicules disposent d’un
degré d’électrification plus ou moins important, allant de la simple aide au démarrage à un
mode tout électrique très limité. Le véhicule devient alors moins consommateur de carburant Page | 9
et moins polluant dans les villes. Il garde une autonomie et des performances dynamiques,
comparables à celles des véhicules thermiques classiques sur routes et autoroutes. Il se
distingue par l’impossibilité de se recharger sur une prise de courant [7].
PHEV : Véhicule Hybride Électrique Rechargeable (Plug-in Hybrid Electric Vehicle). Ces
hybrides rechargeables sont une variante du modèle hybride. Leur spécificité est de permettre
le rechargement de la batterie du véhicule à l’arrêt à l’aide d’une prise de courant. Le pack
batterie est, dans les faits, beaucoup plus important que pour un simple HEV. Le véhicule est
donc capable de fonctionner en mode tout électrique sur de petites distances (inférieures à
ͷͲ ��). Une fois la batterie déchargée, le véhicule se comporte alors comme un véhicule
hybride [7]. .
EV : Véhicule Électrique (Electric Vehicle). Les véhicules électriques ne sont pas des
véhicules hybrides, ils ont le plus haut degré d’électrification. On parle de véhicule « tout
électrique ». La seule source d’énergie utilisée, dans ces véhicules, est la batterie. Celle-ci se
recharge comme celle d’un PHEV sur une prise de courant (recharge classique ou rapide).
Les émissions sont alors nulles lors du roulage du véhicule, on parle également de véhicule
« Zéro Émission » [7].
Ces ǀĠhiĐules, eŶtƌe autƌes, foŶt l͛oďjet d͛Ġtudes ŵeŶĠes au CEA1
: en particulier, les instituts du LETI2
et du LITEN3
tƌaǀailleŶt daŶs le ďut de ǀaloƌiseƌ Đette teĐhŶologie. Il s͛aǀğƌe ĠǀideŶt Ƌue le ďoŶ
fonctionnement de ces véhicules dépend essentiellement des dispositifs de stockage d'énergie
électrique, en particulier des batteries. Par conséquent, le contrôle du système de stockage d'énergie
est primordial. Le principal obstacle est la difficulté d'une telle tâche. En effet, une batterie est un
système non-linéaire complexe influencé par plusieurs facteurs dont les principaux sont les profils
d͛utilisatioŶ, ĐaƌaĐtĠƌisĠs paƌ les ƌĠgiŵes de puissaŶĐe et les duƌĠes d͛iŶteƌƌuptioŶs, et la
température interne, dépendante de la température ambiante et du système de gestion thermique.
De plus, elle subit des modifications de ses propriétés en raison de processus de vieillissement. Dans
de nombreux cas, l'état de la batterie est évalué uniquement à partir de la tension, du courant et de
la température, ces paramètres étant accessibles à la plupart des systèmes de mesure embarqués
dans le véhicule.
Cette thèse est une contribution à la gestion embarquée des batteries, et plus particulièrement à la
dĠteƌŵiŶatioŶ de l'iŵpĠdaŶĐe ĠleĐtƌiƋue d͛uŶ aĐĐuŵulateuƌ ;ĠlĠŵeŶt de ďase d͛uŶe ďatteƌieͿ daŶs
un but de surveillance.
1 Commissariat à l’énergie atomique et aux énergies alternatives
2 Laboratoire d’Electronique et de Technologie de l’Information
3 Laboratoire d’Innovation pour les Technologies des Energies Nouvelles et les nanomatériauxPage | 10
1.3 Généralités sur les accumulateurs
Afin de situer la problématique de ce travail de thèse, cette section présente de manière générale,
les accumulateurs, les différentes technologies existantes et leur principe de fonctionnement. Elle
introduit aussi les grandeurs caractĠƌistiƋues d͛uŶ aĐĐuŵulateuƌ, Đe Ƌui peƌŵet de dĠfiŶiƌ les iŶdiĐes
d͛Ġtat.
1.3.1 Les technologies des accumulateurs
UŶ aĐĐuŵulateuƌ est uŶ ĠlĠŵeŶt de stoĐkage d͛ĠŶeƌgie ĠleĐtƌoĐhiŵiƋue pouǀaŶt foŶĐtioŶŶeƌ de
manière réversible. Un accumulateur est constitué de deux couples oxydoréducteurs, ��ଵ/���ଵ et
��ଶ/���ଶ, pƌĠseŶts suƌ deudž ĠleĐtƌodes diffĠƌeŶtes aLJaŶt des poteŶtiels d͛ĠƋuiliďƌe diffĠƌeŶts. C͛est
l͛ĠĐaƌt eŶtƌe les poteŶtiels Ƌui fait la teŶsioŶ à ǀide de l͛aĐĐuŵulateuƌ ;��� pour open circuit
voltage). Ce dernier doit ġtƌe Đapaďle de fouƌŶiƌ uŶ ŵadžiŵuŵ d͛ĠŶeƌgie et de puissaŶĐe pouƌ uŶ
minimum de volume et de masse.
UŶ Đƌitğƌe iŵpoƌtaŶt de ĐoŵpaƌaisoŶ des peƌfoƌŵaŶĐes de diffĠƌeŶts aĐĐuŵulateuƌs est l͛ĠǀaluatioŶ
du couple puissance/énergie spécifique qui est représenté par le diagramme de Ragone (Figure
1-51-5Ϳ. Ce Đouple tƌaduit l͛ĠŶeƌgie fouƌŶie pouƌ uŶe puissaŶĐe doŶŶĠe [ϴ]. La puissaŶĐe ;ƌesp.
l͛ĠŶeƌgieͿ spĠĐifiƋue est dĠfiŶie Đoŵŵe ĠtaŶt la puissaŶĐe ŵadžiŵale ;ƌesp. l͛ĠŶergie maximale) que
peut fouƌŶiƌ l͛aĐĐuŵulateuƌ paƌ uŶitĠ de poids. UŶe pƌeŵiğƌe estiŵatioŶ de l͛ĠŶeƌgie spĠĐifiƋue peut
ġtƌe oďteŶue eŶ utilisaŶt la ĐapaĐitĠ ŶoŵiŶale, la teŶsioŶ ŶoŵiŶale et le poids de l͛ĠlĠŵeŶt.
Figure 1-5 : Diagramme de Ragone pour différentes technologies d’accumulateurs [9].
Le choix des technologies des accumulateurs intégrés dans les véhicules hybrides et électriques a
évolué au cours du temps. Le Tableau 1-1 présente une comparaison de trois principales
technologies utilisĠes et peƌŵet d͛edžpliƋueƌ les ƌaisoŶs aďoutissaŶt au Đhoidž de la teĐhŶologie �� −
���. Page | 11
Tableau 1-1 : Comparaison des technologies d’accumulateurs [13].
Au dĠpaƌt, eŶ ƌaisoŶ de leuƌ faiďle Đoût et de leuƌ siŵpliĐitĠ de ŵise eŶ œuǀƌe, les aĐĐuŵulateuƌs
plomb à électrolyte acide étaient les plus utilisés. Toutefois, leurs faibles densités énergétiques ainsi
que leur courte durée de vie ont poussé les constructeurs à développer de nombreuses autres
technologies : nickel à électrolytes alcalins (����, ����, ����), lithium à électrolyte polymère solide
et anode de lithium métallique en film minces (�� − ���) ou à électrolyte organique liquide et
électrode négative à insertion (�� − ���), alcalins (��/��, ��/��) etc. Les technologies qui ont
précédé les accumulateurs �� − ��� souffraient de plusieurs problèmes. On peut citer comme simple
exemple le dépôt métallique sous forme de dendrite. Ce dépôt, inhérent à la nature même du métal,
peut, dans les accumulateurs lithium métal polymère par exemple, provoquer des problèmes de
sécurité. Cette poussée dendƌitiƋue est susĐeptiďle d͛eŶtƌaîŶeƌ uŶ Đouƌt-circuit interne à
l͛aĐĐuŵulateuƌ paƌ peƌĐĠe du sĠpaƌateuƌ ;ŵeŵďƌaŶe sĠpaƌaŶt les deudž feuillets d͛ĠleĐtƌodesͿ. De
plus, elle ĐoŶtƌiďue à la ĐoŶsoŵŵatioŶ de l͛ĠleĐtƌolLJte Ƌui ƌĠagit aǀeĐ le lithiuŵ fraîchement déposé
[10]. Actuellement les accumulateurs �� − ��� dominent le marché des accumulateurs pour plusieurs
raisons. On en cite quelques unes ci-dessous [11][12] :
- densité d’énergie élevée (ͳͲ ��ℎ. �ିଵ environ),
- matière brute peu coûteuse et disponible dans la nature (minérale de triphylite),
- facilité de synthèse,
- respect de l’environnement et de la sécurité,
- vie de cycle et calendaire plus longue,
- excellente stabilité de structure,
- stabilité thermique et stabilité électrochimique.
Malgré ces performances, leur coût reste encore élevé. Les travaux de recherche actuels portent sur
les ŵatĠƌiaudž ĐoŶstitutifs des ĠleĐtƌodes, et ŶotaŵŵeŶt la positiǀe, afiŶ d͛augŵeŶteƌ la teŶsioŶ de
fonctionnement et/ou la durée de vie. Page | 12
1.3.2 Grandeurs caractéristiques d’un accumulateur
UŶe teĐhŶologie d͛aĐĐuŵulateuƌ peut ġtƌe ĐaƌaĐtĠƌisĠe paƌ uŶe ŵultitude de gƌaŶdeuƌs [ϮϬ], doŶt oŶ
donne ici la définition.
1.3.2.1 La capacité de stockage � ሺ�ℎሻ
La capacité de stockage � [20] représente la quantité de charge qu'il est possible d'obtenir lors d'une
dĠĐhaƌge Đoŵplğte de l͛aĐĐuŵulateuƌ iŶitialeŵeŶt ĐhaƌgĠ aǀeĐ uŶ ĐouƌaŶt ĐoŶstaŶt. La
nomenclature utilisée pour désigner la capacité de stockage obtenue pour une décharge de � heures
est �. De manière générale, lorsque l'on parle d'une capacité �ହ, cela revient à évoquer la quantité
de charge obtenue lors d'une décharge de ͷ heures.
1.3.2.2 La capacité nominale � ሺ�ℎሻ
La capacité nominale [20] correspond à la capacité de stockage obtenue à un régime de décharge
nominal et respectant les critères initiaux et finaux du constructeur (température, intensité du
ĐouƌaŶt, etĐ…Ϳ. Coŵŵe la ĐapaĐitĠ de stoĐkage, la ĐapaĐitĠ ŶoŵiŶale dĠpeŶd de la teŵpĠƌatuƌe et de
l'Ġtat de l͛aĐĐuŵulateuƌ.
1.3.2.3 La capacité stockée �௦
ሺ�ℎሻ
La capacité stockée [20] est analogue à la capacité nominale définie au paragraphe précédent
edžĐeptĠe Ƌue l'Ġtat iŶitial Ŷe dĠsigŶe pas foƌĐĠŵeŶt l͛aĐĐuŵulateuƌ Đoŵŵe ĠtaŶt ĐoŵplğteŵeŶt
chargé.
1.3.2.4 Le rendement faradique (%)
Le rendement faradique [20] ƞ représente l'efficacité de la recharge. En effet, dans les
accumulateurs à électrolyte aqueux, les réactions aux électrodes sont concurrencées par des
réactions secondaires. Ces réactions secondaires représentent des courants de fuite importants
notamment lors des charges. Les accumulateurs Li-ion, dont l'électrolyte n'est pas aqueux,
présentent des rendements faradiques proches de ͳͲͲ %.
1.3.2.5 L’autodécharge (%)
Les phĠŶoŵğŶes d͛autodĠĐhaƌge [ϮϬ] se tƌaduiseŶt paƌ uŶe peƌte de l͛ĠŶeƌgie loƌs du stoĐkage de
l͛aĐĐuŵulateur. Ce phénomène provient des réactions secondaires intervenant aux deux électrodes
et dépend fortement de la température. Pour les accumulateurs plomb et ���� [Ϯϭ], l͛autodĠĐhaƌge
est de ʹ % par jour. Les accumulateurs Li-ion sont beaucoup moins sensibles à ce phénomène avec
une autodécharge de ͳͲ % par mois [21]. Page | 13
1.3.2.6 La tension à vide (��� pour Open Circuit Voltage)
La teŶsioŶ à ǀide dĠsigŶe la teŶsioŶ d͛ĠƋuiliďƌe de l͛aĐĐuŵulateuƌ au ƌepos. Elle est dĠfiŶie Đoŵŵe la
diffĠƌeŶĐe des poteŶtiels d͛ĠƋuilibre entre les deux électrodes. Après des temps de relaxation
suffisant, celle-Đi dĠpeŶd diƌeĐteŵeŶt, d͛apƌğs la loi de NeƌŶst [ϮϮ], des aĐtiǀitĠs des espğĐes aĐtiǀes
et de la teŵpĠƌatuƌe. L͛histoƌiƋue de l͛utilisatioŶ de l͛aĐĐuŵulateuƌ peut aǀoiƌ uŶ iŵpact sur la
teŶsioŶ à ǀide. OŶ paƌle aloƌs de phĠŶoŵğŶe d͛hLJstĠƌĠsis. Celui-ci est limité pour les accumulateurs
Li-ion [20].
1.3.2.7 La durée de vie en cyclage et calendaire
Les performances des accumulateurs décroissent avec le temps. Un accumulateur est considéré en
fiŶ de ǀie loƌsƋue ses peƌfoƌŵaŶĐes Ŷe ƌĠpoŶdeŶt plus à Đelles ŶĠĐessaiƌes pouƌ l͛appliĐatioŶ ǀisĠe. La
durée de vie en cyclage dépend de plusieurs paramètres tels que le mode du cyclage, la fenêtre
d͛Ġtat de Đhaƌge utilisĠe et de la teŵpĠƌatuƌe de ĐLJclage. Elle est exprimée en nombre de cycles ou
bien en quantité de charge fournie [20].
Paƌ ailleuƌs, uŶe autƌe duƌĠe de ǀie est doŶŶĠe à uŶ aĐĐuŵulateuƌ loƌs d͛uŶ stoĐkage pƌoloŶgĠ, oŶ
paƌle de la duƌĠe de ǀie ĐaleŶdaiƌe. Mġŵe daŶs le Đas où l͛aĐĐuŵulateuƌ Ŷ͛est pas utilisĠ, il est le
siège de réactions secondaires qui le détériorent. Cette grandeur dépend aussi de plusieurs
paƌaŵğtƌes tels Ƌue l͛Ġtat de Đhaƌge de l͛aĐĐuŵulateuƌ et la teŵpĠƌatuƌe de stoĐkage [ϮϬ].
1.3.3 Les accumulateurs Li-ion
1.3.3.1 Fonctionnement
DaŶs Đette Ġtude, l͛aĐĐuŵulateuƌ Li-ion utilisé est de type ������ସ. Son fonctionnement repose sur
le sĐhĠŵa d͛odžLJdo-réduction classique de la Figure 1-61-6 intervenant simultanément aux deux
pôles : l͛ĠleĐtƌode positiǀe ;��ଵି௫����ସ) (Equation 1-1) et la négative (��௫ �) (Equation 1-2). On
Ŷoŵŵe souǀeŶt Đe pƌiŶĐipe ŵĠĐaŶisŵe « ƌoĐkiŶg Đhaiƌ » Đaƌ le lithiuŵ s͛iŶsğƌe et se dĠsiŶsğƌe
alteƌŶatiǀeŵeŶt d͛uŶe ĠleĐtƌode à l͛autƌe loƌs des pƌoĐessus de Đhaƌge / dĠĐhaƌge.
Figure 1-6 : Principe de fonctionnement d’un accumulateur Li-ion [14].
- Réaction électrochimique à l’électrode positivePage | 14
������ସ ↔ ��ଵି௫����ସ + ���ା + ��ି Equation 1-1
- Réaction électrochimique à l’électrode négative
� + ���ା + ��ି ↔ ��௫� Equation 1-2
OŶ ĐoŶstate Ƌu͛au Đouƌs des pƌoĐessus ĠleĐtƌoĐhiŵiƋues, le lithiuŵ ĐoŶseƌǀe toujours un caractère
ionique, sans que jamais ne survienne le phénomène de dépôt métallique.
Les ŵatĠƌiaudž d͛ĠleĐtƌodes soŶt gĠŶĠƌaleŵeŶt des ŵatĠƌiaudž d͛iŶseƌtioŶ doŶt la ĐaƌaĐtĠƌistiƋue
principale est de pouvoir insérer ou désinsérer des ions ��ା de manière réversible. En
fonctionnement, les ions ��ା sont échangés entre les deux électrodes, à travers un électrolyte qui
joue le rôle de conducteur ionique. Les électrons transitent, quant à eux, par le circuit électrique
externe pour garantir la neutralité des électrodes. Pour assurer ces échanges, la polarisation doit
bien entendu être toujours maintenue par le circuit externe. Lors de la décharge, les réactions
d͛odžLJdoƌĠduĐtioŶ audž ĠleĐtƌodes soŶt spoŶtaŶĠes. Des ioŶs ��ା (respectivement électrons) sont
pƌoduits à l͛ĠleĐtƌode ŶĠgatiǀe et soŶt tƌaŶspoƌtĠs à tƌaǀeƌs l͛ĠleĐtƌolLJte ;ƌespeĐtiǀeŵeŶt ĐiƌĐuit
ĠleĐtƌiƋueͿ aǀaŶt d͛ġtƌe iŶsĠƌĠs daŶs l͛ĠleĐtƌode positiǀe. Cela ĐoŶduit à uŶe odžLJdatioŶ de l͛ĠleĐtƌode
ŶĠgatiǀe ;aŶodeͿ et à uŶe ƌĠduĐtioŶ de l͛ĠleĐtƌode positiǀe ;ĐathodeͿ, et doŶĐ à la pƌoduĐtioŶ d͛uŶ
courant électrique. Lors de la charge, un courant doit être fourni par le circuit externe pour inverser
les ƌĠaĐtioŶs et stoĐkeƌ uŶe ĠŶeƌgie sous foƌŵe d͛ĠŶeƌgie ĐhiŵiƋue. DaŶs Đe Đas, l͛ĠleĐtƌode ŶĠgative
et l͛ĠleĐtƌode positiǀe deǀieŶŶeŶt ƌespeĐtiǀeŵeŶt, la Đathode et l͛aŶode.
1.3.3.2 Phénomènes physico-chimiques
Les accumulateurs Li-ion sont le siège de différents phénomènes physico-chimiques. Cette partie
décrit brièvement quelques-uns de ces phénomènes.
a) L’effet de couche double
L͛effet de ĐouĐhe douďle est la ƌepƌĠseŶtatioŶ ĠleĐtƌiƋue de l͛iŶteƌfaĐe ĠleĐtƌode-électrolyte.
LoƌsƋu͛uŶ ŵĠtal est ploŶgĠ daŶs uŶe solutioŶ, il a teŶdaŶĐe à se Đhaƌgeƌ ŶĠgatiǀeŵeŶt eŶ suƌfaĐe à
Đause d͛uŶ edžĐğs d͛ĠleĐtƌoŶs. À soŶ tour, cette surface attire les ions positifs de son voisinage pour
ĐƌĠeƌ uŶe ĐouĐhe positiǀe ;iŶteƌŶeͿ. Paƌ ĠƋuiliďƌe, uŶe ĐouĐhe d͛ioŶs de sigŶe opposĠ ;edžteƌŶeͿ ǀa
également se former quasi-instantanément le long de la première couche (Figure 1-71-7) [15]. Ce
phĠŶoŵğŶe tƌaduit le ĐoŵpoƌteŵeŶt d͛uŶ ĐoŶdeŶsateuƌ �ௗ dont le diélectrique a une épaisseur
très faible. Page | 15
Figure 1-7 : Schéma de composition de la couche double [16].
b) Transfert de charge
Le phĠŶoŵğŶe de tƌaŶsfeƌt de Đhaƌge tƌaduit la ĐiŶĠtiƋue de la ƌĠaĐtioŶ d͛odžLJdo-réduction [15].Ce
phĠŶoŵğŶe est dĠpeŶdaŶt, eŶtƌe autƌes, de la suƌteŶsioŶ à l͛iŶteƌfaĐe et de l͛aĐtiǀitĠ des odžLJdaŶts et
ƌĠduĐteuƌs. L͛edžpƌessioŶ du ĐouƌaŶt faƌadiƋue est doŶŶĠe, sous forme réduite, par la formule de
Butler-Volmer [17]:
�ி = �ሺ�ିఈி − �ିሺଵିఈሻிሻ Equation 1-3
Avec � la constante réduite de Faraday, � le coefficient de transfert de charge, � la surtension à
l͛ĠleĐtƌode ou la suƌteŶsioŶ à tƌaǀeƌs la douďle ĐouĐhe ;�ௗ), et � le ĐouƌaŶt d͛ĠĐhaŶge.
c) La diffusion
Le tƌaŶspoƌt paƌ diffusioŶ ĐoŶĐeƌŶe le dĠplaĐeŵeŶt de ŵatiğƌe sous l͛effet du gƌadieŶt de poteŶtiel
chimique des milieux les plus concentrés vers les moins concentrés. Ce phénomène est le plus
compliqué à analLJseƌ daŶs l͛Ġtude de l͛aĐĐuŵulateuƌ et Ŷ͛est solliĐitĠ Ƌue pouƌ des foŶĐtioŶŶeŵeŶts
à très basse fréquence (� < ʹ ���) ou à fort courant [15][18].
d) Film de passivation
Lorsque le potentiel des électrodes négatives (resp. positives) est situé en dehors du domaine de
staďilitĠ ĠleĐtƌoĐhiŵiƋue, uŶe ƌĠduĐtioŶ ;ƌesp. dĠĐoŵpositioŶͿ paƌtielle de l͛ĠleĐtƌolLJte à la suƌfaĐe
des grains de matière active est alors observée [14][19]. Ce processus entraîne la consommation
d͛uŶe paƌtie du lithiuŵ et ĐƌĠe uŶe Đouche solide à la surface de ces électrodes, appelée « film de
passiǀatioŶ ». EŶ plus d͛uŶe diŵiŶutioŶ iƌƌĠǀeƌsiďle de la ĐapaĐitĠ de l͛aĐĐuŵulateuƌ, uŶe diŵiŶutioŶ
de la puissaŶĐe dispoŶiďle due à l͛augŵeŶtatioŶ de l͛iŵpĠdaŶĐe de l͛ĠleĐtƌode à Đause de la présence
de cette couche, est aussi observée. Ce film permet la migration des ions lithium lors de
l͛iŶseƌtioŶ/dĠsiŶseƌtioŶ daŶs le ŵatĠƌiau ĐaƌďoŶĠ, et empêche partiellement la réduction de
l͛ĠleĐtƌolLJte. Page | 16
e) Pertes ohmiques
Tout passage de courant dans l͛aĐĐuŵulateuƌ est aĐĐoŵpagŶĠ d͛uŶe Đhute de teŶsioŶ liĠe audž
ƌĠsistaŶĐes de l͛ĠleĐtƌolLJte, de l͛ĠleĐtƌode et des ĠlĠŵeŶts de ĐoŶŶedžioŶ. BieŶ Ƌue Đes ƌĠsistaŶĐes
soieŶt de faiďles ǀaleuƌs, elles soŶt la Đause pƌiŶĐipale des peƌtes paƌ effet Joule daŶs l͛accumulateur.
1.3.4 Des accumulateurs aux batteries
Toutes les technologies sont caractérisées par une faible tension nominale par rapport aux exigences
de la plupart des systèmes à alimenter et particulièrement des véhicules hybrides et électriques
(ͳ,ʹ � pour des accumulateurs de type ����, ͵,ʹ V pour une technologie Li-ion phosphate de fer
(������ସ), ͵, � pour une technologie de type Li-ioŶ à ďase d͛odžLJde de ĐoďaltͿ. Pouƌ oďteŶiƌ de
fortes capacités, on place plusieurs accumulateuƌs eŶ paƌallğle, Đe tLJpe d͛assoĐiatioŶ est dĠsigŶĠ
comme un étage. Pour obtenir le niveau de tension adéquat, on place en série plusieurs étages, on
paƌle aloƌs de ŵodules. L͛assoĐiatioŶ de plusieuƌs ŵodules est appelĠe uŶe ďatteƌie d͛aĐĐuŵulateuƌs
ou « pack batterie » ou plus couramment batterie (Figure 1-81-8).
Figure 1-8 : Lien entre accumulateurs et batteries – Exemple d’une batterie composée de 10
modules en série, chaque module contenant 5 accumulateurs de 2,3 Ah chacun en parallèle
(5p) mis en série 12 fois (12s).
1.4 Système de supervision de batterie
Le foŶĐtioŶŶeŵeŶt daŶs des ĐoŶditioŶs aŶoƌŵales d͛uŶ aĐĐuŵulateuƌ peut pƌoǀoƋueƌ des dĠgâts
ĐatastƌophiƋues. L͛eŵďalleŵeŶt theƌŵiƋue eŶ est uŶ edžeŵple. Ce phĠŶoŵğŶe se dĠĐleŶĐhe suƌtout
lors d͛uŶ Đouƌt-ĐiƌĐuit iŶteƌŶe ou uŶe suƌĐhaƌge. Assuƌeƌ la sûƌetĠ des ĠlĠŵeŶts d͛uŶ paĐk ďatteƌie
est donc indispensable pour le développement des HEVs et EVs.
Les ďatteƌies utilisĠes daŶs les ǀĠhiĐules soŶt souŵises à des pƌofils d͛usage Đoŵpledžes. EŶ effet, ces
pƌofils ƌeflğteŶt l͛utilisatioŶ ĐhaotiƋue de la tƌaĐtioŶ opĠƌĠe paƌ le ĐoŶduĐteuƌ loƌs de tƌajets et Ƌui se Page | 17
ĐaƌaĐtĠƌiseŶt paƌ des ǀitesses et puissaŶĐes ǀaƌiaďles et iƌƌĠguliğƌes. CoŶtƌaiƌeŵeŶt à l͛utilisatioŶ au
seiŶ d͛uŶ oƌdiŶateuƌ poƌtaďle ;paƌ exemple) constituée de charges et de décharges répétitives, les
profils automobiles peuvent être considérés comme aléatoires.
Un système de supervision, désigné comme le BMS (Battery Management system), est donc toujours
iŶtĠgƌĠ daŶs les HEVs et EVs afiŶ d͛assurer a minima la sûreté de fonctionnement des batteries.
1.4.1 Indices d’états
Paƌŵi les iŶdiĐateuƌs d͛Ġtat Ƌui s'aǀğƌeŶt iŵpoƌtaŶts pouƌ la gestioŶ de la ďatteƌie, oŶ peut Điteƌ
l'Ġtat de Đhaƌge et l͛Ġtat de saŶtĠ. DaŶs Đe paƌagƌaphe, oŶ s͛iŶtĠƌesse à leuƌ dĠfiŶitioŶ à l͛ĠĐhelle de
l͛aĐĐuŵulateuƌ, ŵais les ŵġŵes ŶotioŶs peuǀeŶt ġtƌe adaptĠes à l͛ĠĐhelle d͛uŶe ďatteƌie.
1.4.1.1 Etat de santé (���ሻ
Le ǀieillisseŵeŶt est la ŵodifiĐatioŶ, au fil du teŵps, des pƌopƌiĠtĠs de l͛aĐĐuŵulateuƌ. Il se tƌaduit
généralement par une baisse de la capacité nominale �ሺ�ℎሻ au fil de l͛utilisatioŶ ou du teŵps
[Ϯϱ][Ϯϲ]. L͛Ġtat de saŶtĠ ;��� pour « state of health ») est donc défini comme le rapport de la
ĐapaĐitĠ ŶoŵiŶale de l͛aĐĐuŵulateuƌ à l͛iŶstaŶt � paƌ ƌappoƌt à Đelle eŶ soƌtie d͛usiŶe à � :
��� = ,ሺ்ሻ
,బ
ሺ்ሻ
Equation 1-4
La capacité nominale variant avec la température, cet indice est généralement défini pour une
température de référence � donnée.
1.4.1.2 Etat de charge (���)
L͚Ġtat de Đhaƌge ou ��� (pour « state of charge ») représente le rapport des capacités stockée et
nominale à une température � donnée. Il est normalisé entre Ͳ et ͳͲͲ%.
��� =
�௦ሺ�ሻ
�ሺ�ሻ Equation 1-5
Le calcul par coulométrie permet de suivre facilement le ��� d͛uŶ aĐĐuŵulateuƌ. Il ĐoŶsiste à
calculer la quantité de charge retirée (décharge) ou injectée (charge) entre deux instants différents
loƌsƋue l͛aĐĐuŵulateuƌ est souŵis à uŶ ĐouƌaŶt � (Equation 1-6).
���ሺ�ଶ
ሻ− ���ሺ�ଵ
ሻ =
ͳ
͵ͲͲ�
ە
ۖ
۔
ۖ
ۓ− න ��� �� � < Ͳ ሺ�é�ℎ����ሻ
௧మ
௧భ
− න ƞ��� �� � > Ͳ ሺ�ℎ����ሻ
௧మ
௧భ
Equation 1-6
� est la capacité nominale en �ℎ, �ଵ et �ଶ sont les instants en � de dĠďut et fiŶ de l͛appliĐatioŶ du
courant �, ƞ est le ƌeŶdeŵeŶt faƌadiƋue Ƌui ƌepƌĠseŶte l͛effiĐaĐitĠ de ƌeĐhaƌge [ϮϬ].
DaŶs l͛appliĐatioŶ des ǀĠhiĐules hLJďƌides et ĠleĐtƌiƋues, le calĐul d͛iŶtĠgƌatioŶ s͛effeĐtue gƌâĐe à uŶe
valeur référence de temps et de la mesure du courant total du pack batterie ou de l͛aĐĐuŵulateuƌ. Page | 18
Les eƌƌeuƌs aĐĐuŵulĠes à Đause à l͛iŶtĠgƌatioŶ soŶt ĐoŵpeŶsĠes gƌâĐe au ƌeĐalage du ��� via une
mesure de tension lorsque celle-ci atteint les limites haute ou basse. Dans [52][88], plusieurs
méthodes de mesure du ��� sont détaillées.
1.4.2 Terminologie
Dans ce paragraphe, une définition est donnée pour la surveillance, le diagnostic et la supervision
des batteries. Cette terminologie est directement inspirée du domaine de la supervision des
systèmes complexes [23][24].
D͛uŶe ŵaŶiğƌe gĠŶĠƌale, la supeƌǀisioŶ d͛uŶ sLJstğŵe a pouƌ ďut de ƌĠagiƌ ĐoƌƌeĐteŵeŶt audž
ĐhaŶgeŵeŶts d͛Ġtats ĠǀeŶtuels de Đe sLJstğŵe ;dĠgƌadatioŶ, appaƌitioŶ de dĠfauts, …Ϳ afiŶ de
ŵaiŶteŶiƌ ses peƌfoƌŵaŶĐes et d͛assuƌeƌ la sĠĐuƌitĠ des ďieŶs et des personnes. Elle est constituée de
trois tâches principales :
l’étape de surveillance,
l’étape de diagnostic,
l’étape de décision.
L͛oďjeĐtif de la suƌǀeillaŶĐe ;ou « monitoring »Ϳ est la dĠteƌŵiŶatioŶ à ĐhaƋue iŶstaŶt de l͛Ġtat
ĐouƌaŶt du sLJstğŵe d͛iŶtĠƌêt. Cet état est constitué par un ensemble de symptômes dont il faut
détecter la présence et déterminer les caractéristiques. Il est important de noter que ces symptômes
ne sont pas des défauts, mais plutôt des indicateurs qui permettront la détection et la caractérisation
de défauts ou de défaillances dans une étape ultérieure. La tâche de monitoring est réalisée grâce
aux connaissances disponibles sur ce procédé, qui peuvent être de deux types :
- les connaissances a priori développées avant l’action de surveillance, constituées par
exemple par des modèles physiques du système,
- les connaissances en fonctionnement constituées par les observations faites sur le système
lors de son fonctionnement.
L͛Ġtape de diagŶostiĐ est l͛opĠƌatioŶ Ƌui ĐoŶsiste à ƌeŵoŶteƌ des symptômes et de leurs
ĐaƌaĐtĠƌistiƋues audž dĠfauts pƌĠseŶts daŶs le sLJstğŵe d͛iŶtĠƌġt. Cette Ġtape utilise doŶĐ les soƌties
de l͛Ġtape pƌĠĐĠdeŶte de suƌǀeillaŶĐe pouƌ fouƌŶiƌ uŶe liste de dĠfauts et de dĠfaillaŶĐes ĠǀeŶtuels
ainsi que leurs caractéristiques ;gƌaǀitĠ, loĐalisatioŶ…Ϳ.
EŶfiŶ, l͛Ġtape de dĠĐisioŶ ĐoŶsiste à ƌĠagiƌ ĐoƌƌeĐteŵeŶt à l͛appaƌitioŶ de dĠfauts et de dĠfaillaŶĐes
au seiŶ du sLJstğŵe, et à eŶtƌepƌeŶdƌe les aĐtioŶs ĐoƌƌeĐtes peƌŵettaŶt d͛assuƌeƌ la sûƌetĠ de
fonctionnement du procédé (changement de consigne, passage dans un mode dégradé de
foŶĐtioŶŶeŵeŶt, opĠƌatioŶ de ŵaiŶteŶaŶĐe, ƌĠpaƌatioŶ, ŵise hoƌs seƌǀiĐe…Ϳ.
Concernant les applications de gestion de batteries embarquées dans des HEVs et EVs, la
surveillance de la batterie (le système d͛iŶtĠƌġtͿ ĐoŶsiste à estiŵeƌ les iŶdiĐateuƌs d͛Ġtats ;les
symptômes) qui seront présentés dans le paragraphe suivant. Pour y parvenir, la tension et le Page | 19
courant sont le plus souvent observés (constituant les connaissances en fonctionnement). Des
connaissances a priori peuvent également être rajoutées en utilisant un modèle de batterie. Ensuite,
l͛Ġtape de diagŶostiĐ ĐoŶsiste eŶ gĠŶĠƌal à attƌiďueƌ uŶ seuil pouƌ ĐhaƋue iŶdiĐateuƌ. Paƌ edžeŵple uŶ
état de charge aux alentours de Ͳ% peut entrainer une surdéchaƌge si l͛aĐĐuŵulateuƌ ĐoŶtiŶue à
dĠďiteƌ du ĐouƌaŶt, ĐeĐi aLJaŶt des ĐoŶsĠƋueŶĐes ŶĠfastes suƌ l͛aĐĐuŵulateuƌ. L͛Ġtape de diagŶostiĐ
ĐoŶsisteƌa doŶĐ iĐi à Đoŵpaƌeƌ l͛Ġtat de Đhaƌge ĐouƌaŶt de l͛aĐĐuŵulateuƌ aǀeĐ uŶ seuil pƌĠdĠteƌŵiŶĠ
proche de Ͳ %. Une fois ce seuil franchi intervient la dernière étape du système de supervision : la
tâĐhe de dĠĐisioŶ. Pouƌ l͛edžeŵple pƌĠĐĠdeŶt de suƌdĠĐhaƌge, il s͛agiƌa de liŵiteƌ le ĐouƌaŶt puis
d͛ouǀƌiƌ le ĐoŶtaĐteuƌ de sĠĐuƌitĠ eŶ Đas de fƌaŶĐhisseŵeŶt du seuil afiŶ de ƌĠagir correctement à cet
événement particulier.
Les systèmes regroupant toutes ces fonctionnalités sont appelés systèmes de gestion ou de
supervision de batteries, ou plus communément « BMS » (pour Battery Management system).
1.5 L’accumulateur : objet de modélisation
AfiŶ d͛assuƌeƌ les diffĠƌeŶtes tâĐhes du BM“, la ŵodĠlisatioŶ des aĐĐuŵulateuƌs s͛aǀğƌe uŶ outil
essentiel pour comprendre et prédire leur fonctionnement dans un système aussi délicat que les
HEVs et EVs. Elle aide à développer des outils théoriques et pratiques nécessaires pour la
compréhension et la caractérisation des accumulateurs, siège de différents phénomènes
ĠleĐtƌoĐhiŵiƋues Đoŵpledžes. Ce ŵodğle doit s͛adapteƌ à Ŷ͛iŵpoƌte Ƌuel pƌofil de Đhaƌge suƌ uŶe
large variation du ��� de l͛aĐĐuŵulateur et à différentes températures de fonctionnement. Cette
seĐtioŶ est de Ŷatuƌe ďiďliogƌaphiƋue [Ϯϳ]. L͛oďjeĐtif Ŷ͛est pas de ƌeĐeŶseƌ tous les ŵodğles edžistaŶts
mais plutôt de se positionner par rapport aux travaux existants et souligner a posteriori les choix
adoptés dans cette thèse.
1.5.1 Boite Blanche
Il s͛agit des ŵodğles phLJsio-chimiques. Ce sont les modèles les plus précis et les plus utilisés par les
ĐoŶĐepteuƌs d͛aĐĐuŵulateuƌs pouƌ optiŵiseƌ les peƌfoƌŵaŶĐes d'uŶ aĐĐuŵulateuƌ [Ϯϳ]. Toutefois, ils
sont également les plus lents et les plus difficiles à configurer (paramètres basés sur la connaissance
de la structure, la chimie, la composition, la capacité, la température, et d'autres caractéristiques de
l͛aĐĐuŵulateuƌͿ. Paƌ edžeŵple, [Ϯϴ][Ϯϵ] oŶt dĠǀeloppé un modèle électrochimique isotherme qui
décrit la charge et la décharge d'un accumulateur au lithium pour un seul cycle. Ce modèle se base
suƌ la ƌĠsolutioŶ d͛ĠƋuatioŶs diffĠƌeŶtielles ŵettaŶt eŶ jeu les ĐoŶĐeŶtƌatioŶs des espğĐes eŶ
solution. Ces modèles peƌŵetteŶt de pƌĠdiƌe la teŶsioŶ de l͛aĐĐuŵulateuƌ eŶ foŶĐtioŶ du teŵps,
ŵais aussi les pƌofils de ĐoŶĐeŶtƌatioŶ au seiŶ des ĠleĐtƌodes et de l͛ĠleĐtƌolLJte [ϯϬ]. Ils peuǀeŶt aussi Page | 20
être utilisés pour définir les capacités disponibles à différents profils de sollicitation ou établir les
régimes optimaux de courant admissible.
1.5.2 Boite noire
Il s͛agit des modèles empiriques [27] consistant à établir une relation directe entre les conditions
d͛usage et les peƌfoƌŵaŶĐes de l͛aĐĐuŵulateuƌ ;ĐapaĐitĠ, ĠŶeƌgie, …Ϳ. Ces modèles sont les plus
faciles à configurer mais sont difficilement extrapolables. Les paramètres utilisés n'ont pas de
sigŶifiĐatioŶ phLJsiƋue, Đe Ƌui liŵite sĠƌieuseŵeŶt l͛aŶalLJse du ĐoŵpoƌteŵeŶt de l͛aĐĐuŵulateuƌ. La
loi de Peukert [14] est un exemple de ce genre de modèle. On peut aussi citer dans cette catégorie
les modèles basés sur la logique floue [31][32][33][34] ou ceux sur les réseaux de neurones
[35][36][37]. Bien que la précision, la vitesse et la complexité de ces modèles soient acceptables, le
ĐoŵpoƌteŵeŶt de l͛aĐĐuŵulateuƌ est dĠĐƌit paƌ des relations sans aucun lien direct avec les
phénomènes physico-ĐhiŵiƋues Ƌui s͛LJ dĠƌouleŶt. Paƌ ĐoŶsĠƋueŶt, l͛iŶteƌpƌĠtatioŶ phLJsiƋue des
résultats demeure difficile.
1.5.3 Boite grise
Au lieu de modéliser le ĐoŵpoƌteŵeŶt de l͛aĐĐuŵulateuƌ, soit eŶ dĠĐƌiǀaŶt les pƌoĐessus
électrochimiques, soit par approximation empirique, les modèles de type boite grise [27] tentent de
fournir une représentation équivalente du comportement d'un accumulateur. Bien que le nombre de
paramètres soit en général limité, ces modèles font appel à des tables qui nécessitent un effort de
configuration important.
Il s͛agit eŶ paƌtiĐulieƌ de la modélisation des accumulateurs par des circuits électriques équivalents
(���s) [38][39][40][41][42][43] qui constitue un outil essentiel pour les professionnels du génie
électrique. De tels circuits permettent de traduire le comportement électrique fréquentiel et
temporel des accumulateurs. Grâce à l'analogie entre les différents domaines de la physique-chimie
et le domaine de l'électricité, les circuits électriques peuvent, sous certaines conditions de linéarité,
approcher les différents phénomènes physico-chimiques présents dans un accumulateur au moyen
d͛ĠlĠŵeŶts passifs ;ƌĠsistaŶĐes, ĐapaĐités, inductances) et actifs (force électromotrice, source de
ĐouƌaŶt …Ϳ.
Il est important de distinguer les modèles statiques des modèles dynamiques. Les modèles statiques
ne prennent pas en compte les phénomènes transitoires et leur impédance est constituée
uniquement d'éléments résistifs, tandis que les modèles dynamiques sont capables de décrire les
phénomènes transitoires en utilisant des éléments dont les impédances sont complexes.
Suivant la gamme de validité du modèle, les paramètres de ces circuits peuǀeŶt iŶtĠgƌeƌ l͛iŶflueŶĐe
de diǀeƌs faĐteuƌs tels Ƌue la teŵpĠƌatuƌe, l͛Ġtat de Đhaƌge, le ĐouƌaŶt et l͛Ġtat de saŶtĠ. UŶe phase Page | 21
de ĐaƌaĐtĠƌisatioŶ pƌĠalaďle est aloƌs ƌĠalisĠe peƌŵettaŶt d͛Ġtaďliƌ le lieŶ eŶtƌe Đes paƌaŵğtƌes et les
différents facteurs.
Enfin, quelle que soit la complexité du modèle ��� utilisé, des modèles supplémentaires sont
ŶĠĐessaiƌes pouƌ pouǀoiƌ suiǀƌe l͛ĠǀolutioŶ du ��� ;ǀia le suiǀi de l͛��� par exemple), de la
température ;ǀia uŶ ŵodğle d͛ĠǀolutioŶ d͛uŶ ou plusieuƌs paƌaŵğtƌes du ���), et du ��� (via un
modèle d͛ĠǀolutioŶ d͛uŶ ou plusieuƌs paƌaŵğtƌes du ���).
1.5.3.1 Le modèle de Randles généralisé
L͛aĐĐuŵulateuƌ pƌĠseŶte des ĐoŵpoƌteŵeŶts ŵiĐƌosĐopiƋues tƌğs Đoŵpledžes et des phĠŶoŵğŶes
internes fortement couplés. Randles a proposé un circuit électrique équivalent (Figure 1-91-9) en les
traduisant avec des composants électriques [44].
Figure 1-9 : Circuit de Randles.
Une interprétation préalable des composants est possible. Le modèle (Figure 1-91-9) renferme une
résistance ohmique (�) et une inductance (�) en série modélisant les effets des électrodes, de
l͛ĠleĐtƌolLJte et de la ĐoŶŶeĐtiƋue. Le comportement de la double couche peut être associé à la
capacité �ௗ alors que la cinétique de la réaction électrochimique peut être décrite par la résistance
de transfert de charge (�௧Ϳ. “eloŶ soŶ ŵodğle, le poteŶtiel d͛ĠƋuiliďƌe est représenté par une source
de tension idéale (���). Enfin le phénomène de diffusion, connu pour être difficile à étudier, est
modélisé par une impédance de Warburg ( �� Ϳ. Tƌois Đas d͛iŵpĠdaŶĐe de Waƌďuƌg soŶt
gĠŶĠƌaleŵeŶt utilisĠs seloŶ l͛Ġpaisseuƌ de la couche de diffusion [18] : épaisseur semi-infinie,
Ġpaisseuƌ fiŶie eŶ pƌĠseŶĐe de la ĐoŶǀeĐtioŶ ou de l͛hLJpothğse de NeƌŶst, et Ġpaisseuƌ fiŶie à tƌaǀeƌs
un film mince. Ces impédances peuvent être généralisées en intégrant des exposants non entiers
dans leur expression.
Aussi, afiŶ de pƌĠseŶteƌ les ĠƋuatioŶs ĐoƌƌespoŶdaŶtes à ĐhaƋue Đas, il s͛aǀğƌe ŶĠĐessaiƌe
d͛iŶtƌoduiƌe ƌapideŵeŶt des ĐoŵposaŶts à iŵpĠdaŶĐe d͛oƌdƌe ŶoŶ eŶtieƌ appelĠs ĠlĠŵeŶts à phase
constante (��� pour « Constant Phase Element »Ϳ [ϰϱ][ϰϲ] et pƌĠseŶtĠs plus eŶ dĠtails daŶs l͛AŶŶedže
A de Đe ŵĠŵoiƌe. La foƌŵule gĠŶĠƌale de l͛iŵpĠdaŶĐe d͛uŶ ��� est donnée par :
�ாሺ�ሻ =
ͳ
�ሺ�ʹ��ሻ
Ͳ � ͳ Equation 1-7 Page | 22
�� ൜
� = ͳ: �������é ����
� = Ͳ: �é�������� ����
� est une constante et � est un complexe tel que �ଶ = −ͳ, � étant la fréquence, � ĠtaŶt l͛oƌdƌe ŶoŶ
entier du ���. Dans cette étude, un ��� va être connecté en parallèle à une résistance �. Afin de
clarifier la notion du ���, l͛iŵpĠdaŶĐe du ĐiƌĐuit �//��� est tracée à la Figure 1-101-10 pour
différentes valeurs de �.
Figure 1-10 : Diagramme de Nyquist de ��//��� pour différentes valeurs de � [47].
Normalement, un système réel dépend non seulement de son état actuel mais également de ses
états passés. La dériǀĠe d͛oƌdƌe ŶoŶ-eŶtieƌ d͛uŶe foŶĐtioŶ �ሺ�ሻ permet de prendre en compte les
valeurs de �ሺ�ሻ à tous les instants � < Ͳ gƌâĐe à l͛iŶtĠgƌatioŶ Ƌui appaƌaît ŶatuƌelleŵeŶt daŶs les
dĠfiŶitioŶs pƌĠseŶtĠes daŶs l͛aŶŶedže A. Elle fournit donc une caractérisation globale de �ሺ�ሻ. C͛est
cet effet mémoire qui fait de la dérivation non-entière un outil intéressant pour modéliser
ĐoƌƌeĐteŵeŶt les phĠŶoŵğŶes ĐapaĐitifs et diffusifs Ƌui oŶt lieu au seiŶ d͛uŶ aĐĐuŵulateuƌ.
EŶ foŶĐtioŶ du Đas ĐoŶsidĠƌĠ, l͛iŵpĠdaŶĐe de diffusion est exprimée de manière différente [18]
(Figure 1-111-11) :
la diffusion semi-infinie est correctement modélisée par un ��� [18],
la diffusion finie d’après l’hypothèse de Nernst [18] est modélisée par :
�ௐሺ�ሻ = �
���ℎሺ���ሻ
ሺ���ሻ
Equation 1-8
A tƌğs ďasses fƌĠƋueŶĐes, l͛iŵpĠdaŶĐe de Waƌďuƌg pƌĠseŶte le ĐoŵpoƌteŵeŶt d͛uŶe ƌĠsistaŶĐe. C͛est
pourquoi on parle de « circuit fermé ».
la diffusion finie à travers un film mince [18] est modélisée par :
�ௐሺ�ሻ = �
���ℎሺ���ሻ
ሺ���ሻ
Equation 1-9
La paƌtie iŵagiŶaiƌe teŶd ǀeƌs l͛iŶfiŶi pouƌ les fƌĠƋueŶĐes ďasses Đe Ƌui ĐoƌƌespoŶd à l͛iŵpĠdaŶĐe
d͛uŶe ĐapaĐitance ou à un état de « circuit ouvert ».
Ces phĠŶoŵğŶes diffusifs seƌoŶt ŶĠgligĠs daŶs la suite de la thğse ǀu Ƌu͛ils Ŷe soŶt solliĐitĠs Ƌue pouƌ
des fréquences extrêmement basses. Page | 23
Figure 1-11 : Trois types d’impédance de Warburg [18].
1.5.3.2 Application aux cellules LiFePO4
Le modèle classique de Randles donné à la Figure 1-91-9 et ďasĠ suƌ des iŵpĠdaŶĐes d͛oƌdƌe eŶtieƌ
Ŷ͛est pas approprié pour décrire finement le comportement macroscopique complexe de
l͛aĐĐuŵulateuƌ. AfiŶ de ŵodĠliseƌ ĐoƌƌeĐteŵeŶt uŶ aĐĐuŵulateuƌ, le ƌeĐouƌs à l͛utilisatioŶ des ����
s͛aǀğƌe iŶtĠƌessaŶt, et paƌtiĐuliğƌeŵeŶt pouƌ ŵodĠliseƌ l͛effet de ĐouĐhe douďle et du filŵ de
passiǀatioŶ. C͛est pouƌƋuoi le ŵodğle de ‘aŶdles gĠŶĠƌalisĠ ;Figure 1-121-12) consistant à introduire
dans le circuit classique deux de ces termes, ��� et ���ௗ, a été proposé dans K.DONG [18] pour
modéliser un accumulateur de type ������ସ.
Figure 1-12 : Modèle de batteries LiFePO4 [18].
L͛ĠƋuatioŶ aŶalLJtiƋue de l͛iŵpĠdaŶĐe totale de Đe ĐiƌĐuit où l͛iŵpĠdaŶĐe de Waƌďuƌg est ŶĠgligĠe est
donc finalement donnée par :
�௬௧௨ ሺ�ሻ = � + ʹπ��� +
�
ͳ + ��ሺʹπ��ሻ
+
�௧
ͳ + �௧�ௗሺʹπ��ሻ
Equation 1-10
Le Tableau 1-2 ƌĠĐapitule l͛eŶseŵďle des paƌaŵğtƌes de Đe ŵodğle aiŶsi Ƌue les phĠŶoŵğŶes Ƌue
[18] a essayé de leur associer.
� Résistance des électrodes, électrolytes et connexions
� Inductance de connexions
� Résistance du film de passivation
�, � Paramètres du ��� : effet du film de passivation Page | 24
�௧ Résistance de transfert de charge
�ௗ, �ௗ Paramètres du ���ௗ : effet de la double couche
Tableau 1-2 : Récapitulatif des paramètres du ��� de Randles amélioré.
Le simulateur associé (Annexe C), développé sous Matlab/Simulink à l͛INE“4
[18][20][48], a montré
de ďoŶŶes peƌfoƌŵaŶĐes loƌs d͛edžpĠƌiŵeŶtatioŶs ŵeŶĠes suƌ des aĐĐuŵulateuƌs gƌaphite ������ସ
de la compagnie A123 Systems Ltd, de capacité nominale ʹ,͵ �ℎ et de tension nominale de ͵,͵� (cf.
Annexe B). Le modèle présenté ici sera donc celui utilisé dans la suite de ce mémoire, et le
simulateur correspondant sera utilisé pour la réalisation des études en simulations, préliminaires à la
phase expérimentale.
1.6 Circuit électrique équivalent et notion d’impédance électrique
La validité des ���� précédents est basée sur les hypothèses suivantes :
Un ��� est défini et valable uniquement autour d’un point de fonctionnement donné.
L’amplitude des fluctuations de courant à l’entrée de l’accumulateur reste faible. Par
conséquent, l’accumulateur modélisé autour du point de fonctionnement choisi peut être
considéré comme linéaire.
Sous les hypothèses précédentes et pour un point de fonctionnement fixe, l’accumulateur
peut être considéré comme un système linéaire et invariant dans le temps (LIT) pour lequel
les notions de fonction de transfert et de réponse fréquentielle sont parfaitement définies,
comme il est montré dans le chapitre suivant.
Dans ce cas, l’impédance électrique définie par l’Equation 1-10 correspond à la réponse
fréquentielle du système LIT constitué par l’accumulateur au point de fonctionnement fixe
considéré, dont l’entrée est le courant parcourant cet accumulateur, et la sortie la tension à
ses bornes.
Cette impédance dépend des différents éléments du ��� choisi et contient donc la majeure partie
de l͛iŶfoƌŵatioŶ liĠe audž phĠŶoŵğŶes phLJsiƋues Ƌui pƌeŶŶeŶt plaĐe daŶs l͛aĐĐuŵulateuƌ. Elle est
doŶĐ iŵpoƌtaŶte à ĐalĐuleƌ pouƌ sa ĐaƌaĐtĠƌisatioŶ et/ou sa suƌǀeillaŶĐe. C͛est suƌ Đette deƌŶiğƌe
remarque que repose la démarche suivie dans les chapitres suivants.
4
Institut National de l’Energie SolairePage | 25
Chapitre 2 : Identification de l’impédance électrique d’un
accumulateur
L͛ideŶtifiĐatioŶ de sLJstğŵes est uŶ eŶseŵďle de ŵĠthodes ǀisaŶt à ŵodĠliseƌ les sLJstğŵes
dynamiques à partir de données expérimentales. Elle consiste à déterminer un modèle
mathématique du système en utilisant et en analysant ses entrées et ses sorties. Si ce modèle
mathématique repose sur un ensemble fini de paramètres, on parle d'identification
« paramétrique ». L͛ideŶtifiĐatioŶ paƌaŵĠtƌiƋue permet dans la plupart des cas de faciliter la
synthèse de lois de commande, ce qui en fait un outil très apprécié dans le domaine de
l͛autoŵatiƋue. “i le ŵodğle ŵathĠŵatiƋue ĐoŶsiste eŶ uŶe foŶĐtioŶ Ƌui ĐaƌaĐtĠƌise le sLJstğŵe à
identifier, comme la fonction de transfert ou les réponses impulsionnelle ou fréquentielle d'un
sLJstğŵe liŶĠaiƌe et iŶǀaƌiaŶt daŶs le teŵps, oŶ paƌle aloƌs d͛ideŶtifiĐatioŶ « non paramétrique ». De
plus, deux approches différentes de l'identification peuvent être envisagées. Si les entrées du
système sont imposées par l'utilisateur spécifiquement pour l'identification, on parle d'approche «
active ». Par contre, si on utilise les signaux d'entrée et de sortie du système en fonctionnement,
sans ajouter aucun signal supplémentaire pour l'identification, on parle d'approche « passive ».
DaŶs Đe Đhapitƌe, Đ͛est l͛ideŶtifiĐatioŶ ŶoŶ paƌaŵĠtƌiƋue aĐtiǀe Ƌui est Đhoisie. EŶ effet, uŶe fois
liŶĠaƌisĠ autouƌ d͛uŶ poiŶt de foŶĐtioŶŶeŵeŶt, le système peut être caractérisé par sa réponse
fréquentielle, autrement dit son impédance électrique. Cette grandeur constitue donc un modèle
non-paƌaŵĠtƌiƋue de l͛aĐĐuŵulateuƌ ǀalaďle autouƌ du poiŶt de foŶĐtioŶŶeŵeŶt ĐoŶsidĠƌĠ. L͛oďjeĐtif
des méthodes développées dans ce chapitre est de réaliser une estimatioŶ pƌĠĐise de l͛iŵpĠdaŶĐe
ĠleĐtƌiƋue d͛uŶ aĐĐuŵulateuƌ autouƌ d͛uŶ poiŶt de foŶĐtioŶŶeŵeŶt eŶ eŵploLJaŶt uŶ sigŶal d͛eŶtƌĠe
dĠdiĠ à l͛ideŶtifiĐatioŶ et eŶ ŵesuƌaŶt le sigŶal de soƌtie ĐoƌƌespoŶdaŶt. De plus, les ŵĠthodes
présentées devront permettre de suiǀƌe l͛ĠǀolutioŶ de Đette iŵpĠdaŶĐe au Đouƌs du teŵps.
Ce Đhapitƌe Ġtaďlit tout d͛aďoƌd les hLJpothğses de tƌaǀail Ƌui seƌoŶt ƌespeĐtĠes tout au loŶg de
l͛Ġtude. EŶsuite, uŶ Ġtat de l͛aƌt suƌ les ŵĠthodes ĐouƌaŵŵeŶt utilisĠes ;paƌaŵĠtƌiƋues et ŶoŶ
paramétriƋuesͿ pouƌ ideŶtifieƌ l͛iŵpĠdaŶĐe ĠleĐtƌiƋue d͛uŶ aĐĐuŵulateuƌ est pƌĠseŶtĠ. EŶfiŶ, la
possibilité d'employer des méthodes d'identification large-bande pour estimer cette impédance
ĠleĐtƌiƋue suƌ des ďaŶdes de fƌĠƋueŶĐe doŶŶĠes seƌa ĠtudiĠe. L͛iŶtĠƌġt ŵajeur de cette approche
seƌa la possiďilitĠ d͛ġtƌe iŵplaŶtĠe sous foƌŵe ƌĠĐuƌsiǀe et doŶĐ eŶ teŵps-réel, et embarqué dans les
véhicules. Page | 26
2.1 Hypothèses de travail
Le système en étude (accumulateur), ayant pour entrée le courant de polarisation �ௗ (courant
ĐoŶtiŶu appliƋuĠ à l͛aĐĐuŵulateuƌͿ auquel est superposée une composante alternative de faible
amplitude ∆�ሺ�ሻ , et pour sortie la réponse en tension correspondante, a en général un
ĐoŵpoƌteŵeŶt ŶoŶ liŶĠaiƌe [ϰϵ][ϱϬ]. CepeŶdaŶt, l͛ideŶtification non paramétrique proposée dans
Đette Ġtude est ƌestƌeiŶte audž sLJstğŵes liŶĠaiƌes et iŶǀaƌiaŶts daŶs le teŵps ;LITͿ. Pouƌ Ƌu͛elle
aboutisse à des résultats valables, il faut que les conditions expérimentales permettent une
linéarisation locale autouƌ d͛uŶ poiŶt de foŶĐtioŶŶeŵeŶt fidže. Ce deƌŶieƌ est assoĐiĠ à uŶ eŶseŵďle
de paramètres qui doivent tous pouvoir être considérés comme constants au cours de la mesure. Le
pƌeŵieƌ de Đes paƌaŵğtƌes est l͛iŶteŶsitĠ du ĐouƌaŶt de polaƌisatioŶ Ƌui est ďieŶ Đonstante. Les
autƌes paƌaŵğtƌes soŶt ƌelatifs à l͛Ġtat gloďal de l͛aĐĐuŵulateuƌ : son ���, son ��� et sa
température �. Tout d͛aďoƌd, le ��� est considéré naturellement constant étant donné sa
dLJŶaŵiƋue tƌğs leŶte. EŶsuite, l͛aĐĐuŵulateuƌ foŶĐtioŶne dans un régime stable établi à température
ambiante : sa température est donc également considérée constante. Finalement, le ��� est
effeĐtiǀeŵeŶt plus ou ŵoiŶs ǀaƌiaďle duƌaŶt la ŵesuƌe ;seloŶ l͛iŶteŶsitĠ du ĐouƌaŶt de polaƌisatioŶͿ.
Cependant, en respeĐtaŶt uŶ Đoŵpƌoŵis eŶtƌe la duƌĠe de ŵesuƌe et l͛iŶteŶsitĠ du ĐouƌaŶt de
polarisation, une variation de ��� limitée à ʹ% est considérée comme acceptable. Sous les
hLJpothğses pƌĠĐĠdeŶtes, le poiŶt de foŶĐtioŶŶeŵeŶt autouƌ duƋuel l͛aĐĐuŵulateuƌ foŶĐtionne peut
être considéré comme fixe. La composante alternative ��ሺ�ሻ superposée au courant de polarisation
doit ĠgaleŵeŶt ġtƌe d͛aŵplitude suffisaŵŵeŶt faiďle pouƌ peƌŵettƌe la liŶĠaƌisatioŶ du sLJstğŵe. OŶ
ĐoŶsidğƌe daŶs la suite Ƌu͛elle Ŷe doit pas pƌovoquer plus de ʹͲ à ͶͲ �� de variation sur la réponse
en tension [51], une amplitude de ͳͷͲ �� est alors admise (soit un régime de �/ͳͷ).
Pour récapituler, les hypothèses de travail se résument à :
une durée de mesure suffisamment faible pour que le ��� ne varie pas de plus de ʹ%.
une composante alternative ∆�ሺ�ሻ suffisamment faible, correspondant à une amplitude de
�/ͳͷ.
Sous ces conditions, l'accumulateur sera considéré comme un système LIT autour du point de
fonctionnement fixe, et donc pouvant être caractérisé par sa réponse fréquentielle. Cette dernière
ƌelie le ĐouƌaŶt d'eŶtƌĠe et la teŶsioŶ de soƌtie de l͛aĐĐuŵulateuƌ, il s'agit doŶĐ d'uŶe iŵpĠdaŶĐe
électrique.
2.2 Etat de l’art
Dans la littérature, on trouve plusieurs paramètres électriques dont la définition est plus ou moins
siŵpleŵeŶt ƌeliĠe à Đelle de l͛iŵpĠdaŶĐe ĠleĐtƌiƋue d͛uŶ aĐĐuŵulateuƌ. La teƌŵiŶologie est
changeante, ce qui rend parfois difficile la compréhension de la grandeur mesurée. Page | 27
2.2.1 Identification de la résistance interne
Le modğle ĠleĐtƌiƋue le plus siŵple d͛uŶ aĐĐuŵulateuƌ est uŶe souƌĐe de teŶsioŶ eŶ sĠƌie aǀeĐ uŶe
résistance. Cette dernière englobe les résistances dues aux processus électrochimiques ainsi que
Đelles des ĐoŶŶedžioŶs. Ce teƌŵe de ƌĠsistaŶĐe Ŷ͛est pas dĠfiŶi de façon claire définitive, chaque
définition dépendant de la technique de mesure utilisée [52].
2.2.1.1 Mesure par milliohmmètre
EŶ appliƋuaŶt uŶ sigŶal d͛edžĐitatioŶ siŶusoïdal à haute fƌĠƋueŶĐe ;tLJpiƋueŵeŶt ͳ ��� ), le
ŵilliohŵŵğtƌe doŶŶe diƌeĐteŵeŶt la paƌtie ƌĠelle de l͛iŵpĠdaŶĐe Đoŵpledže de l͛aĐĐuŵulateuƌ à
cette fréquence [52].
2.2.1.2 Temps de repos (period-of-rest)
Le ĐouƌaŶt de dĠĐhaƌge appliƋuĠ à l͛aĐĐuŵulateuƌ est iŶteƌƌoŵpu ďƌutaleŵeŶt Đe Ƌui Đause apƌğs
une certaine durée de repos �, une variation ∆� suƌ la teŶsioŶ de l͛aĐĐuŵulateuƌ. La ƌĠsistaŶĐe
iŶteƌŶe de l͛aĐĐuŵulateuƌ, dite aussi ƌĠsistaŶĐe dLJŶaŵiƋue [ϱϮ], est aloƌs dĠfiŶie paƌ :
�ௗሺ�ሻ =
∆�ሺ�ሻ
�
Equation 2-1
2.2.1.3 Impulsion de courant
Une impulsion de courant ∆� est appliquée après une période de repos ou ajoutée à un courant de
Đhaƌge ou de dĠĐhaƌge dĠjà appliƋuĠ à l͛aĐĐuŵulateuƌ. UŶe ǀaƌiatioŶ ∆� est ensuite observée après
une durée �. Une nouvelle définition de la résistance interne peut alors être établie [53] :
�ௗሺ�ሻ =
∆�ሺ�ሻ
∆�
Equation 2-2
2.2.1.4 Interprétation
Dans ces deux dernières techniques, la résistance interne dépend fortement du temps de repos
T [52]. [52] présente que sur les technologies de batterie au plomb et nickel-cadmium, on a :
si � < ͳͲ ��, �ௗ correspondra au terme � du circuit de Randles amélioré (Figure 1-12),
si � ~ ͳ �, les processus à constantes de temps supérieures à ͳ � influent sur la mesure et
�ௗ dépendra des termes � et �,
si � > ͳ ���, les processus lents s’ajoutent et �ௗ dépendra d’une relation entre �, � et �௧
du circuit de Randles amélioré.
Afin de comprendre la relation entre la grandeur résistive estimée par le simple rapport tension sur
courant et les termes résistifs du ��� de la Figure 1-12, une simulation a été réalisée en se référant
au circuit électrique paramétré sur des cellules A123 ʹ,͵ �ℎ tel que présenté au chapitre précédent
(paragraphe 1.5.3.2.). Un échelon de courant est appliqué en entrée du simulateur. Les valeurs du Page | 28
rapport tension sur courant calculées (�ௗ) apƌğs diffĠƌeŶts teŵps d͛atteŶte soŶt ĐoŵpaƌĠes audž
termes résistifs connus du ��� choisi (Figure 2-12-1). On observe que :
- le terme � associé à la résistance Joule (électrodes et électrolyte) est mesurable pour des durées
inférieures à Ͳ,ͳ �� ce qui nécessite des systèmes de métrologie à fréquences d’acquisition
élevées. Cette grandeur est intéressante vu qu’elle est souvent liée aux ��� et ��� [52] [53]
pour certaines technologies d’accumulateurs.
- une valeur de résistance peut correspondre à la somme des contributions des termes � et �, ce
qui peut s’observer notamment au niveau du coude formé par l’allure de la réponse en tension,
- un temps d’attente long sur la réponse en tension fournit une valeur de résistance plus grande
mais sans sens physique précis.
Figure 2-1 : Estimation de la résistance via le rapport de ∆�
∆�
en utilisant le simulateur et
comparaison avec les valeurs des paramètres du ��� implanté.
2.2.1.5 Exploitation
La ƌĠsistaŶĐe dLJŶaŵiƋue ŵesuƌĠe Ŷ͛est Ŷi uŶe ƌĠsistaŶĐe puƌe Ŷi le ŵodule de l͛iŵpĠdaŶĐe
électrique à une fréquence donnée [52]. Cependant, les deux dernières techniques (temps de repos
et impulsion de courant) citées ci-dessus sont généralement utilisées en raison de leur simplicité de
ŵise eŶ œuǀƌe. Elles ŶĠĐessiteŶt uŶe ǀaƌiatioŶ de ĐouƌaŶt eŶ eŶtƌĠe du sLJstğŵe. DaŶs ĐeƌtaiŶes
appliĐatioŶs ;ǀĠhiĐules ƌoulaŶtͿ Đette ǀaƌiatioŶ est ŶatuƌelleŵeŶt gĠŶĠƌĠe. DaŶs d͛autƌes ;ďatteƌies
des véhicules en charge ou UPS (Uninterruptible Power Supply) en mode de veille), on se permet de
générer une variation de durée juste suffisante pour effectuer les mesures [24].
La quantité obtenue �ௗ a fait l͛oďjet d͛Ġtudes pouƌ dĠteƌŵiŶeƌ uŶe possiďle ƌelatioŶ aǀec les indices
d͛Ġtat ��� et ��� de l͛aĐĐuŵulateuƌ, saŶs pouƌ autaŶt l͛assoĐieƌ à des pƌoĐessus ĠleĐtƌoĐhiŵiƋues
[52][54]. Notamment, il a été montré l͛utilitĠ de Đe paƌaŵğtƌe au diagŶostiĐ du ��� [52][55][56][57]. Page | 29
EtaŶt doŶŶĠes les ĐoŶtƌaiŶtes d͛ĠĐhaŶtilloŶŶage d͛uŶ sLJstğŵe eŵďaƌƋuĠ, Đette ŵĠthode Ŷe seŵďle
pas permettre de déterminer directement la valeur de la résistance � car il faudrait alors
échantillonner à haute fréquence. L͛ĠǀolutioŶ de la ŵesuƌe du teƌŵe � + � peut toutefois
peƌŵettƌe de suiǀƌe l͛ĠǀolutioŶ de Đet iŶdiĐateuƌ d͛Ġtat.
2.2.2 Spectroscopie d’impédance électrique (SIE)
La speĐtƌosĐopie d͛iŵpĠdaŶĐe ĠleĐtƌiƋue ;“IEͿ, appelĠe aussi teĐhŶiƋue d͛aŶalLJse paƌ haƌŵoŶiƋue
(AH) [58][51][59][60], est particulièrement utile et efficace pour étudier la dynamique des
processus électrochimiques et physiques aux interfaces électrode/électrolyte [60]. Elle a également
été utilisée pour caractériser l'impédance d'accumulateurs électriques [61]. Elle permet de
déconvoluer les phénomènes à constantes de temps différentes.
Cette méthode consiste à appliquer une excitation sinusoïdale et à mesurer la réponse de
l͛aĐĐuŵulateuƌ. La solliĐitatioŶ peut ġtƌe eŶ ĐouƌaŶt ou eŶ teŶsioŶ ; on parle alors respectivement
des modes galvanostatique ou potentiostatique.
DaŶs le Đas d͛uŶ essai galvanostatique, le courant continu (nommé aussi courant de polarisation) est
contrôlé et une composante alternative sinusoïdale
i(t) Imax sin(2Sft) lui est superposée. Le
sLJstğŵe ĠtaŶt liŶĠaƌisĠ autouƌ d͛uŶ poiŶt de foŶĐtioŶŶeŵeŶt, la ƌĠpoŶse eŶ teŶsioŶ de
l͛aĐĐuŵulateuƌ est ŵesuƌĠe et ĐoŶsidĠƌĠe de la foƌŵe suiǀaŶte :
v(t) Vmax sin(2Sft M). En utilisant
Đes deudž gƌaŶdeuƌs, l͛iŵpĠdaŶĐe Đoŵpledže de l͛aĐĐuŵulateur est donnée dans le domaine
fréquentiel par :
*exp( ( )) )(
)(
max
max fj
I
V f
Z f
est M Equation 2-3
Dans les deux modes, en balayant une gamme de fréquence donnée, fréquence par fréquence, une
bonne estimation de l'impédance complexe de l͛aĐĐuŵulateuƌ peut ġtƌe oďteŶue.
2.2.3 Vers une rupture inévitable des méthodes classiques
BieŶ Ƌu͛elles soieŶt siŵples et faĐiles à ŵettƌe eŶ œuǀƌe, les ŵĠthodes d͛ideŶtifiĐatioŶ paƌtielle de
l͛iŵpĠdaŶĐe ĠleĐtƌiƋue d͛uŶ aĐĐuŵulateuƌ Ŷ͛oŶt pas la ƌiĐhesse fƌéquentielle nécessaire pour
l͛aŶalLJse fiŶe de soŶ ĐoŵpoƌteŵeŶt.
EŶ Đe Ƌui ĐoŶĐeƌŶe l͛AH, elle ƌeste diffiĐile à utiliseƌ pouƌ des appliĐatioŶs eŵďaƌƋuĠes telles Ƌue
pouƌ les EVs et HEVs où le Đoût de l͛ĠleĐtƌoŶiƋue ŶĠĐessaiƌe à soŶ iŵplaŶtatioŶ ƌeste pƌohibitif.
UŶ autƌe poiŶt faiďle de Đes ŵĠthodes est à souligŶeƌ. EŶ effet, l͛iŵpĠdaŶĐe ĠleĐtƌiƋue est uŶe
gƌaŶdeuƌ iŶtĠƌessaŶte pouƌ oďteŶiƌ des iŶfoƌŵatioŶs suƌ les iŶdiĐes d͛Ġtats de l͛aĐĐuŵulateuƌ.
Toutefois, pour pouvoir suivre leur évolution dans le temps, elle doit être estimée à plusieurs dates
teŵpoƌelles ĐoŶsĠĐutiǀes. Oƌ, aǀeĐ l͛AH paƌ edžeŵple, ĐhaƋue Ŷouǀelle estiŵatioŶ de l͛iŵpĠdaŶĐe
https://hal.archives-ouvertes.fr/tel-01066805/document
G´en´eration de mod`eles num´eriques de surface et
d´etection de changements 3D `a partir d’imagerie
satellite st´er´eoscopique tr`es haute r´esolution
Cyrielle Gu´erin
To cite this version:
Cyrielle Gu´erin. G´en´eration de mod`eles num´eriques de surface et d´etection de changements
3D `a partir d’imagerie satellite st´er´eoscopique tr`es haute r´esolution. Other. Universit´e Ren´e
Descartes - Paris V, 2014. French. .
HAL Id: tel-00953485
https://tel.archives-ouvertes.fr/tel-00953485
Submitted on 28 Feb 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.THESE DE DOCTORAT DE `
l’UNIVERSITE PARIS DESCARTES ´
Sp´ecialit´e : Informatique
Ecole doctorale Informatique, T´el´ecommunications et ´ Electronique (Paris) ´
Pr´esent´ee par
Cyrielle GUERIN
Pour obtenir le grade de
DOCTEUR de l’UNIVERSITE PARIS DESCARTES ´
G´en´eration de Mod`eles Num´eriques de Surface et D´etection de
Changements 3D `a Partir d’Imagerie Satellite St´er´eoscopique
Tr`es Haute R´esolution
soutenue le 18 f´evrier 2014
devant le jury compos´e de :
M. Pascal Monasse Rapporteur
M. Laurent Polidori Rapporteur
M. Andres Almansa Examinateur
M. Bruno Vallet Examinateur
Mme. Nicole Vincent Examinatrice
M. Renaud Binet Encadrant
M. Marc Pierrot-Deseilligny Directeur de th`ese2Remerciements
Avant tout, mes remerciements vont `a Renaud Binet et Marc Pierrot-Deseilligny, initiateurs
et encadrants de ce sujet de th`ese qui m’a captiv´e pendant ces trois ann´ees. Merci `a Marc de
m’avoir fait d´ecouvrir MicMac et la programmation dynamique que j’utilise maintenant partout !
Merci Renaud pour ton enthousiasme, tes nombreuses id´ees au cours de la th`ese et surtout pour
m’avoir beaucoup appris dans le domaine de l’imagerie optique.
Je tiens aussi `a remercier la DGA d’avoir financ´e ces travaux. Participer `a ce programme a ´et´e
tr`es motivant.
Merci `a Philippe Blanc, toujours de tr`es bon conseil et `a Bruno Vallet pour le travail tr`es enrichissant
que nous avons r´ealis´e ensemble.
Merci `a toute l’´equipe du CALTECH pour m’avoir invit´ee dans vos murs et fait d´ecouvrir
d’autres pistes de recherche ! Merci S´ebastien pour toute l’aide que tu m’as apport´ee durant
ce stage mais aussi pour m’avoir fait visiter ce petit bout des Etats–Unis ! J’esp`ere que notre ´
collaboration ne s’arrˆetera pas l`a.
Je tiens aussi `a remercier les enseignants du Master 2 de l’EGID et surtout Samia Boukir et
Nesrine Chehata. Merci de m’avoir incit´ee `a continuer dans la recherche quand je n’´etais qu’´etudiante
en master ! J’esp`ere Nesrine qu’on se retrouvera encore souvent pour des conf´erences,
IGARSS a ´et´e un tr`es bon moment.
Je n’oublie sˆurement pas tout le labo TSE avec lequel j’ai travaill´e pendant ces trois ann´ees.
Merci bien sˆur `a Philippe pour m’avoir accueillie dans ce labo et m’avoir encourag´ee tout au
long de la th`ese. Un grand bravo `a Adrien pour m’avoir cˆotoy´ee dans le mˆeme bureau pendant
plus de 2 ans ! Tu resteras mon irrempla¸cable coll`egue de bureau et ami.
Merci `a Thierry d’avoir toujours eu confiance en moi et de m’avoir soutenu tous les jours, bon
3ou moins bon...Merci `a B´eatrice pour nos collaborations sur divers projets. Merci `a Philippe,
Rodolphe et Eric pour avoir accept´e de relire cette th`ese. Finalement merci `a vous tous, ¸ca a ´et´e
un r´eel plaisir de travailler avec vous dans ce labo.
Merci aussi `a tous ceux que j’ai rencontr´ee durant cette th`ese. Merci `a Franck pour d’inoubliables
conversations et fous rires si d´ecompressants sur la ligne C3 ! Je te souhaite le meilleur pour ta
nouvelle carri`ere et j’esp`ere qu’on ne se perdra pas de vue. Bien sˆur, je remercie Boris, rencontr´e
de fa¸con si inopin´e et qui s’est r´ev´el´e ˆetre un ami tr`es pr´ecieux, merci d’avoir pass´e ces heures `a
m’´epauler pour mon article, tu m’as beaucoup apport´e. You rock !
Merci enfin `a mes parents et `a mes soeurs, vous m’avez soutenue durant toutes ces ann´ees
d’´etudes. J’ai pu compter sur votre soutien inflexible lors de mes plus grandes p´eriodes de stress.
Du fond du coeur, merci. C’est `a vous que je d´edie cette th`ese.
4R´esum´e
L’imagerie satellite permet aujourd’hui l’acquisition d’un nombre croissant de donn´ees dont
l’augmentation des r´esolutions spatiale et temporelle permet de caract´eriser de plus en plus finement
une sc`ene et son ´evolution. Dans ce contexte, les m´ethodes de d´etection des changements
apparus entre deux sc`enes sont particuli`erement ´etudi´ees. Elles sont g´en´eralement bas´ees sur
les diff´erences radiom´etriques entre les images. Cependant, ces m´ethodes s’av`erent souvent peu
robustes `a des changements radiom´etriques non pertinents tels que ceux induits par la variation
des conditions d’acquisition des images.
L’objectif de cette th`ese est ainsi de d´evelopper une m´ethode alternative, bas´ee sur la recherche
des changements d’´el´evation de la sc`ene. L’´el´evation repr´esente en effet une information pertinente
et adapt´ee, notamment dans un contexte de d´etection des changements de type urbain
(construction, destruction ou modification d’infrastructures).
Pour r´epondre `a des besoins en analyse d’image qui n´ecessitent des r´esultats rapides et fiables,
la m´ethode que nous proposons est une chaˆıne de traitements compl`ete et automatique bas´ee
sur l’exploitation de couples d’image satellites st´er´eoscopiques tr`es haute r´esolution permettant
la g´en´eration et la comparaison de Mod`eles Num´eriques de Surface (MNS). Afin de limiter les
fausses alarmes de changements dues aux erreurs li´ees `a la g´en´eration des MNS, une ´etape cl´e
de cette th`ese a consist´e `a augmenter la pr´ecision des MNS, notamment `a travers la prise en
compte des zones d’occlusions et de mauvaise corr´elation.
La m´ethode de g´en´eration des MNS `a ainsi ´et´e am´elior´ee et une technique innovante de fusion
des deux MNS provenant du mˆeme couple d’images a ´et´e d´evelopp´ee. La comparaison des MNS
g´en´er´es avec un MNS LiDAR montre que notre approche permet une nette augmentation de la
qualit´e des MNS, les erreurs de corr´elation sont r´eduites tandis que les zones d’occlusion sont
5pr´ecis´ement localis´ees.
La m´ethode de d´etection des changements d’´el´evation est, quant `a elle, bas´ee sur une labellisation
par optimisation des pixels du MNS diff´erentiel calcul´e `a partir des MNS produits `a chaque
date. Cette ´etape permet de mettre en ´evidence les vrais changements de la sc`ene parmi le bruit
r´esiduel des MNS.
Les r´esultats obtenus sur diff´erents sites test´es montrent que plus de 80% des changements de
taille sup´erieure `a 15 pixels x 15 pixels (ou 100 m2 avec des images tr`es haute r´esolution) sont
d´etect´es par notre m´ethode, avec moins de 20% d’erreurs. Nous montrons cependant que ces
r´esultats d´ependent principalement du param`etre de r´egularisation de la d´etection des changements,
qui contrˆole le taux de fausses alarmes par rapport au taux de bonnes d´etections du
r´esultat.
6Abstract
The growing amount of satellite data, increasingly resolved spatially and temporally, represents
a high potential of information allowing the accurate characterization of the evolution
of an area of interest. For this reason, automatic analysis techniques such as change detection
methods are widely investigated. Most of them are based on radiometric changes between
remote sensed optical images. These methods are however very sensitive to a significant number
of irrelevant changes such as those due to the variation of the geometrical conditions between
two different acquisitions.
The objective of this work is then to develop an alternative method based on the elevation
change detection. The advantage of using the elevation is that this information is particularly
relevant and well adapted in a context of urban monitoring where the elements of interest
correspond to buildings that can be constructed, modified or destroyed between two dates.
In order to satisfy new needs in image analysis which require quick and reliable results, our
method is a complete and automatic processing flow based on the analysis of high resolution
satellite stereoscopic couples and the generation of Digital Surface Models (DSM).
Stereoscopic DSMs, however, generally suffer from a high number of correlation errors leading
to false alarms in the final change detection map. One of the main contribution of this work
consisted in increasing the DSM accuracy, especially through a better handling of the occlusion
and miss-correlation areas. For this purpose, the image matching technique has been improved
and all DSMs computed from the same stereoscopic couple are then fusioned through a
new approach, based on an optimization method. The comparison between our DSM with a
LiDAR-based DSM indicates that our method largely improves the DSM quality, the amount
of correlation errors is decreased while the occlusion areas are accurately localized.
The change detection method itself is based on the labelization of the pixels of the differential
7DSM computed from the DSMs generated at each date of interest. This step, performed through
another optimization process, enables to bring forward the relevant changes among the residual
noise of the DSMs. The results, obtained for several experimental areas, show that more than
80% of the changes larger than 15 pixels x 15 pixels (100 m m2 with high resolution images) are
detected with our method, with less than 20% of false alarms. We also show that these results
mainly depend on the regularization parameter which controls the balance between the amount
of false alarms towards the amount of true detections in the final results.
8Table des mati`eres
Introduction G´en´erale 13
1 Etudes bibliographiques et strat´egie adopt´ee ´ 17
1.1 La d´etection de changements : ´etat de l’art . . . . . . . . . . . . . . . . . . . . . 18
1.1.1 M´ethodes de d´etection des changements radiom´etriques . . . . . . . . . . 18
1.1.2 M´ethodes alternatives : d´etection des changements d’´el´evation . . . . . . 19
1.2 M´ethodes de restitution 3D : ´etat de l’art . . . . . . . . . . . . . . . . . . . . . . 23
1.2.1 Mise en correspondance d’images par m´ethode d’optimisation . . . . . . . 25
1.2.2 Caract´eristiques des corr´elateurs . . . . . . . . . . . . . . . . . . . . . . . 27
1.2.3 Les strat´egies de mise en correspondance . . . . . . . . . . . . . . . . . . 29
1.2.4 Les outils de restitution 3D existants . . . . . . . . . . . . . . . . . . . . . 33
1.3 Description g´en´erale de la chaˆıne de traitements d´evelopp´ee . . . . . . . . . . . . 35
1.4 Capteurs utilis´es et donn´ees d’entr´ee . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2 Outils et m´ethodes n´ecessaires `a la chaˆıne de traitements 41
2.1 Co–localisation des images : utilisation d’un outil de spatio–triangulation . . . . 42
2.1.1 Contexte et objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.1.2 Principe de la spatio–triangulation . . . . . . . . . . . . . . . . . . . . . . 43
2.2 Outil pour la r´esolution de probl`emes de labellisation . . . . . . . . . . . . . . . . 47
2.2.1 Trois probl`emes de labellisation . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2.2 Les m´ethodes d’optimisation existantes . . . . . . . . . . . . . . . . . . . 49
2.2.3 Description de l’algorithme s´electionn´e . . . . . . . . . . . . . . . . . . . . 55
2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9TABLE DES MATIERES `
3 G´en´eration de Mod`eles Num´eriques de Surface sur une grille r´eguli`ere `a partir
de couples st´er´eoscopiques 61
3.1 Description de la strat´egie de mise en correspondance adopt´ee . . . . . . . . . . . 62
3.1.1 Technique de mise en correspondance . . . . . . . . . . . . . . . . . . . . 62
3.1.2 Fonction d’optimisation et r´egularisation . . . . . . . . . . . . . . . . . . . 63
3.1.3 Prise en compte des zones d’occlusion . . . . . . . . . . . . . . . . . . . . 65
3.2 D´eveloppement d’une m´ethode de basculement des MNS sur une grille g´eographique
r´eguli`ere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.2.1 Interpolation des points de la grille r´eguli`ere . . . . . . . . . . . . . . . . . 66
3.2.2 Conditions au calcul de l’´el´evation d’un point . . . . . . . . . . . . . . . . 67
3.3 Am´elioration des MNS : d´eveloppement d’une m´ethode de fusion des MNS . . . 72
3.3.1 Erreurs des MNS asym´etriques . . . . . . . . . . . . . . . . . . . . . . . . 72
3.3.2 M´ethode de fusion des MNS asym´etriques . . . . . . . . . . . . . . . . . . 74
3.4 Qualit´e et pr´ecision des MNS obtenus . . . . . . . . . . . . . . . . . . . . . . . . 82
3.4.1 Co–localisation LiDAR et MNS . . . . . . . . . . . . . . . . . . . . . . . . 82
3.4.2 Crit`eres de qualit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.5 Application au cas de la multi–st´er´eoscopie . . . . . . . . . . . . . . . . . . . . . 87
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4 D´eveloppement d’une m´ethode de d´etection des changements d’´el´evation 93
4.1 Calcul et analyse du MNS diff´erentiel . . . . . . . . . . . . . . . . . . . . . . . . 94
4.2 M´ethode de d´etection des changements . . . . . . . . . . . . . . . . . . . . . . . . 97
4.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5 Exp´erimentation et discussion des r´esultats de la m´ethode de d´etection des
changements d’´el´evation 101
5.1 Pr´esentation des zones de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.1.1 Phoenix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.1.2 Christchurch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.1.3 R´egion de Tohoku : analyse d’une zone catastroph´ee . . . . . . . . . . . . 105
5.2 M´etriques d’analyse des r´esultats de la d´etection de changements . . . . . . . . . 109
5.2.1 Variables calcul´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
10TABLE DES MATIERES `
5.2.2 M´etriques d’analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.3 Analyse de sensibilit´e des r´esultats obtenus . . . . . . . . . . . . . . . . . . . . . 112
5.3.1 Influence des param`etres de la m´ethode sur les r´esultats . . . . . . . . . . 113
5.3.2 Impact de la qualit´e des donn´ees d’entr´ee . . . . . . . . . . . . . . . . . . 118
5.3.3 Int´erˆet d’une m´ethode globale : comparaison avec un filtrage local . . . . 121
5.3.4 Influence du paysage de la zone d’´etude . . . . . . . . . . . . . . . . . . . 124
5.4 Analyse des r´esultats sur la zone de Sendai . . . . . . . . . . . . . . . . . . . . . 127
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6 Conclusion g´en´erale 133
6.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
6.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Table des figures 139
Liste des tableaux 143
Bibliographie 145
11TABLE DES MATIERES `
12Introduction G´en´erale
Depuis le lancement des premiers satellites d´edi´es `a la t´el´ed´etection spatiale, leur nombre,
leur r´esolution et leur capacit´e d’acquisition n’ont de cesse d’augmenter. Aujourd’hui, Pl´eiades
1A et 1B fournissent des images `a 70 cm de r´esolution tandis que WorldView-3 est attendu
avec une r´esolution inf´erieure `a 50 cm. Ce nombre de donn´ees, d’une qualit´e toujours meilleure,
permet d’acc´eder `a une grande quantit´e d’informations pour caract´eriser et analyser une sc`ene
et son ´evolution `a de tr`es fines ´echelles spatiales et temporelles.
Pour traiter ces nouveaux flux de donn´ees, les m´ethodes permettant l’analyse de s´eries multi–
temporelles d’images sont alors particuli`erement int´eressantes et en fort d´eveloppement. Les
applications `a ces ´etudes sont tr`es nombreuses, `a commencer par l’agriculture, pour caract´eriser
l’´evolution des sols, jusqu’aux g´eosciences, pour l’observation des glaciers en termes de volume,
d’´etendue ou de vitesse [1], pour la surveillance des volcans [2] ou encore pour les mesures des
d´eformations tectoniques [3, 4].
L’augmentation drastique de la r´esolution des images permet aussi aujourd’hui une observation
beaucoup plus fine des milieux urbains pour une meilleure analyse g´eographique et d´emographique
des villes `a travers la mise `a jour des plans cadastraux ou autres bases de donn´ees [5]
mais aussi pour la cartographie de d´egˆats mat´eriels (en terme de bˆatiments ou d’infrastructures
d´etruits) apr`es une catastrophe majeure telle qu’un s´eisme, un tsunami, un glissement de
terrain, un ´ev´enement m´et´eorologique ou encore une guerre [6]. Dans ce contexte, les m´ethodes
de d´etection des changements, automatiques ou semi–automatiques, sont particuli`erement
avantageuses.
Les algorithmes de d´etection de changements sont traditionnellement bas´es sur l’´etude
13INTRODUCTION GEN´ ERALE ´
d’images radars ou optiques. En imagerie optique, la plupart des m´ethodes s’int´eressent aux
diff´erences de r´eflectances entre les donn´ees acquises `a des dates t1 et t2 [7]. Cependant, les
r´esultats montrent que, dans un contexte de suivi des infrastructures urbaines, de nombreuses
fausses alarmes ou changements non pertinents sont g´en´er´es par ces m´ethodes de d´etection
2D. Ces alarmes sont g´en´eralement dues aux diff´erentes conditions d’acquisition des images
(conditions d’´eclairement ou d’atmosph`ere, azimut solaire, saison ou encore angles d’acquisition
des images) lors des prises de vue ainsi qu’`a de nombreux changements radiom´etriques tels que
l’´evolution des sols, les r´enovations de toitures ou de revˆetement de sol.
Le travail de th`ese pr´esent´e ici s’inscrit dans cette probl´ematique de d´etection de changements.
Dans le but de s’affranchir des changements radiom´etriques, nous nous int´eressons
aux changements d’´el´evation de type urbain (directement reli´es au bˆati) et dans un contexte
de suivi temporel ou de crise majeure n´ecessitant des r´esultats fiables et rapides. Afin de
r´epondre au mieux `a cette probl´ematique, la technique propos´ee est bas´ee enti`erement sur les
diff´erences d’´el´evation de la sc`ene entre les deux dates d’int´erˆet. En effet, cette information,
dont la variation en milieu urbain est g´en´eralement li´ee `a des changements du bˆati, est robuste
`a la plupart des changements 2D et est donc particuli`erement adapt´ee `a cet objectif [8].
Aujourd’hui, diff´erents syst`emes d’acquisition permettent d’acc´eder `a l’information d’´el´evation
d’une sc`ene : les lasers a´eroport´es (Airborne Laser Scaning ou ALS), le LiDAR (Light Detection
And Ranging), les satellites radar ou encore l’imagerie st´er´eoscopique, a´erienne ou spatiale, `a
travers la g´en´eration de Mod`eles Num´eriques de Surface (MNS). Du fait de leur tr`es haute
r´esolution, leur large capacit´e d’acquisition et la rapidit´e de livraison et de traitement de ces
donn´ees, les satellites optiques produisant des images st´er´eoscopiques apparaissent comme la
meilleure r´eponse pour la d´etection des changements d’´el´evation. De plus, le coˆut de ces images
est relativement faible compar´e aux autres syst`emes d’acquisition, voire nulle lors d’une crise
majeure car ces images sont alors gratuitement mises `a disposition des agences cartographiques `a
travers la Charte Internationale Espace et Catastrophes Majeures, sign´ee par de nombreux pays.
L’objectif de ce travail est ainsi de d´evelopper et de tester, dans un contexte urbain, une
m´ethode de d´etection de changements innovante et bas´ee sur les changements d’´el´evation d’une
sc`ene entre deux dates. Afin de r´epondre de fa¸con adapt´ee `a la probl´ematique de quantification
14INTRODUCTION GEN´ ERALE ´
de d´egˆats apr`es une catastrophe, la technique de d´etection de changements d´evelopp´ee est une
chaˆıne de traitements compl`ete et automatique, d´ebutant par le recalage des donn´ees brutes et
fournissant, en sortie, une carte g´eor´ef´erenc´ee des changements d´etect´es.
Au cours de cette th`ese, nous d´etaillerons toutes les ´etapes de cette chaˆıne de traitements,
leurs objectifs et leurs r´esultats.
Dans une premi`ere partie, nous montrerons l’int´erˆet de la recherche des changements d’´el´evation
(ou 3D) par rapport aux changements radiom´etriques `a travers un ´etat de l’art de ces m´ethodes.
Nous ´etudierons aussi les m´ethodes de g´en´eration de MNS `a partir d’images st´er´eoscopiques
(chapitre 1), ´etape primordiale de la chaˆıne de traitements.
Dans une seconde partie, nous d´ecrirons les outils existants n´ecessaires `a notre chaˆıne de
traitements, qui consistent en un outil de recalage des images, ´etape indispensable `a tout
traitement g´eom´etrique des images et un outil de r´esolution de probl`emes de labellisation par
programmation dynamique (chapitre 2). Cet algorithme est en effet central pour trois ´etapes de
calcul de notre chaˆıne de traitements.
Puis, dans le chapitre 3, nous d´etaillerons la m´ethode compl`ete de g´en´eration des MNS. Cette
m´ethode, qui d´ebute par la mise en correspondance des images st´er´eoscopiques pr´esente ensuite
deux innovations majeures permettant d’am´eliorer la pr´ecision des MNS en vue de la d´etection
des changements.
La technique de d´etection de changements 3D, bas´ee sur une classification de la carte des
diff´erences d’´el´evation par une m´ethode de labellisation, sera finalement expos´ee dans le chapitre
4.
Enfin, la derni`ere partie aura pour objectif d’illustrer l’int´erˆet de la chaˆıne de traitements
d´evelopp´ee et d’analyser les r´esultats obtenus dans diff´erentes sc`enes urbaines, que ce soit dans
un contexte de mise `a jour des bases de donn´ees ou pour la caract´erisation et la quantification
rapide des d´egˆats apr`es une catastrophe majeure (chapitre 5).
15INTRODUCTION GEN´ ERALE ´
16Chapitre 1
Etudes bibliographiques et strat´egie
´
adopt´ee
Dans le domaine de la d´etection de changements par imagerie satellite, de nombreuses m´ethodes
existent mais elles sont principalement bas´ees sur l’exploitation de la radiom´etrie des
images tandis que tr`es peu de m´ethodes utilisent l’information 3D de la sc`ene. C’est cette approche
que nous avons choisi de d´evelopper dans notre chaˆıne de traitements car elle se r´ev`ele
particuli`erement pertinente pour la d´etection des changements de type bˆati, dans un contexte
urbain.
La chaˆıne de traitements propos´ee n´ecessite ainsi une ´etape de reconstruction 3D de la sc`ene.
Cependant, les contraintes li´ees aux acquisitions satellites rendent le calcul de la mise en correspondance
des images particuli`erement complexe et de multiples techniques ont ´et´e d´evelopp´ees
afin d’am´eliorer leur robustesse.
Dans une premi`ere partie de ce chapitre, nous pr´esenterons quelques unes des m´ethodes classiques
de d´etection de changements radiom´etriques. Nous d´etaillerons ensuite plus particuli`erement les
m´ethodes d´evelopp´ees pour la d´etection des changements d’´el´evation et nous montrerons leur
int´erˆet, notamment en milieu urbain. Puis, dans une seconde partie, nous analyserons les m´ethodes
de restitution 3D existantes et l’int´erˆet de certaines techniques pour notre chaˆıne de
traitements.
Enfin, dans une derni`ere partie, nous d´etaillerons toutes les ´etapes de notre chaˆıne de traitements
et les donn´ees utilis´ees lors des phases exp´erimentales.
171.1. LA DETECTION DE CHANGEMENTS : ´ ETAT DE L’ART ´
1.1 La d´etection de changements : ´etat de l’art
1.1.1 M´ethodes de d´etection des changements radiom´etriques
Les m´ethodes traditionnelles en d´etection de changements sont bas´ees sur la comparaison
temporelle des radiom´etries qui peut ˆetre effectu´ee directement `a l’´echelle du pixel. Un large
inventaire des m´ethodes les plus connues est fourni par Radke [7].
Les m´ethodes les plus simples et rapides `a impl´ementer sont celles utilisant les diff´erences
radiom´etriques ou les rapports (ratios) entre les pixels correspondant en t1 et t2 [7, 9, 10].
Cependant, ces m´ethodes n´ecessitent souvent des seuillages ou des r`egles de d´ecisions et restent
tr`es sensibles au bruit des images, aux erreurs de recalage et surtout aux conditions d’acquisition
des images, diff´erentes entre t1 et t2, qui g´en`erent de nombreuses alarmes de changements,
g´en´eralement non pertinentes.
D’autres m´ethodes, de type statistique, sont aussi employ´ees `a l’´echelle du pixel [7, 9]. Le
but est de d´ecider, pour chaque pixel, s’il correspond `a un changement ou non en fonction de
l’hypoth`ese changement ou non changement qui d´ecrit le mieux son intensit´e. Ces hypoth`eses
sont pos´ees `a partir des variations d’intensit´e des pixels dans la s´erie temporelle [7].
L’analyse par composantes principales (PCA) est aussi largement utilis´ee [10–12]. Elle permet
de r´eduire la dimension spectrale des images aux composantes les plus riches en information et
donc o`u les changements les plus importants ont la plus grande probabilit´e d’apparaˆıtre.
Cependant, les hypoth`eses, n´ecessaires pour la mise en oeuvre de ces m´ethodes, proviennent
souvent d’une premi`ere analyse des changements recherch´es et limitent ainsi l’automatisation
de ces m´ethodes.
Les m´ethodes de classification des pixels sont aussi tr`es d´evelopp´ees. Deux m´ethodes sont
principalement utilis´ees : la post classification et la classification directe multi–date [13].
La premi`ere consiste `a classer les pixels, de fa¸con supervis´ee ou non, sur chaque image ind´ependamment
puis `a comparer les classes. Le probl`eme de cette approche est l’impact important
d’une erreur de classe dans l’une des images sur le r´esultat final. Cette m´ethode est ainsi plutˆot
utilis´ee pour la d´etection de changements `a grande ´echelle comme pour l’occupation des sols
par exemple [7, 9, 10, 12].
18CHAPITRE 1. ETUDES BIBLIOGRAPHIQUES ET STRAT ´ EGIE ADOPT ´ EE´
La classification directe multi–dates n´ecessite la concat´enation des images, puis la classification,
souvent supervis´ee, des pixels selon leur valeur dans toutes les bandes afin de faire apparaˆıtre
les changements [11]. Enfin, les images multi–spectrales permettent aussi l’utilisation d’outils
tels que les Support Vector Machine (SVM) [14]. Les valeurs spectrales de chaque pixel sont
alors repr´esent´ees par un vecteur dans l’espace temporel, la magnitude et la direction de ces
vecteurs permettent le classement des pixels en changement ou non changement dans l’image.
Ces m´ethodes de classification s’av`erent souvent plus robustes aux erreurs de recalage ou au
bruit des images mais elle n´ecessitent souvent des processus supervis´es.
Aujourd’hui, avec l’augmentation de la r´esolution spatiale des images, l’int´egration d’informations
sur le voisinage des pixels devient indispensable car un objet est maintenant repr´esent´e
par plusieurs pixels dans l’espace image. L’image peut alors ˆetre analys´ee de fa¸con plus efficace
en consid´erant cette information spatiale [11, 12, 15]. Ainsi, Bruzzone [16] utilise une approche
bas´ee sur les Champs de Markov Al´eatoires (Markov Random Fields, MRF) afin de mod´eliser les
probabilit´es d’appartenance d’un pixel `a une classe en fonction de son voisinage. Al–Khudhairy
[15] se base sur la forme et l’homog´en´eit´e des objets afin de les classer.
Ces approches, de plus en plus r´epandues, am´eliorent la robustesse des algorithmes au bruit et
aux distorsions g´eom´etriques des images mais sans pour autant supprimer la sensibilit´e `a tous
les changements radiom´etriques non pertinents tels que les variations de r´eflectance des surfaces,
l’´evolution des sols ou des revˆetements d’infrastructures.
1.1.2 M´ethodes alternatives : d´etection des changements d’´el´evation
Derni`erement, de nouvelles approches, alternatives `a la d´etection de changements 2D, ont
´emerg´e. Leur but est de concentrer la d´etection sur les changements d’´el´evation de la sc`ene
tout en ´etant plus robuste aux conditions d’acquisition des images ou aux changements non
pertinents qui correspondent souvent `a des changements 2D. Dans le cadre d’une d´etection des
changements urbains de type bˆati, ces m´ethodes apparaissent donc particuli`erement appropri´ees.
Les donn´ees d’entr´ee utilis´ees pour obtenir cette information d’´el´evation proviennent alors
de campagnes LiDAR, de lasers a´eroport´es ou plus fr´equemment d’imagerie st´er´eoscopique,
spatiale ou a´erienne [17, 18].
Ces techniques de d´etection des changements 3D peuvent ˆetre divis´ees en deux cat´egories
191.1. LA DETECTION DE CHANGEMENTS : ´ ETAT DE L’ART ´
principales : les techniques image `a base de donn´ees et les techniques image `a image.
Les techniques dites image–base de donn´ees consistent g´en´eralement `a comparer une base
de donn´ees vecteur, contenant les empreintes de bˆatiments (telles que des donn´ees cadastrales)
et une image de l’´el´evation de tous les points de la sc`ene. Ces techniques sont les plus utilis´ees
en d´etection de changements car elles sont n´ecessaires pour la mise `a jour automatique ou
semi–automatique de bases de donn´ees d´ej`a existantes.
La strat´egie g´en´eralement adopt´ee dans ce cas est l’extraction des bˆatiments sur la carte
d’´el´evation et la comparaison des empreintes obtenues avec la base de donn´ees initiale afin de
constater la pr´esence ou non du bˆatiment `a la date de la base de donn´ees [5, 19, 20].
L’extraction des bˆatiments est alors le point sensible de la m´ethode et peut ˆetre effectu´ee, selon
le type de donn´ees d’entr´ee, par un algorithme d’extraction de structures dans un nuage de
points g´en´er´e par des donn´ees laser [18], par des m´ethodes de classification `a partir de MNS et
de donn´ees multispectrales [19, 21] ou bien par l’extraction des contours 2D des bˆatiments sur
un MNS afin de comparer les segments obtenus avec la base de donn´ees vecteur [5]. Cette ´etape
d’extraction est particuli`erement sensible car une erreur peut g´en´erer une fausse diff´erence entre
la base de donn´ees et les empreintes calcul´ees, notamment lorsque la carte des ´el´evations de la
sc`ene est g´en´er´ee `a partir d’images, plus bruit´ees que les donn´ees laser. De mˆeme, l’´etape de
comparaison n´ecessite g´en´eralement que les donn´ees vecteur et image soient tr`es pr´ecis´ement
recal´ees. Des post–filtrages sont souvent appliqu´es sur les extractions de bˆatiment afin de
compenser ce type d’erreur, mais ces filtrages peuvent alt´erer la d´etection des changements les
plus petits, tels que les modifications apport´ees `a un bˆatiment.
Enfin, l’inconv´enient majeur de ces techniques r´eside dans le fait que les bases de donn´ees
cadastrales sont tr`es rarement disponibles et mises `a jour, rendant ce type de m´ethode totalement
inadapt´e pour la quantification des d´egˆats apr`es une catastrophe majeure par exemple [19].
Les techniques image `a image repr´esentent alors la seule alternative lorsqu’aucune donn´ee
externe n’est disponible ou valide. Elles consistent `a calculer la diff´erence entre deux images
d’´el´evation acquises aux dates t1 et t2 afin de mettre en ´evidence les changements d’´el´evation
apparus.
Cette m´ethode est largement utilis´ee pour des probl´ematiques de g´eoscience telles que l’´etude
20CHAPITRE 1. ETUDES BIBLIOGRAPHIQUES ET STRAT ´ EGIE ADOPT ´ EE´
d’objets g´eologiques comme les volcans [2] ou les glaciers [1], la mesure des mouvements
topographiques ou des glissements de terrain [3, 4].
Dans ce contexte de surveillance des milieux, il est souvent n´ecessaire d’acqu´erir des s´eries
temporelles compos´ees de nombreuses images afin de suivre les variations sur une grande
p´eriode de temps. Les donn´ees employ´ees sont alors tr`es souvent des donn´ees satellitaires ou
a´eriennes qui permettent d’acqu´erir des sc`enes sur de vastes emprises terrain.
Pour des applications en g´eoscience, les variations recherch´ees sont typiquement de tr`es
basse fr´equence spatiale et de faible amplitude altim´etrique, visibles `a grande ´echelle et donc
facilement d´etectables par une simple diff´erence entre les cartes d’´el´evation, g´en´er´ees `a basse
ou moyenne r´esolution [3, 4]. Au contraire, dans le contexte urbain dans lequel se place ce
travail, les changements recherch´es sont g´en´eralement de tr`es haute fr´equence spatiale et de
forte amplitude, n´ecessitant une pr´ecision de d´etection qui ne peut ˆetre obtenue qu’avec des
images tr`es haute r´esolution. Les m´ethodes d´evelopp´ees pour la basse ou moyenne r´esolution
ne sont pas adapt´ees `a cette probl´ematique car il est alors n´ecessaire de mettre en ´evidence les
changements recherch´es parmi les nombreuses fausses alarmes g´en´er´ees `a haute ou tr`es haute
r´esolution spatiale [8, 22].
Parmi les m´ethodes de d´etection image–image `a tr`es haute r´esolution, deux types de techniques
sont appliqu´es : les techniques semi–automatiques, bas´ees sur l’utilisation d’informations
multi–spectrales ou contextuelles telles que la taille ou la forme des objets ou encore sur
l’utilisation de zones d’apprentissage et les techniques enti`erement automatiques.
Jung [23] propose une m´ethode semi–automatique qui utilise des MNS g´en´er´es par imagerie
st´er´eoscopique a´erienne. Dans une premi`ere ´etape, un algorithme de focusing permet de
rechercher les zones ayant probablement chang´e grˆace `a la comparaison des MNS de chaque
date. Puis une seconde ´etape permet, pour chaque date, de classer ces zones d’int´erˆet selon
les labels ”bˆatiment” ou ”non–bˆatiment” `a l’aide d’arbres de d´ecision g´en´er´es `a partir de zones
d’apprentissage. Les deux segmentations ainsi obtenues sont alors compar´ees pour retrouver les
changements du bˆati. Avec ce type de m´ethode, la qualit´e de la d´etection d´epend alors de chacune
des segmentations et ne permet pas de retrouver les modifications apport´ees `a un bˆatiment.
Aujourd’hui, peu d’´etudes portent sur la d´etection des changements d’´el´evation entre deux
211.1. LA DETECTION DE CHANGEMENTS : ´ ETAT DE L’ART ´
MNS g´en´er´es `a partir d’images satellites st´er´eoscopiques tr`es haute r´esolution.
En effet, malgr´e les avantages qu’apporte la haute r´esolution temporelle de ces images qui
sont aussi moins on´ereuses qu’une campagne d’acquisition a´erienne, leur r´esolution reste
beaucoup plus basse que celle des images a´eriennes (aujourd’hui WorldView–1 atteins 50 cm de
r´esolution nadir lorsque les images a´eriennes ont une r´esolution de l’ordre du d´ecim`etre). De
plus, les images a´eriennes sont plus contrast´ees que les images satellites permettant une mise
en correspondance plus efficace pour la g´en´eration de MNS pr´ecis. Enfin, leur acquisition quasi
nadir permet de limiter les zones d’occlusion dans les images.
Ainsi, les MNS produits `a partir de couples d’images satellites souffrent de plus nombreuses
erreurs de corr´elation et de zones d’occlusion par rapport `a ceux produits par l’a´erien, erreurs
se propageant souvent sous forme de fausses alarmes sur les cartes finales de d´etection de
changements.
Afin de r´eduire l’impact des erreurs de MNS dans le MNS diff´erentiel, Tian [8] propose
le calcul d’une diff´erence robuste entre les MNS des deux dates d’acquisition qui se traduit
par l’affectation, pour chaque pixel (i, j) de l’image des diff´erences, de la diff´erence minimale
obtenue entre le pixel du MNS `a t1 en (i, j) et un pixel du MNS t2 appartenant `a une fenˆetre de
taille d´efinie et centr´ee sur le pixel (i, j). Puis, dans une seconde ´etape, la carte des diff´erences
obtenue est analys´ee par une extraction de contours suivie par un affinage de formes par un
algorithme de box-fitting.
Dans une autre approche, Tian [24] propose, apr`es le calcul de la diff´erence robuste, l’application
d’un masque des zones d’ombre, bas´e sur l’exploitation des bandes multispectrales tel que
l’a impl´ement´ee Marchant [25]. Ce masque est alors combin´e `a un masque regroupant les
corr´elations de faible coefficient obtenues lors de la g´en´eration des MNS. La diff´erence masqu´ee
ainsi obtenue est alors segment´ee puis les ´el´ements mis en ´evidence sont filtr´es `a partir de
crit`eres de tailles et de formes d´ecrits par Chaabouni–Chouayakh [22], afin de mieux s´eparer les
changements appartenant au bˆati des fausses erreurs.
Cette approche permet la d´etection de 60% `a 80% des objets de plus de 100 m2
et de 2 m `a
3 m d’´el´evation diff´erentielle, respectivement et avec 50% `a 15% de fausses alarmes.
Plus r´ecemment, Tian [26] a am´elior´e cette approche grˆace `a l’ajout d’un indicateur de
changements calcul´e directement entre les images panchromatiques ayant permis la g´en´eration
22CHAPITRE 1. ETUDES BIBLIOGRAPHIQUES ET STRAT ´ EGIE ADOPT ´ EE´
des MNS. Cet indicateur de changements est bas´e sur l’analyse de l’´evolution des statistiques
locales d’une image entre deux dates. Le r´esultat de la fusion des informations obtenues par la
diff´erence robuste segment´ee et par les indicateurs de changements radiom´etriques est ensuite
filtr´e `a partir des mˆemes crit`eres de formes et de tailles. Les r´esultats montrent alors de 55% `a
93% des changements d´etect´es avec 45% `a 16% de fausses alarmes.
Cependant, si les r´esultats de ces m´ethodes apparaissent prometteurs, les nombreux seuils et
crit`eres n´ecessaires peuvent limiter les changements d´etectables `a certaines formes et tailles.
Enfin, Reinartz [6] effectue une segmentation des images aux dates t1 et t2 en utilisant une
m´ethode de classification bas´ee sur le IR–MAD (Iteratively Reweighted Multivariate Alteration)
d´evelopp´ee par Nielsen [27]. Les r´esultats de segmentation aux deux dates sont alors associ´es
avec le MNS diff´erentiel afin de d´ecider, pour chaque r´egion segment´ee, si elle correspond `a des
bˆatiments d´etruits ou nouveaux.
En conclusion de cette ´etude, nous noterons que, `a notre connaissance, aucune m´ethode
totalement automatique n’existe pour la d´etection des changements d’´el´evation `a partir d’imagerie
satellite seule, sans ajout d’informations externes ou contextuelles. Pourtant, la capacit´e
de r´eactivit´e des satellites face `a une crise, leur agilit´e pour la st´er´eoscopie ainsi que leur r´esolution
inf´erieure au m`etre sont des atouts majeurs pour des probl´ematiques de d´etection de
changements d’´el´evation, mˆeme si la g´en´eration de MNS pr´ecis `a partir de ces donn´ees demeure
difficile.
1.2 M´ethodes de restitution 3D : ´etat de l’art
Classiquement, la reconstruction 3D d’une sc`ene n´ecessite le calcul de la disparit´e entre tous
les pixels homologues des deux images d’un couple st´er´eoscopique.
Les pixels homologues correspondent `a des pixels repr´esentant un mˆeme point terrain, rep´er´es
sur chaque image du couple st´er´eoscopique. La disparit´e correspond au d´ecalage g´eom´etrique
(en pixels) mesur´e entre deux pixels homologues lorsque les angles de prise de vue des images
diff`erent. Cette valeur de disparit´e est reli´ee `a l’´el´evation de la sc`ene au pixel consid´er´e, elle est
donc calcul´ee pour tous les pixels d’une image par la mise en correspondance dense des images
231.2. METHODES DE RESTITUTION 3D : ´ ETAT DE L’ART ´
afin d’obtenir l’´el´evation de tous les points de la sc`ene.
Cependant, les contraintes li´ees aux acquisitions satellite rendent le calcul de la disparit´e particuli`erement
complexe car de nombreuses difficult´es se pr´esentent :
– les angles d’acquisition des images sont souvent importants (jusqu’`a 30◦ d’incidence) g´en´erant
des diff´erences radiom´etriques importantes,
– ces angles d’incidence g´en`erent d’importantes zones d’occlusion : c’est–`a–dire des zones
cach´ees dans l’image, typiquement les zones aux abords des bˆatiments. Dans ce cas il n’est
pas possible de trouver des pixels homologues dans ces zones,
– des d’objets peuvent ˆetre en mouvement : la mise en correspondance des images d’un
couple implique comme hypoth`ese que la sc`ene soit parfaitement immobile entre les deux
acquisitions, or, dans la r´ealit´e, cette hypoth`ese n’est pas r´ealisable,
– certaines zones sont trop homog`enes ou poss`edent une texture r´ep´etitive ou bien une
structure 3D tr`es complexe (c’est le cas pour la structure de la v´eg´etation), dans tous ces
cas il est tr`es difficile de d´eterminer pr´ecis´ement les pixels homologues,
– il existe des changements radiom´etriques entre les acquisitions : toutes les surfaces n’´etant
pas lambertiennes, c’est–`a–dire que la lumi`ere n’est pas forc´ement r´efl´echie de la mˆeme
fa¸con dans toutes les directions, une mˆeme surface peut pr´esenter diff´erentes radiom´etries
selon l’angle de l’acquisition et ainsi compliquer la mise en correspondance,
– certains d´efauts g´eom´etriques r´esiduels subsistent, mˆeme apr`es l’affinage, comme nous le
montrerons dans la section 2.1.
Depuis les 30 derni`eres ann´ees, de nombreux algorithmes ont ´et´e d´evelopp´es pour la
reconstruction 3D de sc`enes `a partir d’imagerie terrestre, a´erienne ou spatiale. Des inventaires
de ces techniques ont ´et´e r´ealis´es par Scharstein [28], Brown [29] puis plus r´ecemment par
Lazaros [30]. La base de donn´ees de Middlebury 1 a notamment ´et´e tr`es utilis´ee pour r´ealiser
ces inventaires. Ils permettent de comparer un grand nombre de ces techniques en termes
de performance et de m´ethodologie. Les techniques pr´esent´ees ne sont cependant pas toutes
transposables aux images satellites.
1. Ensemble de jeux de donn´ees correspondant `a des images st´er´eoscopiques accompagn´ees de v´erit´es terrain
mis `a disposition des utilisateurs pour tester des algorithmes de mise en correspondance. Le contexte et les images
sont cependant ´eloign´es de notre probl´ematique de reconstruction 3D par imagerie satellite en milieu urbain.
24CHAPITRE 1. ETUDES BIBLIOGRAPHIQUES ET STRAT ´ EGIE ADOPT ´ EE´
1.2.1 Mise en correspondance d’images par m´ethode d’optimisation
Pour de nombreux auteurs, la mise en correspondance d’images peut ˆetre vue comme un
probl`eme de labellisation [31],[32],[33],[34] : chaque valeur de disparit´e ou d’´el´evation (alors
consid´er´ee comme un label) affect´ee `a un pixel d’une image maˆıtre est d´eduite de la s´election du
pixel homologue parmi plusieurs candidats dans l’image esclave.
La mise en correspondance peut ainsi ˆetre r´esolue `a partir d’une m´ethode d’optimisation : l’objectif
est alors de retrouver, pour chacun des pixels d’une image maˆıtre, les pixels homologues
dans l’image esclave (ou dans toutes les autres images dans le cas de la multi–st´er´eoscopie).
La mise en correspondance peut alors ˆetre r´ealis´ee par des m´ethodes locales d’optimisation :
la recherche de primitives homologues (pixels, segments ou r´egions) est alors effectu´ee de fa¸con
locale uniquement, ou bien `a travers des m´ethodes globales (ou semi–globales) selon lesquelles
la mise en correspondance est r´esolue en recherchant la solution de disparit´e sur l’image enti`ere
(ou des subdivisions de l’image).
Ainsi, les m´ethodes de mise en correspondance peuvent ˆetre bas´ees sur les algorithmes d’optimisation
que nous verrons plus en d´etails dans le chapitre 2, section 2.2.2.
M´ethodes locales de mise en correspondance
Les m´ethodes locales peuvent ˆetre bas´ees sur la mise en correspondance des segments ou des
contours de l’image, tels que les contours de bˆatiments. Plusieurs auteurs utilisent ces contours
pour aider `a la mise en correspondance radiom´etrique des images.
La m´ethode propos´ee par Baillard [35] recherche les points de contours des bˆatiments sur des
images a´eriennes afin d’apporter une contrainte g´eom´etrique `a la corr´elation radiom´etrique des
pixels, effectu´ee dans une seconde ´etape.
Zhang [36] propose, sur des images satellites, une m´ethode hybride bas´ee sur la combinaison
de la mise en correspondance dense des pixels et celle des contours de l’image. Cette technique
permet d’imposer une forte contrainte de r´egularisation entre les contours d´etect´es afin de
garantir une surface r´eguli`ere tout en pr´eservant les discontinuit´es au niveau des contours.
Ces techniques montrent des r´esultats particuli`erement int´eressants, notamment pour les zones
homog`enes mais elles peuvent ˆetre sensibles `a la d´etection de contours. Les m´ethodes bas´ees
251.2. METHODES DE RESTITUTION 3D : ´ ETAT DE L’ART ´
sur les contours restent cependant peu utilis´ees `a cause des erreurs produites par la d´etection
de contours et la difficult´e de retrouver les plus petites structures.
Les m´ethodes les plus populaires de mise en correspondance sont g´en´eralement bas´ees sur
l’intensit´e des pixels des images et la mise en correspondance dense de tous les pixels de l’image,
souvent `a travers la m´ethode dite de block matching. Cette m´ethode est bas´ee sur la corr´elation
d’une fenˆetre de pixels d´efinie sur l’image maˆıtre avec une fenˆetre glissante sur l’image esclave
et le calcul d’un score de corr´elation. La disparit´e est ensuite ´evalu´ee `a partir du pixel ayant
engendr´e le meilleur score de corr´elation (technique du winner take all) [37].
La zone de recherche est alors souvent contrainte par la ligne ´epipolaire (ou pseudo–´epipolaire
dans le cas des images satellites). Ce type de m´ethode, tr`es rapide, est cependant particuli`erement
sensible au bruit des images, aux diff´erences radiom´etriques ou encore aux d´efauts
d’orientation r´esiduels des images lorsque la mise en correspondance est r´ealis´ee le long de
l’´epipolaire seulement.
R´ecemment, d’autres techniques ont ´emerg´e, bas´ees sur la mise en correspondance de zones
segment´ees d’une image [38] et l’assignement d’une valeur de disparit´e `a ces zones par m´ethode
d’optimisation. Ces techniques sont cependant sensibles `a toutes les erreurs de segmentation
qui sont alors susceptibles de provoquer des erreurs de reconstruction 3D.
M´ethodes globales ou semi–globales
Les m´ethodes de reconstruction 3D les plus populaires et les plus efficaces sont aujourd’hui
les m´ethodes bas´ees sur la mise en correspondance `a travers une optimisation sur l’image.
Ces m´ethodes fonctionnent par le calcul d’un coˆut de mise en correspondance li´e au score de
corr´elation obtenu entre les fenˆetres de pixels candidates sur chaque image (block matching),
auquel s’ajoute un terme de r´egularisation. Nous d´ecrirons en d´etail cette optimisation dans le
chapitre 3, section 3.1.
Les diff´erences entre les nombreuses m´ethodes bas´ees sur une optimisation sont li´ees `a la mesure
de similarit´e, `a la contrainte de r´egularisation et `a la m´ethode d’optimisation employ´ee.
Comme nous le verrons dans le chapitre 2, section 2.2.2, de nombreuses m´ethodes d’optimisation
ont ´et´e d´evelopp´ees et appliqu´ees au traitement d’images et plus particuli`erement `a la mise en
26CHAPITRE 1. ETUDES BIBLIOGRAPHIQUES ET STRAT ´ EGIE ADOPT ´ EE´
correspondance d’images.
On trouve notamment les m´ethodes globales telles que le belief propagation [39], [33], ou
les graph-cuts [40], [41], l’objectif est alors de retrouver, pour tous les pixels de l’image
simultan´ement, une solution qui minimise une fonctionnelle d’´energie globale sur l’image.
Les m´ethodes dites semi–globales [42] permettent de calculer une solution non plus sur toute
l’image simultan´ement mais sur des s´equences de pixels de l’image trait´ees ind´ependamment
[43]. Ces s´equences peuvent ˆetre form´ees par les lignes [34] de l’image ou bien par les lignes,
colonnes et toutes les directions interm´ediaires de l’image, selon la m´ethode de Hirschmuller [ ¨ 31]
ou Pierrot-Deseilligny [32] ou encore par un graphe s´electionn´e dans l’image comme le propose
Veksler [44]. Les r´esultats obtenus sur chaque s´equence de l’image sont ensuite fusionn´es afin
d’obtenir la solution semi–globale.
Nous verrons dans la section 2.2.3 que la m´ethode de reconstruction que nous avons s´electionn´ee
est bas´ee sur ce type d’optimisation semi–globale et r´esolue par programmation dynamique `a
l’image des m´ethodes propos´ees par Hirschmuller et Pierrot-Deseilligny [ ¨ 31], [32].
1.2.2 Caract´eristiques des corr´elateurs
Quelle que soit la m´ethode d’optimisation choisie, la mesure de similarit´e employ´ee pour calculer
la correspondance entre les pixels ou entre les fenˆetres de pixels de chaque image (matching
cost), est un point important pour s´electionner les pixels homologues.
Une ´etude des diff´erentes mesures de la litt´erature a ´et´e r´ealis´ee par Scharstein et Szeliski [28],
puis Hirschmuller [ ¨ 45].
Les mesures les plus utilis´ees sont :
– la somme des diff´erences radiom´etriques au carr´e (Sum of Absolute Differences ou SAD),
– la somme des diff´erences radiom´etriques absolues (Sum of Squared Differences ou SSD),
– le normalized cross correlation coefficient (ou NCC).
De nombreuses autres mesures de similarit´e sont propos´ees dans la litt´erature. Birchfield
[46] propose une mesure de ressemblance robuste `a l’´echantillonnage pixellique des images : au
lieu de comparer deux fenˆetres de pixels d´ecal´ees par un nombre entier de pixels, il compare
chaque pixel de l’image maˆıtre avec une interpolation lin´eaire d’une fenˆetre de pixels sur l’autre
271.2. METHODES DE RESTITUTION 3D : ´ ETAT DE L’ART ´
image.
Afin d’ˆetre le plus robuste possible aux diff´erences radiom´etriques provoqu´ees par la variation
d’angle de prise de vue, des m´ethodes dites ”non-param´etriques” sont aussi tr`es utilis´ees. Elles
consistent `a filtrer les donn´ees avant la corr´elation afin de r´eduire l’impact de ces diff´erences
[37]. Le filtrage de rank, par exemple, recherche dans une fenˆetre centr´ee sur un pixel, le nombre
de pixels dont la valeur est en dessous de celle du pixel consid´er´e puis remplace la valeur du
pixel central par cette valeur. La correlation (r´ealis´ee avec la mesure SAD) va alors d´ependre de
l’agencement des valeurs et non plus de l’intensit´e. Cependant, ce filtrage engendre une perte
d’information spatiale qui r´eduit le pouvoir discriminant de la m´ethode [29].
Une variation `a ce filtrage, nomm´e le filtre census, pr´eserve la distribution spatiale de la fenˆetre
en encodant le r´esultat du filtre de rank pour chaque pixel dans une chaˆıne de bytes [29].
D’autres filtrages de la fenˆetre de mise en correspondance sont utilis´es tels que le Laplacian
of Gaussian ou le filtrage moyen [45]. Tous ces filtres tentent d’am´eliorer la robustesse aux
conditions d’acquisition et aux erreurs de corr´elation des images car ils diminuent la sensibilit´e
aux outliers des images. Ils sont majoritairement suivis d’une corr´elation par SAD.
Hirschmuller [ ¨ 31] propose une mesure de similarit´e bas´ee sur la notion d’information mutuelle,
r´eput´ee moins sensible au recalage et aux conditions d’illumination des images. L’information
mutuelle entre deux fenˆetres de pixels est calcul´ee en additionnant l’entropie des histogrammes
de chaque image puis en soustrayant l’entropie de l’histogramme joint.
Hirschmuller et Szeliski [ ¨ 45] ont compar´e diff´erents coˆuts de corr´elation et leur efficacit´e pour
la mise en correspondance dense des images. Ils montrent d’abord que la performance d’une
fonction de coˆut d´epend avant tout de la m´ethode d’optimisation employ´ee indiquant que la
fonction de coˆut a finalement un impact mod´er´e sur le r´esultat final.
Cependant, ils observent que le filtrage de rank et l’information mutuelle semblent plus efficaces
au niveau des discontinuit´es car ils permettent notamment une meilleure robustesse `a l’effet
d’adh´erence qui conduit g´en´eralement `a la dilatation des objets de la sc`ene. Ce probl`eme,
inh´erent aux m´ethodes de block matching, apparaˆıt lorsqu’il y a un saut brutal de disparit´e dans
l’une des images qui ne peut ˆetre parfaitement localis´e `a l’int´erieur de la fenˆetre de corr´elation.
Finalement, bien que plus performants, le filtre de rank ou l’information mutuelle n´ecessitent
un temps de calcul 1,5 `a 5 fois plus important que le temps requis pour une mesure de type
SAD. Cette derni`ere est la mesure impl´ement´ee dans l’outil de mise en correspondance que
28CHAPITRE 1. ETUDES BIBLIOGRAPHIQUES ET STRAT ´ EGIE ADOPT ´ EE´
nous utilisons.
1.2.3 Les strat´egies de mise en correspondance
L’approche multi–r´esolution
Aujourd’hui, la plupart des auteurs utilisent une approche coarse to fine ou multi–´echelle
pour la g´en´eration des MNS. Cette m´ethode est bas´ee sur la corr´elation r´ealis´ee sur les images
r´e–´echantillonn´ees de l’´echelle la plus grande `a la plus petite. Le r´esultat obtenu pour une
certaine ´echelle sert alors d’initialisation pour la corr´elation `a ´echelle suivante. Le grand
avantage de cette technique est un important gain de temps [31], [32].
Cependant, Szintsev [40] montre que de tels algorithmes ont tendance `a flouter les bords de
bˆatiments car lors de l’agr´egation des pixels d’une fenˆetre de corr´elation, des pixels appartenant
`a deux surfaces diff´erentes sont m´elang´es aux ´echelles les plus grandes et les discontinuit´es
sont plus difficilement retrouv´ees. Des erreurs peuvent alors se propager `a toute la pyramide
d’images.
Certains auteurs proposent des fenˆetres de corr´elation adaptatives au niveau des zones de fortes
discontinuit´es [47]. Sizintsev [40] et Pierrot-Deseilligny [32] proposent l’´equivalent d’un filtrage
morphologique `a chaque niveau de la pyramide d’images en utilisant la fenˆetre de corr´elation
comme ´el´ement structurant afin de simuler une fenˆetre adaptative pouvant se d´eplacer autour de
la discontinuit´e qui a ´et´e calcul´ee au niveau sup´erieur de la pyramide, augmentant la pr´ecision
au niveau de ces zones de discontinuit´es. Cet algorithme est d´ecrit par P´enard et al.[48] et est
impl´ement´e dans l’outil de mise en correspondance que nous avons s´electionn´e.
La prise en compte des occlusions
L’un des points les plus sensibles de la mise en correspondance r´eside dans la pr´esence des
zones d’occlusion sur les images st´er´eoscopiques. Elles correspondent `a des zones observ´ees
sur une des deux images seulement et pour lesquelles il est impossible de retrouver les pixels
homologues (ces zones sont souvent appel´ees demi–occlusion ou half–occlusion dans la litt´erature
car l’occlusion n’est pr´esente que sur une des deux images). Ces zones se situent aux abords
291.2. METHODES DE RESTITUTION 3D : ´ ETAT DE L’ART ´
des bˆatiments et ont une taille variable en fonction de l’angle d’incidence de l’acquisition de
l’image. Or, pour la st´er´eoscopie, les angles d’incidence peuvent ˆetre tr`es importants (jusqu’`a
30˚pour les images WorldView) cr´eant des zones d’occlusion de taille importante dans l’image.
Ces derni`eres ann´ees, de nombreux auteurs se sont int´eress´es `a ce sujet. Brown [29] d´efinit
trois classes d’algorithmes prenant en compte les occlusions : ceux qui d´etectent les occlusions
(g´en´eralement apr`es le calcul de la disparit´e), ceux qui sont plus robustes aux zones d’occlusion
grˆace aux fonctions de coˆut impl´ement´ees et enfin ceux qui mod´elisent les zones d’occlusion lors
de la mise en correspondance.
Les m´ethodes les plus simples pour la d´etection des zones d’occlusion sont bas´ees sur la
d´etection des discontinuit´es dans l’image. Fua [49] et Qingxiong [33] calculent deux cartes de
disparit´e en inversant les rˆoles maˆıtre et esclave des images `a chaque fois. Les disparit´es dont
les valeurs sont trop ´eloign´ees entre elles pour le mˆeme point sont alors consid´er´ees comme des
occlusions. Cette m´ethode dite de back matching est aujourd’hui impl´ement´ee dans de nombreux
algorithmes [29]. Elle est cependant longue en temps de calcul et peut g´en´erer de tr`es
nombreuses zones dites d’occlusion qui sont en r´ealit´e dues `a des diff´erences d’illumination, des
zones homog`enes ou plus g´en´eralement des zones de mauvaise corr´elation sur l’une des deux
cartes de disparit´e.
Egnal [50] compare cinq approches de d´etection des zones d’occlusion bas´ees sur :
– l’analyse de l’histogramme des disparit´es dans une fenˆetre de disparit´e,
– les variations du coefficient de corr´elation,
– le double calcul de la disparit´e `a partir de chacune des images,
– l’analyse de la contrainte d’ordre des disparit´es (pas forc´ement respect´ee lors d’une occlusion),
– les discontinuit´es de la disparit´e.
Ce dernier algorithme, ainsi que l’algorithme de double calcul de disparit´e apparaissent comme
les plus prometteurs. Cependant, leur efficacit´e semble d´ependre du paysage en pr´esence (la
position de l’occlusion, la pr´esence d’objets fins, etc...). De plus, il n’y a pas eu d’´etude concernant
la performance de ces algorithmes en fonction de la m´ethode d’optimisation appliqu´ee.
Les m´ethodes r´eduisant la sensibilit´e aux zones d’occlusion correspondent souvent `a
30CHAPITRE 1. ETUDES BIBLIOGRAPHIQUES ET STRAT ´ EGIE ADOPT ´ EE´
l’adaptation de la mesure de similarit´e en fonction de ce probl`eme. Chambon [51] utilise deux
mesures combin´ees : le zero mean normalized cross correlation coefficient et le smooth median
absolute deviation, afin d’am´eliorer la robustesse envers ces zones. Les filtrages de rank et census
propos´es par Zabih [37] permettent aussi une certaine robustesse aux outliers et donc souvent
aux erreurs parfois ponctuelles g´en´er´ees par les zones d’occlusion (lorsque l’angle d’incidence
reste faible).
Enfin, d’autres m´ethodes passent par l’utilisation de fenˆetres adaptatives en fonction du degr´e
de confiance de la corr´elation, le but est d’optimiser les r´esultats de la corr´elation pr`es des zones
d’occlusion [29].
Les m´ethodes mod´elisant les zones d’occlusion, c’est–`a–dire permettant leur localisation
en fonction du voisinage, int`egrent les zones d’occlusion directement dans la recherche de la
disparit´e en cr´eant des fonctions de coˆut sp´ecifiques `a ces zones. Belhumeur [52] a impl´ement´e
un mod`ele complexe de fonction de coˆut incluant des termes pour les surfaces lisses, les limites
d’objets et les pentes. Bobick et Intille [34] associent un coˆut avec les zones d’occlusion qu’ils
r´eduisent ou augmentent en fonction de l’orientation des contours de bˆatiments et donc de celle
de la zone d’occlusion.
L’´etude comparative de Egnal [50] ne consid`ere que des m´ethodes de d´etection des zones d’occlusion.
A notre connaissance, aucune ´etude ne permet de comparer les diff´er ` entes techniques
cit´ees pour la prise en compte de ces zones (d´etection - sensibilit´e - mod´elisation). Cependant,
les m´ethodes les plus efficaces, rapides et faciles `a impl´ementer sont vraisemblablement les m´ethodes
de d´etection des occlusions, mˆeme si elles n´ecessitent g´en´eralement un double calcul de
la disparit´e ou un post–traitement des cartes de disparit´e g´en´er´ees.
Les m´ethodes r´eduisant la sensibilit´e aux occlusions montrent certaines performances mais ne
permettent pas la localisation des occlusions et peuvent donc engendrer des erreurs dans le MNS,
erreurs qui se propagent g´en´eralement ensuite dans la d´etection des changements de la sc`ene.
Au contraire, les m´ethodes de mod´elisation s’av`erent tr`es performantes pour la localisation mais
elles sont particuli`erement difficiles `a impl´ementer.
Dans la chaˆıne de traitements d´evelopp´ee, nous avons choisi une m´ethode de d´etection des zones
d’occlusion appliqu´ee apr`es le calcul des cartes d’´el´evation par mise en correspondance. Cet
311.2. METHODES DE RESTITUTION 3D : ´ ETAT DE L’ART ´
algorithme, bas´e sur des contraintes g´eom´etriques au niveau des discontinuit´es de l’image sera
d´ecrit dans le chapitre 3, section 3.2.
Les g´eom´etries de mise en correspondance
La g´eom´etrie de mise en correspondance correspond `a la technique choisie pour la recherche
des pixels homologues entre les images st´er´eoscopiques. Selon le nombre d’images disponibles et
leur pr´ecision d’orientation, plusieurs g´eom´etries sont possibles.
Classiquement, cette recherche est bas´ee sur la g´eom´etrie ´epipolaire (ou pseudo–´epipolaire dans
le cas des images satellites) comme repr´esent´e sur la figure 1.1(a). La recherche d’un pixel de
l’image maˆıtre est effectu´ee le long de la ligne ´epipolaire correspondante sur l’image esclave.
Une recherche bi–dimensionnelle (transversale `a l’´epipolaire) permet d’ˆetre plus robuste aux
erreurs r´esiduelles dans les mod`eles g´eom´etriques des images.
Cette technique, encore tr`es r´epandue, n´ecessite cependant un r´e–´echantillonnage ´epipolaire des
images.
La seconde g´eom´etrie, tr`es classique aujourd’hui, est la g´eom´etrie image (ou faisceaux),
illustr´ee en figure 1.1(b). Le principe est la recherche du pixel homologue d’une image maˆıtre
sur l’image esclave en localisant celui–ci grˆace aux mod`eles g´eom´etriques des images (affin´es
pr´ealablement) et pour chaque altitude d´efinie dans un rep`ere terrain [36], [32]. Une fois le pixel
localis´e sur l’image esclave, il est aussi possible d’effectuer la recherche selon une seconde dimension,
dans l’espace image afin d’ˆetre, l`a encore, plus robuste aux erreurs g´eom´etriques des images.
Enfin, la g´eom´etrie dite terrain, repr´esent´ee en figure 1.1(c), permet de retrouver, pour
chaque altitude z d’un point d´efini dans un rep`ere terrain, les pixels de chaque image qui
correspondent `a ce point terrain grˆace aux mod`eles g´eom´etriques des images. Un score de
corr´elation est alors calcul´e entre les fenˆetres de pixels d´efinies autour des pixels s´electionn´es.
L’altitude finale choisie est alors celle qui maximise le score de corr´elation entre les fenˆetres de
pixels s´electionn´ees.
Cette technique permet le calcul direct de la carte de profondeur sur une grille terrain r´eguli`ere,
quel que soit le nombre d’images utilis´e. De plus, toutes les images sont consid´er´ees ensemble,
sans notion de maˆıtre et esclave, permettant un processus sym´etrique. Si cette technique se
32CHAPITRE 1. ETUDES BIBLIOGRAPHIQUES ET STRAT ´ EGIE ADOPT ´ EE´
montre peu robuste aux erreurs g´eom´etriques des images ou aux occlusions lorsque seulement
deux images sont utilis´ees, elle s’av`ere tr`es avantageuse lorsque le nombre d’images augmente
car elle est alors plus pr´ecise (notamment pour la prise en compte des zones d’occlusion) et plus
rapide qu’une mise en correspondance d’images deux `a deux.
Ces diff´erentes g´eom´etries de mise en correspondance sont d´ecrites en d´etail, avec leurs
avantages et inconv´enients, dans l’article de P´enard et al [48]. Les auteurs montrent notamment
que la g´eom´etrie image pr´esente g´en´eralement de meilleurs r´esultats que la g´eom´etrie terrain,
c’est pourquoi cette derni`ere a ´et´e s´electionn´ee pour la mise en correspondance dans notre chaˆıne
de traitements.
1.2.4 Les outils de restitution 3D existants
Aujourd’hui, de nombreux outils de reconstruction 3D existent sous forme de packages
commerciaux ou open–source. On notera, parmi les packages commerciaux les plus populaires,
Socet–set de BAE Systems, Erdas Imagine de Intergraph, Sat–PP de 4D Ixplorer, OrthoEngine
de PCI Geomatics, Smart3DCapture de Acute3D ou encore Photo Modeler. Les performances
de ces outils sont g´en´eralement bonnes mais le param´etrage peut ˆetre difficile surtout lorsque les
codes sources ne sont pas accessibles, ce qui les rend peu exploitables dans un cadre de recherche.
D’autre outils existent tels que PMVS, de Furukawa et Ponce [53], OpenCV library
(contenant les librairies pour la mise en correspondance selon l’algorithme de Hirschmuller ¨
[31]) ou encore MicMac d´evelopp´e par l’IGN [32]. Ces outils sont libres de t´el´echargement mais
parmi eux, seul MicMac est un outil totalement open–source.
Le t´el´echargement des codes sources de MicMac permet en effet le contrˆole de tous les
param`etres et la maˆıtrise interne compl`ete du code. Ses diff´erentes options, qui autorisent
la mise en correspondance selon toutes les g´eom´etries cit´ees pr´ec´edemment, l’utilisation de
plusieurs m´ethodes d’optimisation et d’interpolation et l’option multi–´echelle en font un outil
particuli`erement adaptable `a tous les contextes (g´eologique ou urbain, en imagerie spatiale ou
terrestre).
C’est pourquoi l’outil MicMac est donc celui que nous avons s´electionn´e pour la mise en
correspondance des images st´er´eoscopiques.
331.2. METHODES DE RESTITUTION 3D : ´ ETAT DE L’ART ´
(a) Sch´ema de principe de la g´eom´etrie ´epipolaire
(b) Sch´ema de principe de la g´eom´etrie image
(c) Sch´ema de principe de la g´eom´etrie terrain
Figure 1.1 – Sch´ema de principe des diff´erentes g´eom´etries de mise en correspondance.
34CHAPITRE 1. ETUDES BIBLIOGRAPHIQUES ET STRAT ´ EGIE ADOPT ´ EE´
1.3 Description g´en´erale de la chaˆıne de traitements d´evelopp´ee
L’objectif fix´e lors du travail de th`ese est de d´evelopper une m´ethode totalement automatique
pour la d´etection des changements d’´el´evation `a partir d’images satellites st´er´eoscopiques.
Nous nous pla¸cons dans un contexte urbain, le but ´etant de retrouver tous les changements du
bˆati (construction, destruction ou modifications d’infrastructure). Les contraintes du syst`eme
sont alors les suivantes :
– le syst`eme doit ˆetre enti`erement automatique de l’acquisition des images `a la g´en´eration
des cartes de changements,
– la m´ethode doit ˆetre applicable quels que soient le ou les capteurs tr`es haute r´esolution
utilis´es, qu’ils soient satellites ou a´eriens,
– les param`etres doivent ˆetre suffisamment g´en´eriques afin que la m´ethode soit applicable
dans des contextes vari´es (milieu urbain, montagneux, d´esertique).
Afin de r´epondre au mieux `a ces contraintes, une chaˆıne compl`ete et innovante de traitements `a
´et´e d´evelopp´ee. Cette chaˆıne, illustr´ee en figure 1.2 comprend trois ´etapes majeures : la premi`ere
´etape (entour´ee en trait plein sur la figure) correspond `a la spatio–triangulation ou recalage
simultan´e de toutes les images disponibles, sans consid´eration de leur date d’acquisition. Cette
´etape, d´ecrite dans le chapitre 2, section 2.1, sera r´ealis´ee `a l’aide d’outils existants permettant
la recherche de points de liaison entre les images et l’affinage des mod`eles g´eom´etriques des
images.
La seconde ´etape (entour´ee en pointill´es fins) permet la g´en´eration de MNS pr´ecis pour chaque
date. Cette ´etape, d´ecrite dans le chapitre 3 consiste d’abord en une mise en correspondance
des images `a l’int´erieur de chaque couple, chaque image ´etant successivement maˆıtre et
esclave. Cette mise en correspondance, r´ealis´ee `a l’aide de l’outil MicMac et par une m´ethode
d’optimisation (voir section 3.1), est suivie par le basculement des MNS g´en´er´es sur une grille
r´eguli`ere commune (voir section 3.2) puis par la fusion de tous les MNS obtenus avec un
algorithme de labellisation par optimisation (voir section 3.3).
Ces deux derni`eres ´etapes sont issues de d´eveloppements r´ealis´es au cours de la th`ese et
351.3. DESCRIPTION GEN´ ERALE DE LA CHA ´ ˆINE DE TRAITEMENTS DEVELOPP ´ EE´
Figure 1.2 – Illustration des diff´erentes ´etapes de la chaˆıne globale de traitements.
permettent de prendre en compte toutes les contraintes et sources d’erreurs inh´erentes aux
images satellites afin de g´en´erer des MNS pr´ecis en vue de la d´etection des changements
d’´el´evation.
36CHAPITRE 1. ETUDES BIBLIOGRAPHIQUES ET STRAT ´ EGIE ADOPT ´ EE´
Ainsi, la derni`ere ´etape (entour´ee en pointill´es larges) a pour objectif l’analyse de la
diff´erence des MNS afin de mettre en ´evidence les changements d’´el´evation les plus pertinents
de la sc`ene selon une m´ethode que nous avons d´evelopp´ee. Cette m´ethode, d´ecrite dans le
chapitre 4, est bas´ee sur la classification des pixels du MNS diff´erentiel `a travers un algorithme
de labellisation par optimisation.
Nous noterons finalement que trois ´etapes de calcul r´ealis´ees dans cette chaˆıne de traitements
sont bas´ees sur une labellisation des pixels de l’image r´esolue par une m´ethode d’optimisation.
Un algorithme ”noyau” a ainsi ´et´e d´evelopp´e au cours de th`ese et a ´et´e adapt´e pour la r´esolution
de chacun de ces probl`emes. Cet algorithme est d´ecrit dans le chapitre 2, section 2.2.3.
1.4 Capteurs utilis´es et donn´ees d’entr´ee
Au cours de ce travail, de nombreux jeux de donn´ees ont ´et´e utilis´es afin d’exp´erimenter les
m´ethodes sur diff´erentes sc`enes et d’en analyser les r´esultats. Seules des images panchromatiques
provenant de capteurs tr`es haute r´esolution spatiale ont ´et´e employ´es : Ikonos, dont les images
obtenues ´etaient r´e–´echantillonn´ees `a 1 m de r´esolution spatiale, WorldView-1 et 2, produisant
des images `a environ 60 cm de r´esolution spatiale et Pl´eiades, produisant des images `a environ
70 cm de r´esolution spatiale. Le tableau 1.1 r´esume toutes les donn´ees utilis´ees.
Bien que les images multispectrales puissent apporter des informations permettant de filtrer
les cartes de d´etection de changements obtenues `a la mani`ere de Tian [8], nous avons choisi de
d´evelopper notre chaˆıne de traitements `a partir des images panchromatiques uniquement.
Tous ces capteurs sont de type push–broom : barrettes lin´eaires de d´etecteurs permettant
l’acquisition de chaque ligne de l’image successivement grˆace au d´efilement du paysage dans le
plan focal.
Quatre zones g´eographiques ont ´et´e ´etudi´ees pour les diff´erentes ´etapes de calcul de la m´ethode,
en fonction des donn´ees disponibles.
Pour l’illustration de la chaˆıne compl`ete, i.e. de la g´en´eration des MNS `a la d´etection de changements,
la ville de Phoenix, en Arizona (Etats-Unis) a ´et´e analys´ee entre les dates de 2008 et 2011. ´
Cette zone permet d’´evaluer les performances de la m´ethode lors de l’analyse de l’´evolution ty-
371.4. CAPTEURS UTILISES ET DONN ´ EES D’ENTR ´ EE´
Capteur Date R´esolution Angle Angle b/h
d’acquisition spatiale (m) d’azimut (◦
) d’´el´evation (◦
)
Donn´ees acquise sur la ville de Phoenix (Etats-Unis)
WorldView-1 2008-10-06 0,59 51,5 64,1
0,67
WorldView-1 2008-10-06 0,56 141,6 67,6
WorldView-1 2011-04-28 0,62 156,2 59,6
0,70
WorldView-1 2011-04-28 0,56 65,0 67,6
Donn´ees acquise sur la ville de Toulouse (France)
Pl´eiades 2012-05-07 0,70 115,5 64,7 0,54
Pl´eiades 2012-05-07 0,70 88,9 64,6 0,55
Pl´eiades 2012-05-07 0,70 102,2 65,2 0,54
Donn´ees acquise sur la ville de Chistchurch (Nouvelle Z´elande)
WorldView-1 2009-09-16 0,66 85,7 57,2
0,66
WorldView-1 2009-09-16 0,58 66,3 23,7
WorldView-2 2011-08-30 0,60 199,5 57,3
0,66
WorldView-2 2011-08-30 0,47 289,0 87,2
Donn´ees acquise sur la ville de Sendai (Japon)
Ikonos 2010-12-11 1 (reech.) 64,9 64,65
0,79
Ikonos 2010-12-11 1 (reech.) 149,15 60,66
Ikonos 2011-08-13 1 (reech.) 314,4 61,14
0,72
Ikonos 2011-08-13 1 (reech.) 250,96 56,66
Table 1.1 – M´etadonn´ees des images utilis´ees lors des diff´erentes ´etudes.
pique d’un milieu urbain. Dans ce mˆeme contexte, la ville de Christchurch, en Nouvelle Z´elande
a aussi ´et´e ´etudi´ee. L’int´erˆet de cette zone est la pr´esence de deux acquisitions LiDAR effectu´ees
au mˆeme endroit et `a des dates proches des acquisitions satellitaires. Cette zone permet ainsi
une quantification pr´ecise des performances des algorithmes mis en place.
Les donn´ees Pl´eiades, acquises sur la ville de Toulouse selon le mode tri–st´er´eoscopique, permettent
d’illustrer l’int´erˆet de l’algorithme de g´en´eration des MNS pour le traitement d’acquisitions
multi–st´er´eoscopiques.
38CHAPITRE 1. ETUDES BIBLIOGRAPHIQUES ET STRAT ´ EGIE ADOPT ´ EE´
La zone de Sendai (Japon), permet enfin de tester de la chaˆıne de traitements sur un cas concret
de catastrophe majeure. En effet, les donn´ees disponibles ont ´et´e acquises avant et apr`es le s´eisme
suivi par le tsunami qui a ravag´e la cˆote de Sendai le 11 mars 2011.
1.5 Conclusion
Ce chapitre pr´esente tout d’abord de nombreuses m´ethodes de d´etection de changements
`a partir d’images satellites ou a´eriennes. Cependant, si les m´ethodes classiques bas´ees sur la
comparaison radiom´etrique des images montrent de bonnes performances, elles ne s’av`erent
pas toujours efficaces du fait des nombreuses fausses alarmes qu’elles g´en`erent et sont souvent
difficilement automatisables car trop d’a priori sur les changements sont n´ecessaires.
Les m´ethodes bas´ees sur l’exploitation de l’information d’´el´evation de la sc`ene paraissent alors
mieux adapt´ees, notamment au contexte urbain. Bien que ces m´ethodes n´ecessitent aussi des
informations a priori ou contextuelles, l’analyse de la diff´erence entre deux cartes d’´el´evation
montre de tr`es bon r´esultats.
Dans cet objectif, de nombreuses m´ethodes de restitution 3D ont ´et´e ´etudi´ees afin de s´electionner
une strat´egie suffisamment robuste pour la mise en correspondance d’images satellites
et la g´en´eration de cartes d’´el´evation. Nous avons vu que de nombreuses techniques permettent
de prendre en compte les erreurs de recalage des images ou bien les zones d’occlusion, ces deux
points ´etant particuli`erement importants dans le cas des images satellites.
La chaˆıne de traitements r´ealis´ee lors de cette th`ese est ainsi bas´ee sur la g´en´eration de MNS
`a travers plusieurs ´etapes de calcul permettant d’am´eliorer leur pr´ecision grˆace `a une technique
de mise en correspondance s´electionn´ee pour ses performances et son adaptabilit´e, suivi par des
post–traitements permettant une meilleur prise en compte des erreurs d’occlusion.
La m´ethode de d´etection des changements d´evelopp´ee est, quant `a elle, une m´ethode innovante
car totalement automatique permettant la d´etection des changements pertinents du bˆati grˆace
`a la seule utilisation de l’information d’´el´evation produite aux dates d’int´erˆet.
391.5. CONCLUSION
40Chapitre 2
Outils et m´ethodes n´ecessaires `a la
chaˆıne de traitements
Ce chapitre pr´esente les outils de calcul, utilis´es en l’´etat ou bien impl´ement´es, n´ecessaires
`a la chaˆıne de traitements d´evelopp´ee.
La premi`ere ´etape de la chaˆıne de traitements consiste en un recalage simultan´e de toutes les
donn´ees disponibles aux dates t1 et t2. Cette ´etape est bas´ee sur des outils existants pour la
recherche de points de liaison entre les images et l’affinage des mod`eles g´eom´etriques des images
par ajustement de faisceaux. Cette ´etape est essentielle pour la g´en´eration des MNS et le calcul
des MNS diff´erentiels, calculs qui n´ecessitent une grande pr´ecision de recalage entre les images.
Apr`es un bref rappel de l’objectif et du principe de la spatio–triangulation des images, nous
verrons quelques r´esultats obtenus apr`es ce calcul et nous discuterons des erreurs r´esiduelles
g´en´er´ees.
Nous verrons ensuite dans ce chapitre l’outil central n´ecessaire aux ´etapes de calcul r´ealis´ees
dans notre chaˆıne de traitements. Cet outil est un algorithme d’optimisation semi-globale et
permettant la r´esolution de probl`emes de labellisation. Nous montrerons tout d’abord comment
cet algorithme a ´et´e s´electionn´e parmi les nombreux algorithmes d’optimisation existants puis
nous d´etaillerons son impl´ementation telle que nous l’avons r´ealis´ee.
412.1. CO–LOCALISATION DES IMAGES : UTILISATION D’UN OUTIL DE
SPATIO–TRIANGULATION
2.1 Co–localisation des images : utilisation d’un outil de spatio–
triangulation
2.1.1 Contexte et objectif
Les capteurs tr`es haute r´esolution tels que les capteurs Pl´eiades, WorldView, Ikonos,
GeoEye ou OrbView sont particuli`erement agiles, facilitant les acquisitions st´er´eoscopiques.
Les images peuvent alors ˆetre prises par vue lat´erale (across track) ou plus commun´ement en
mode avant–arri`ere le long de la trace du satellite (along track), permettant des acquisitions
quasi–simultan´ees. Ces diff´erentes conditions d’acquisition sont le point cl´e de la st´er´eoscopie.
Cependant, les mod`eles g´eom´etriques fournis avec les images et contenant les informations
sur la position du satellite, son orientation et sa direction de vis´ee lors de l’acquisition, ne sont
pas suffisamment pr´ecis. En effet, pour des satellites tr`es haute r´esolution tels que Pl´eiades,
il faudrait atteindre une pr´ecision de restitution des angles de vis´ee au microm`etre pour que
l’orientation du satellite soit connue `a l’´echelle du pixel. Ceci n’est aujourd’hui pas r´ealisable
par les syst`emes de contrˆole [54].
La figure 2.1 pr´esente les angles correspondant aux variations d’attitudes du satellite appel´es
roulis αR, tangage αT et lacet αL.
Ainsi, lorsque les mod`eles g´eom´etriques natifs associ´es aux images sont exploit´es, on observe
que les pixels homologues (ou points de liaison) appartenant `a diff´erentes images (du mˆeme
couple st´er´eoscopique ou non) et repr´esentant un mˆeme point physique ne correspondent pas
aux mˆemes coordonn´ees terrain.
On observe des biais variables selon les satellites et la pr´ecision de leurs mod`eles g´eom´etriques :
DigitalGlobe annonce une pr´ecision de localisation absolue au sol de 15 m pour QuickBird, 9 m
pour Ikonos et 5 m pour WorldView tandis que Pl´eiades est annonc´e `a 12 m de pr´ecision [54].
Or, la mise en correspondance des images n´ecessite une pr´ecision subpixellique (typiquement
inf´erieure `a 0,5 m) de localisation relative des images. En effet, la technique employ´ee, d´etaill´ee
au chapitre 3, est bas´ee sur le parcours des lignes de vis´ee de chacun des pixels. De mˆeme, lors
de l’´etape de d´etection de changements, d´ecrite dans le chapitre 4, le calcul de la diff´erence des
42CHAPITRE 2. OUTILS ET METHODES N ´ ECESSAIRES ´ A LA CHA ` ˆINE DE
TRAITEMENTS
MNS pixel `a pixel est particuli`erement sensible au recalage des MNS, lui–mˆeme directement li´e
au recalage des images d’origine.
Afin de s’assurer de la pr´ecision de co–localisation des images puis des MNS, nous avons
choisi de proc´eder, avant tout autre traitement, `a une spatio–triangulation [55] (plus connue
sous le nom d’a´ero–triangulation pour les images a´eriennes).
2.1.2 Principe de la spatio–triangulation
Le principe de la spatio–triangulation est de corriger les erreurs des mod`eles g´eom´etriques
des images afin que les lignes de vis´ee provenant des pixels homologues de chacune des images
se croisent au mieux sur les mˆemes coordonn´ees au sol [56]. Cet affinage des mod`eles peut ˆetre
r´ealis´e de fa¸con absolue au sol si des points d’appuis sont disponibles (points rep´er´es dans l’image
et de coordonn´ees terrain connues) ou relative, c’est–`a–dire que les images sont alors seulement
co–localis´ees entre elles.
Le principe de la spatio–triangulation est illustr´e dans les figures 2.2(a) et 2.2(b) qui pr´esentent
l’orientation des images avant et apr`es cette ´etape.
Figure 2.1 – Illustration du syst`eme d’acquisition en barrette push–broom et des angles d’attitude
du satellite.
432.1. CO–LOCALISATION DES IMAGES : UTILISATION D’UN OUTIL DE
SPATIO–TRIANGULATION
(a) Orientation et localisation des images avant spatio–
triangulation.
(b) Orientation et localisation des images apr`es spatio–
triangulation.
Figure 2.2 – Illustration du r´esultat de la spatio–triangulation pour le recalage des images.
Selon les donn´ees fournies avec les images satellites, les mod`eles g´eom´etriques peuvent
correspondre au mod`ele physique des images ou aux fractions rationnelles (RPC).
Le mod`ele physique est un mod`ele explicite, calcul´e en prenant en compte les param`etres de
prise de vue du syst`eme `a chaque instant et d´efini par les ´eph´em´erides du satellite (orbitographie,
attitude et orientation du satellite `a chaque instant).
Les fractions rationnelles permettent de mod´eliser la ligne de vis´ee de chacun des pixels afin
de retrouver les matrices de passage des coordonn´ees images aux coordonn´ees terrain pour
n’importe quelle altitude [56].
En g´eom´etrie image, on d´efinit par mod`ele direct, le mod`ele physique ou analytique, permettant
le calcul des coordonn´ees terrain d’un point `a partir de ses coordonn´ees image (et d’une
altitude). Le mod`ele inverse permet de calculer les coordonn´ees image d’un point `a partir de
ses coordonn´ees terrain.
Ainsi, la spatio–triangulation consiste `a affiner les mod`eles g´eom´etriques des images, et plus
particuli`erement les angles d’attitude : roulis, tangage et lacet, en leur introduisant un mod`ele
44CHAPITRE 2. OUTILS ET METHODES N ´ ECESSAIRES ´ A LA CHA ` ˆINE DE
TRAITEMENTS
d’erreur. L’objectif est de corriger ces mod`eles afin de garantir la crois´ee des faisceaux provenant
d’un jeu de points de liaison ou d’appuis. Cet objectif peut ˆetre atteint si les mod`eles d’erreurs
introduits, sur l’instrument, l’orientation ou l’attitude du satellite, sont en ad´equation avec la
r´ealit´e [55]. Lorsque seuls des points de liaison sont disponibles, des contraintes de localisation
absolue sont pos´ees grˆace `a des a priori afin d’´eviter que le mod`ele ne diverge.
Les points d’appuis ´etant des donn´ees rares voire inexistantes, toutes les images de la chaˆıne
de traitements propos´ee sont recal´ees entre elles de fa¸con relative.
Une premi`ere ´etape, avant l’affinage des mod`eles, consiste `a rechercher des points de liaison
entre les images. Cette ´etape est r´ealis´ee grˆace `a un outil de corr´elation d’images d´evelopp´e au
CEA 1
. Cet outil permet la corr´elation non dense des images deux `a deux afin de d´eterminer les
points homologues les plus fiables (c’est–`a–dire ceux montrant le meilleur score de corr´elation).
Seuls quelques centaines de points, bien r´epartis sur chaque image, sont n´ecessaires pour affiner
les mod`eles.
L’´etape d’ajustement de faisceaux est ensuite effectu´ee `a l’aide du logiciel Euclidium, d´evelopp´e
par le CNES et l’IGN.
Ces outils de corr´elation et d’ajustement de faisceaux, d´ej`a existants et valid´es, fonctionnent de
fa¸con totalement automatique pour tous type de capteurs.
Cependant, il apparaˆıt que mˆeme apr`es l’affinage des mod`eles g´eom´etriques des images, des
erreurs r´esiduelles persistent. Ces erreurs sont g´en´eralement dues `a des variations temporelles
d’orientation du capteur lors de la prise de vue, impossibles `a mod´eliser et `a corriger par la
spatio–triangulation du fait du faible nombre de degr´es de libert´e du mod`ele d’erreur (biais et
d´erive temporelle d’attitude).
Un autre d´efaut, inh´erent aux traitements sol, peut aussi repr´esenter une source d’erreur non
corrigeable par la spatio–triangulation : c’est le d´efaut provenant de la simulation en “capteur
parfait” des images. En effet, l’acquisition des images satellites est r´ealis´ee par segments,
illustr´es en figure 2.1. Lorsque l’image est produite, les segments de chaque ligne sont fusionn´es
afin de simuler un capteur lin´eaire monolitique. Or, des d´efauts de calibration sur les distances
inter–barrettes peuvent subsister et engendrer des erreurs dans les mod`eles g´eom´etriques des
images (RPC ou mod`eles physiques), erreurs qui ne peuvent ˆetre mod´elis´ees et corrig´ees par la
1. Cet outil a ´et´e d´evelopp´e en interne et aucune publication n’y fait r´ef´erence.
452.1. CO–LOCALISATION DES IMAGES : UTILISATION D’UN OUTIL DE
SPATIO–TRIANGULATION
(a) D´efauts r´esiduels d’une image OrbView-3
apr`es spatio–triangulation.
(b) D´efauts r´esiduels d’une image WorldView-1
apr`es spatio–triangulation.
Figure 2.3 – Illustration du r´esultat de la spatio–triangulation pour le recalage des images
(´echelle en pixels).
spatio–triangulation car elle n’autorise pas de degr´es de libert´e sur le plan focal.
Figure 2.4 – Illustration du calcul des r´esidus de la spatio–triangulation.
Dans le but de quantifier ces erreurs, les distances r´esiduelles entre les faisceaux provenant
de points homologues trouv´es entre les deux images d’un couple OrbView-3 et d’un couple
WorldView-1 ont ´et´e calcul´ees (figures 2.3(a) et 2.3(b)).
46CHAPITRE 2. OUTILS ET METHODES N ´ ECESSAIRES ´ A LA CHA ` ˆINE DE
TRAITEMENTS
La figure 2.4 permet d’illustrer le calcul de cette distance pour deux points homologues
M i1 et M i2, appartenant `a deux images diff´erentes I1 et I2. Le recalage des images n’´etant pas
parfait, les faisceaux provenant de ces points ne se croisent pas. La plus petite distance entre
ces faisceaux est repr´esent´ee par la distance entre les points M et M′ dans l’espace terrain.
Projet´ee en g´eom´etrie image, cette distance correspond `a la distance d entre les points M i2
(point homologue `a M i1) et M i′
2
(point retrouv´e par corr´elation ´epipolaire entre les deux
images). Cette distance, calcul´ee apr`es le recalage des images, repr´esente l’erreur r´esiduelle de
la spatio–triangulation.
Cette distance a ´et´e calcul´ee apr`es l’affinage des mod`eles g´eom´etriques d’un couple d’images
OrbView–3 et d’un couple d’images WorldView–1.
Les figures 2.3(a) et 2.3(b) illustrent les r´esultats obtenus pour ces deux capteurs. On observe
sur la figure 2.3(b) des artefacts lin´eaires tr`es marqu´es formant des discontinuit´es dans l’image
(rep´er´es par les fl`eches rouges en haut de la figure 2.3(b)), d’amplitude d’environ 0,7 pixel
pour les images WorldView-1. Ces d´efauts correspondent aux d´efauts capteurs non corrig´es des
images (ils ne sont pas visibles sur la figure 2.3(a)).
Les d´efauts d’attitude sont, quant `a eux, visibles sous formes d’ondulations quasi horizontales
et tr`es marqu´ees sur la figure 2.3(a) et horizontales sur la figure 2.3(b). Ces d´efauts sont rep´er´es
par les fl`eches noires `a gauche de chacune des figures.
Ces r´esidus, d’ordre pixellique pour les images OrbView-3 mettent en ´evidence des erreurs
d’orientation trop importantes sur ce capteur pour notre ´etude, tandis que les erreurs d’ordre
subpixelliques du capteur WorldView-1 sont acceptables et autorisent la mise en correspondance
des images pour la g´en´eration fiable de MNS.
2.2 Outil pour la r´esolution de probl`emes de labellisation
2.2.1 Trois probl`emes de labellisation
A l’int´erieur de cette chaˆıne de traitements, trois ´etapes d ` e calcul sont bas´ees sur la
r´esolution d’un probl`eme de labellisation (voir section 1.3). C’est–`a–dire qu’`a chacune de ces
472.2. OUTIL POUR LA RESOLUTION DE PROBL ´ EMES DE LABELLISATION `
´etapes de calcul, la valeur de chaque pixel de l’image de sortie r´esulte d’un choix r´ealis´e entre
plusieurs valeurs ou attributs possibles selon des crit`eres calcul´es appel´es attaches aux donn´ees.
Dans une premi`ere ´etape de calcul, lors de la mise en correspondance des images, le pixel
homologue `a un pixel de l’image maˆıtre est choisi parmi plusieurs candidats en fonction d’un
crit`ere de similarit´e. La s´election du pixel homologue permet alors de d´eduire l’´el´evation du
point terrain repr´esent´e par ces pixels homologues (voir chapitre 3, section 3.1).
Dans un second calcul, qui correspond `a la fusion des MNS, les pixels du MNS final r´esultent
du choix entre les diff´erentes valeurs d’´el´evation propos´ees par chacun des pixels des MNS `a
fusionner. Ce choix est r´ealis´e en fonction d’un crit`ere de confiance calcul´e pour chacun des
pixels des diff´erents MNS (voir chapitre 3, section 3.3).
Enfin, lors de la d´etection des changements, c’est en fonction de la valeur du pixel dans la
diff´erence de MNS qu’un label de changement (positif, n´egatif ou non changement) est attribu´e
au pixel de la carte finale des changements (voir chapitre 4).
Ces probl´ematiques, bien que tr`es diff´erentes en termes de labels et d’objectifs, ont pour
caract´eristique commune que toutes les solutions ne sont pas ´equiprobables. En effet, `a crit`eres
d’attache aux donn´ees identiques, on privil´egie les solutions r´eguli`eres. Cette r´egularit´e se
traduit par le fait que, dans une image, la valeur d’un pixel n’est pas ind´ependante des valeurs
des pixels qui l’entourent, de mˆeme, le label affect´e `a un pixel d´epend des labels affect´es aux
pixels voisins. L’ensemble des labels peut ainsi ˆetre consid´er´e comme un champ de Markov
al´eatoire [28, 42, 57, 58] et la probabilit´e d’affectation d’un label `a un pixel d´epend alors de la
probabilit´e conjointe de l’appartenance du label `a ce pixel et aux pixels de son voisinage. Le
probl`eme de labellisation n’est alors plus consid´er´e comme un probl`eme local mais peut ˆetre
r´esolu de fa¸con globale sur l’image.
Toutes les solutions de labellisation possibles sur l’image ne sont pas ´equiprobables. Cependant,
il existe une solution optimale qui correspond a priori `a une solution r´eguli`ere sur l’image qui
limite les variations de hautes fr´equences, correspondant g´en´eralement `a du bruit.
Cette formulation se traduit alors par l’introduction d’une contrainte de r´egularisation spatiale
dans le calcul de labellisation des pixels.
Chacune des labellisations rencontr´ees dans la chaˆıne de traitements est alors r´esolue `a
48CHAPITRE 2. OUTILS ET METHODES N ´ ECESSAIRES ´ A LA CHA ` ˆINE DE
TRAITEMENTS
partir d’une mˆeme m´ethode bas´ee sur la minimisation d’une fonctionnelle d’´energie globale E
sur l’ensemble des pixels x d’une image X et permettant d’assigner un label n
j appartenant au
jeu de labels N = {n
1
, n2
, ..., nz}, (z ´etant le nombre total de labels) `a chacun des pixels x ∈ X
selon la fonction suivante :
E(n) = X
x∈X
Cdata(n(x)) + X
(x′)∈V (x)
Creg(n(x), n(x
′
)). (2.1)
Cdata(n(x)) repr´esente le coˆut pour l’affectation du label n au pixel x en fonction d’un crit`ere
de probabilit´e d’appartenance `a ce label.
Creg(n(x), n(x
′
)) correspond au coˆut pour l’affectation d’un des labels n `a deux pixels voisins x
et x
′
. Ce terme traduit la contrainte de r´egularisation.
2.2.2 Les m´ethodes d’optimisation existantes
De nombreuses approches existent pour r´esoudre la minimisation d’une fonctionnelle
d’´energie sur une image. Ce sujet a notamment ´et´e largement ´etudi´e pour r´esoudre le probl`eme
de la mise en correspondance d’images [28], comme nous l’avons vu dans le chapitre 1, section
1.2, mais cette approche est aussi tr`es utilis´ee en restauration d’image ou en segmentation
[12, 58].
Nous rappelons que les algorithmes de minimisation d’´energie peuvent ˆetre divis´es en deux
cat´egories : les algorithmes permettant de retrouver une solution exacte ou approch´ee en
consid´erant toute l’image en une seule fois, et les algorithmes qui partitionnent l’image en
une s´erie de probl`emes plus simples `a r´esoudre (g´en´eralement en consid´erant l’image par
s´equences de pixels en une dimension) et qui permettent de retrouver des solutions minimales
localement qui sont ensuite fusionn´ees afin d’obtenir le r´esultat global [43]. Ce sont les m´ethodes
semi–globales [42].
Les m´ethodes globales
Les m´ethodes les plus populaires d’optimisation globale sont celles bas´ees sur les graph-cuts
[59], [58] et [41], ou encore le belief propagation [43, 60]. Ces m´ethodes sont parmi les plus
efficaces comme l’a d´emontr´e Scharstein [28], `a partir du benchmark Middelbury [61], puis
492.2. OUTIL POUR LA RESOLUTION DE PROBL ´ EMES DE LABELLISATION `
(a) Illustration de la construction des graph–cuts.
Figure provenant de l’article de Roy et Cox [59]
(b) Illustration du graphe 3D et de la surface
de disparit´e.
Figure 2.5 – Illustration de la m´ethode des graph–cuts appliqu´ee au calcul de la disparit´e.
Schindler [42] sur des probl`emes de classification d’images. D’autres m´ethodes, comme les
recuits–simul´es (simulated annealing), d´evelopp´es par Geman [57], sont souvent jug´ees moins
efficaces et trop lourdes en temps de calcul, notamment parce que les labels de chacun des
pixels sont recalcul´es `a chaque it´eration afin de retrouver un minimum global [58].
Formulation du probl`eme de mise en correspondance `a travers la th´eorie du
Maximum-flow. L’id´ee des graph–cuts est de ramener le probl`eme de minimisation d’´energie
`a un probl`eme de coupe minimale dans un graphe, ce qui, d’apr`es le th´eor`eme de Ford-Fulkerson
[62], revient `a trouver le flot maximal (ou MaxFlow) `a travers un graphe, probl`eme pour lequel
il existe des algorithmes de calcul exacts et efficaces.
Dans le cas d’un probl`eme de mise en correspondance, Roy et Cox [59] ont d´evelopp´e un
algorithme permettant de retrouver globalement et en une seule fois la surface de disparit´e (repr´esent´ee
en rouge sur la figure 2.5) pour un couple d’images st´er´eoscopiques.
Avec cet algorithme d’optimisation, et afin de satisfaire une contrainte de r´egularisation spatiale
dans toutes les directions, la mise en correspondance ne peut pas se faire selon une seule
dimension `a travers la mise en correspondance classique des lignes ´epipolaires.
50CHAPITRE 2. OUTILS ET METHODES N ´ ECESSAIRES ´ A LA CHA ` ˆINE DE
TRAITEMENTS
L’id´ee est alors de construire un graphe 3D (x, y, z), x et y repr´esentent la dimension image
(ligne,colonne) et z repr´esente les hypoth`eses d’´el´evation donn´ees par la recherche sur les parallaxes.
A ce graphe sont ajout´es une source ` S et un puits T permettant de former le graphe
G = (V, E) avec V l’ensemble des sommets du graphe, c’est `a dire la grille 3D form´ee entre S
et T, et E l’ensemble des arˆetes qui connectent tous les sommets de la grille (repr´esent´ee sur la
figure 2.5(b)).
A chaque arˆete est affect´e un coˆut (ou une capacit´e de flot) :
– les arrˆetes verticales (nomm´ees D sur la figure 2.5(b)) sont les arˆetes dites de disparit´e et
correspondent directement au coˆut de mise en correspondance : un coefficient de corr´elation
´elev´e entre deux pixels va permettre la saturation de l’arˆete correspondante par le flot
maximal et inversement,
– les arˆetes horizontales (nomm´ees O sur la figure 2.5(b)) sont les arˆetes d’occlusion (O) qui
contrˆolent la r´egularisation et permettent de limiter les variations de la surface de disparit´e
selon le poids de la r´egularisation,
– les arˆetes connect´ees `a la source ou au puits sont, quant `a elles, de capacit´e infinie.
Toute solution Z = f(x) repr´esente une coupe minimale qui divise le graphe selon deux ensembles
:
– Z > f(x), c’est l’ensemble appel´e background dans la figure 2.5(a),
– Z < f(x), c’est l’ensemble appel´e foreground dans la figure 2.5(a).
On montre que le coˆut de la coupe minimale d´efinie pr´ec´edemment est calcul´e exactement par
la formule pr´ec´edente (´equation 2.1).
Ce probl`eme peut donc ˆetre formul´e comme un probl`eme de flot maximum pour lequel Cox et
Roy proposent une solution optimis´ee [59].
Kolmogorov [63] a cependant montr´e que l’application des graph–cuts est soumise `a une
condition dite de “sous–modularit´e” de la fonction d’´energie de r´egularisation. En effet, les poids
des arˆetes du graphe doivent ˆetre forc´ement positifs de la source vers le puits afin que l’algorithme
converge, cette condition se traduit par l’´equation suivante :
Creg(0, 0) + Creg(1, 1) ≤ Creg(0, 1) + Creg(1, 0). (2.2)
Avec Creg le coˆut d’affectation de deux labels binaires (0 ou 1) `a deux pixels voisins. Si l’´energie
512.2. OUTIL POUR LA RESOLUTION DE PROBL ´ EMES DE LABELLISATION `
de r´egularisation ne satisfait pas ces contraintes, la solution optimale ne peut ˆetre garantie.
Cette contrainte peut limiter la gamme de fonctions de coˆut possible pour la r´esolution d’un
probl`eme d’optimisation par graph–cuts.
Autres approches d’optimisation globale Un autre algorithme, largement utilis´e pour
l’optimisation globale est le belief propagation [39], [33] ou la version loopy belief propagation
propos´ee par Felzenszwalb [43]. Cette m´ethode fonctionne par passage de “messages” entre le
graphe d´efini par les quatre connexes d’un pixel. Chaque message est un vecteur de dimension
´egale au nombre de labels en jeu et fonction du coˆut minimum obtenu pour chaque label,
consid´erant leurs probabilit´es sur les quatre connexes du pixel. Cependant, Kolmogorov montre
que la convergence de cet algorithme n’est pas toujours assur´ee [64, 65] et la solution trouv´ee
apparaˆıt souvent de plus haute ´energie que les graph–cuts et donc non optimale. De plus, le
temps de calcul n´ecessaire reste particuli`erement long [64], bien que la variante de Felzenszwalb
permette de r´eduire ce temps [43].
Une m´ethode proche du belief propagation a ´et´e r´ecemment introduite, le tree-reweighted message
passing [65]. Cette m´ethode apparaˆıt moins gourmande en ´energie puisque les ”messages” ne sont
plus pass´es entre un graphe form´e des quatre connexes mais `a travers un graphe form´e par un
arbre. Kolmogorov [65] et Szeliski [64] ont montr´e que cette m´ethode ´etait plus efficace que les
graph–cuts sur les jeux de test de Middelbury mais reste n´eanmoins plus lente que les graph–cuts.
De mani`ere g´en´erale, les graph–cuts et autres m´ethodes d’optimisation globales n´ecessitent
de tr`es grandes capacit´es m´emoire (notamment lorsque plusieurs labels sont en jeu) et sont
alors difficilement applicables sur des images compl`etes de grande emprise telles que les images
satellites tr`es haute r´esolution [42].
Les m´ethodes semi–globales
D’autres proc´ed´es permettent la r´esolution de probl`emes d’optimisation, non pas en recherchant
une solution exacte ou approch´ee au minimum global sur toute l’image simultan´ement
mais en fonctionnant it´erativement sur la recherche de minimas locaux sur l’image `a partir de
52CHAPITRE 2. OUTILS ET METHODES N ´ ECESSAIRES ´ A LA CHA ` ˆINE DE
TRAITEMENTS
Figure 2.6 – Illustration d’un effet de streaking le long des lignes d’une image trait´ee par
programmation dynamique.
fonctions qui permettent une approximation de la fonction globale. L’avantage de ces m´ethodes
est de r´eduire largement la complexit´e des probl`emes en les divisant en sous–probl`emes plus
faciles et rapides `a r´esoudre [43].
La m´ethode la plus populaire est la programmation dynamique. Cette m´ethode est aujourd’hui
appliqu´ee dans de nombreux domaines de traitement d’image [31, 34, 44, 66].
Appliqu´ee `a une image, l’id´ee de base de la programmation dynamique consiste `a optimiser
une fonction d’´energie sur chacune des lignes ind´ependamment [34]. L’inconv´enient majeur de
cette m´ethode est le manque de coh´erence entre chacune des lignes, cr´eant des effets de streaking
ou artefacts lin´eaires, le long des lignes dans le r´esultat lorsqu’un label a tendance `a se propager
le long de la ligne du fait de la r´egularisation spatiale.
Ce ph´enom`ene est illustr´e sur le MNS pr´esent´e en figure 2.6 o`u la propagation de valeurs d’´el´evation
le long des lignes, sans coh´erence avec les colonnes, est fortement marqu´ee.
Afin de limiter ce probl`eme, plusieurs approches ont ´et´e d´evelopp´ees : Bobick et Intille [34],
dans un contexte de mise en correspondance d’images, d´etectent pr´ealablement les contours de
l’image et adaptent les coˆuts le long de ces contours afin d’aligner les disparit´es dans l’image
finale. La difficult´e r´eside alors dans la d´etection pr´ecise des contours de l’image `a prendre en
532.2. OUTIL POUR LA RESOLUTION DE PROBL ´ EMES DE LABELLISATION `
compte.
Ohta [67] proc`ede d’abord `a une recherche des disparit´es selon les lignes puis utilise les r´esultats
obtenus afin de contraindre une recherche selon les colonnes de l’image. Les r´esultats obtenus
sont alors additionn´es pour s´electionner la disparit´e finale de chaque pixel.
Veksler [44] applique la programmation dynamique sur des structures en arbre, choisies en
fonction des contours les plus importants de l’image. Cet algorithme permet alors de minimiser
l’´energie selon deux dimensions afin de se rapprocher au mieux d’une optimisation globale.
L’inconv´enient de cette m´ethode r´eside ici dans le choix des structures d’arbre utilis´ees et de
leur initialisation.
Hirschmuller [ ¨ 31] applique la programmation dynamique selon plusieurs directions sur l’image,
ind´ependamment les unes des autres, puis additionne les coˆuts obtenus pour chaque label afin
de calculer le coˆut final de chaque disparit´e pour chacun des pixels de l’image. Cet algorithme
permet le calcul rapide de l’optimisation et prend en compte tout le voisinage des pixels puisque
toutes les directions de l’image sont calcul´ees. Cette optimisation quasi globale est appel´ee le
semi–global labelling [31, 42].
Schindler, [42] compare plusieurs m´ethodes de classification d’images bas´ees sur (i) un
algorithme de graph–cuts tel que celui propos´e par Boykov [58], (ii) un algorithme de semi–global
labelling bas´e sur la m´ethode de Hirschmuller [ ¨ 31] et (iii) des m´ethodes de classification locale,
sans contrainte spatiale.
Il apparaˆıt d’abord que les m´ethodes d’optimisation globales sont plus efficaces que les m´ethodes
de classification locales : les r´esultats obtenus montrent une pr´ecision g´en´erale de classification
de 70,5% `a 80% pour une m´ethode locale, 72% `a 80% pour une m´ethode semi-globale et
de 72,5% `a 85% pour une m´ethode de graph–cuts. Cependant, si les m´ethodes graph–cuts
pr´esentent la meilleure efficacit´e, Schindler observe que les m´ethodes de semi–global labelling
montrent des performances tr`es proches tout en maintenant un temps de calcul inf´erieur, ce
qui en fait une bonne alternative aux graph–cuts pour des labellisations sur de nombreuses
´etiquettes et une large emprise.
Le semi–global labelling apparaˆıt donc comme une m´ethode d’optimisation suffisamment
performante pour des questions de labellisation et tr`es adapt´ee dans un contexte de traitement
54CHAPITRE 2. OUTILS ET METHODES N ´ ECESSAIRES ´ A LA CHA ` ˆINE DE
TRAITEMENTS
rapide et automatique puisque ses performances en termes de temps de calcul et d’allocation m´emoire
sont sup´erieures `a celles des m´ethodes globales. Ce type de m´ethode a donc ´et´e s´electionn´e
pour la r´esolution des probl`emes de labellisation rencontr´es dans notre chaˆıne de traitements.
2.2.3 Description de l’algorithme s´electionn´e
L’algorithme de programmation dynamique utilis´e dans ce travail est bas´e sur la programmation
dynamique sur une s´equence, algorithme d´ecrit par Felzenszwalb [66]. Une s´equence
correspond alors `a un sous–ensemble de pixels de l’image.
Afin de r´eduire les effets de streaking de la programmation dynamique, les minimisations sont
effectu´ees ind´ependamment sur plusieurs directions de l’image : lignes, colonnes, diagonales et
directions interm´ediaires, telles que repr´esent´ees sur la figure 2.7 et selon la technique propos´ee
par Hirschmuller et Pierrot-Deseilligny [ ¨ 31, 32]. Tous les coˆuts, obtenus par label pour chaque
pixel et selon chaque direction sont ensuite fusionn´es afin d’obtenir la solution semi–globale sur
toute l’image. De cette fa¸con, et en parall´elisant les calculs dans chaque direction, l’optimisation
est effectu´ee efficacement selon un temps polynomial.
Figure 2.7 – Illustration du parcours des diff´erentes directions pour la programmation dynamique
afin de calculer le coˆut ”semi–global”.
552.2. OUTIL POUR LA RESOLUTION DE PROBL ´ EMES DE LABELLISATION `
Algorithme de minimisation selon une direction
Soit une s´equence lin´eaire de pixels X = {x0, x1, ..., xi
, ..., xf } le long d’une direction de
l’image. Le but est d’assigner `a chacun des pixels xi un label n(xi) appartenant au jeu de labels
N = {n
1
, n2
, ..., nz}, z ´etant le nombre total de labels.
La solution S de labellisation sur la s´equence de x0 `a xf correspond alors `a la solution qui
minimise les coˆuts de labellisation en chaque pixel de la s´equence, selon l’´equation :
S(n(x0), ..., n(xf )) = Xxf
x0
Cdata(x, n(xi)) + λ
xX
f−1
x0
Creg((xi
, n(xi)),(xi+1, n(xi+1)). (2.3)
Cdata(x, n(xi)) repr´esente la fonction d’attache au donn´ees, c’est la probabilit´e que le label n
corresponde au pixel xi de la s´equence.
Creg((xi
, n(xi)),(xi+1, n(xi+1)) repr´esente le coˆut de r´egularisation entre deux pixels cons´ecutifs
xi et xi+1 sur la s´equence et portant un label n.
Cette fonction de r´egularisation est souvent calcul´ee selon le mod`ele de Potts [68] dans lequel
le coˆut affect´e au label n est ´egal `a 0 si les deux labels cons´ecutifs sont identiques et 1 sinon
(´equation 2.4).
Creg((xi
, n(xi)),(xi+1, n(xi+1))) =
0 if n(xi) = n(xi+1),
1 if n(xi) 6= n(xi+1).
(2.4)
Ce mod`ele est utilis´e lors de l’´etape de d´etection des changements (chapitre 4) mais nous
verrons que les ´etapes de mise en correspondance (chapitre 3 section 3.1) et de fusion des MNS
(section 3.3) n´ecessitent des fonctions de r´egularisation plus complexes.
La variable scalaire λ repr´esente, quant `a elle, le poids accord´e `a la contrainte de r´egularisation
: plus cette valeur est importante, plus la contrainte spatiale sera renforc´ee, c’est–`a–dire
que le coˆut d’affectation d’un label, diff´erent du label pr´ec´edent, sera augment´e. En pratique,
nous verrons que cette variable est d´efinie en fonction du r´esultat recherch´e qui doit ˆetre plus
ou moins r´egulier selon le contexte.
Le principe de l’algorithme est de calculer le meilleur chemin passant par chaque couple
pixel–label (xi
, nj
), selon un parcours de la s´equence de pixels de x0 `a xf . L’objectif est de
56CHAPITRE 2. OUTILS ET METHODES N ´ ECESSAIRES ´ A LA CHA ` ˆINE DE
TRAITEMENTS
Figure 2.8 – Illustration du calcul des coˆuts obtenus pour chaque label et chaque pixel de la
s´equence selon l’´equation 2.5. Les fl`eches vertes repr´esentent chacun des coˆuts calcul´es, les fl`eches
rouges repr´esentent le coˆut le plus faible obtenu entre un label d’un pixel et tous les labels du
pixel pr´ec´edent.
calculer, pour un couple pixel–label (xi
, nj
), le coˆut pour le couple suivant (xi+1, nj
) (figure
2.8).
Soit A(x0, nj
) le coˆut initial du label n
j au pixel x0 de la position 0 est d´efini par :
A(x0, nj
) = Cdata(x0, n). (2.5)
A la position ` xi de la s´equence, le coˆut A(xi
, nj
) pour lui assigner un label n
j
se calcule selon
l’´equation suivante :
A(xi
, nj
) = Cdata(xi
, nj
) + min
nk
A(xi−1, nk
) + λCreg(n
j
, nk
)
, (2.6)
n
j
et n
k deux labels appartenant au jeu de labels N. Ainsi, pour chacun des labels n
j
(j ∈ [1 : z])
propos´es `a chacun des pixels xi
, le coˆut obtenu correspond `a tous les coˆuts cumul´es du chemin
de x0 `a xi qui minimisent le coˆut en n
j
.
Dans la figure 2.8, les fl`eches vertes repr´esentent tous les chemins possibles pour parvenir
`a chacun des labels. Le chemin amenant le coˆut minimal en chaque label de chaque pixel est
repr´esent´e par les fl`eches rouges.
Une fois tous ces coˆuts calcul´es, le meilleur chemin de x0 `a xf correspond au chemin ayant
572.2. OUTIL POUR LA RESOLUTION DE PROBL ´ EMES DE LABELLISATION `
amen´e le label de coˆut minimal n
j∗
xf
au dernier pixel xf , tel que :
n
∗
(xf ) = argmin
n
A(xf , n(xf ))). (2.7)
La matrice finale contenant la somme des coˆuts de chacun des labels et pour chaque pixel est
alors parcourue afin de retrouver le label amenant le coˆut minimal sur chaque pixel.
G´en´eralisation de l’algorithme `a plusieurs directions
Le coˆut semi–global est d´efini comme le coˆut de chaque label obtenu `a travers le sous–graphe
d´etermin´e par toutes les directions calcul´ees dans l’image.
Selon cette d´efinition, la minimisation est appliqu´ee sur des s´equences lin´eaires de pixels dans
toutes les directions impos´ees et de fa¸con ind´ependante entre les s´equences comme illustr´e sur
la figure 2.7. Les matrices de coˆuts, obtenues pour chaque pixel et selon chaque direction sont
ensuite fusionn´ees afin d’obtenir un coˆut final pour chaque label et pour chaque pixel, tel que
le d´ecrivent Hirschmuller et Pierrot-Deseilligny [ ¨ 31, 32].
Or, les coˆuts obtenus dans les matrices ne peuvent ˆetre directement comparables entre eux
puisque les coˆuts sont cumul´es lors des parcours de chaque s´equence de pixels qui ne poss`edent
pas forc´ement le mˆeme nombre de pixels. Afin de rendre possible cette comparaison de coˆut entre
les labels d’un mˆeme pixel sur les diff´erentes directions, il est n´ecessaire de les recalculer selon
une mˆeme ´echelle. Cette op´eration se traduit par le calcul de la distance `a la solution optimale
de labellisation, C(nx)
d
sur toutes les s´equences obtenues, selon la formule :
C(xi
, n(xi))d = C(xi
, n(xi)) − C(xi
, n∗
(xi)). (2.8)
Ces distances `a la solution optimale par label peuvent alors ˆetre additionn´ees pour chaque
label et selon chacune des directions. Le label final n
d∗
choisi pour chaque pixel xi et dans toutes
les directions est finalement celui ayant le coˆut minimal, tel que :
n
d∗
(xi) = argmin
n
X
dirs
C(xi
, n(xi))d
. (2.9)
Le nombre de directions peut avoir un impact important sur le r´esultat final. Cependant, `a
partir d’un certain nombre de directions trait´ees, les diff´erences entre les r´esultats diminuent
fortement, elles sont presque nulles au del`a de 12 directions. Or, le nombre de directions trait´ees
58CHAPITRE 2. OUTILS ET METHODES N ´ ECESSAIRES ´ A LA CHA ` ˆINE DE
TRAITEMENTS
augmente sensiblement le temps de calcul de la m´ethode, il est donc n´ecessaire de trouver
le nombre de directions ad´equat afin d’obtenir le meilleur ´equilibre entre temps de calcul et
pr´ecision du r´esultat.
Dans la plupart des probl`emes trait´es dans ces travaux, un nombre de 8 ou 12 directions sera
utilis´e. Une comparaison des r´esultats obtenus avec 1, 4, 8, 12 et 16 directions est pr´esent´ee
dans le chapitre 5.
2.3 Conclusion
La spatio–triangulation permet l’affinage des mod`eles g´eom´etriques des images afin de
corriger les erreurs d’orientation et d’attitude dues `a une restitution imparfaite des informations
sur la position du satellite, son orientation et sa direction de vis´ee lors de l’acquisition. L’objectif
de cette op´eration, r´ealis´ee simultan´ement sur toutes les images disponibles, est de permettre
un recalage relatif pr´ecis entre toutes ces donn´ees.
Cette ´etape est r´ealis´ee `a l’aide d’outils existants permettant la recherche fiable de points
homologues puis l’ajustement des faisceaux.
Cependant, nous avons montr´e que des d´efauts, de capteur ou d’attitude, persistent dans
les mod`eles affin´es. Ces erreurs peuvent n´eanmoins ˆetre acceptables lorsqu’elles restent sub–
pixelliques comme c’est le cas pour les images WorldView-1 que nous utilisons.
Le second outil que nous avons d´etaill´e, au cours de ce chapitre, est un algorithme de
programmation dynamique que nous avons impl´ement´e et adapt´e pour le calcul de trois des
traitements de la chaˆıne d´evelopp´ee au cours de cette th`ese : la mise en correspondance, la
fusion des MNS et la d´etection des changements d’´el´evation.
Cet algorithme de programmation dynamique a ´et´e s´electionn´e pour sa facilit´e d’impl´ementation
par rapport `a d’autres m´ethodes d’optimisation globales classiques telles que les graph–cuts
mais aussi et surtout pour la rapidit´e d’ex´ecution des calculs et son efficacit´e reconnue.
592.3. CONCLUSION
60Chapitre 3
G´en´eration de Mod`eles Num´eriques
de Surface sur une grille r´eguli`ere `a
partir de couples st´er´eoscopiques
Comme nous l’avons vu dans le chapitre 1, de nombreuses techniques existent pour la
g´en´eration de MNS en fonction des contraintes associ´ees aux donn´ees d’entr´ee et des sources
d’erreurs `a prendre en compte. La strat´egie que nous avons choisie est bas´ee sur trois ´etapes
de calcul. La premi`ere ´etape consiste en une mise en correspondance des images `a l’aide d’un
outil existant, MicMac, et dont les options que nous utilisons seront d´ecrites dans une premi`ere
partie de ce chapitre.
Puis nous d´etaillerons la m´ethode que nous avons d´evelopp´ee afin de basculer les MNS sur une
grille r´eguli`ere terrain tout en localisant et filtrant certaines erreurs de mise en correspondance.
Dans une troisi`eme partie, nous pr´esenterons certaines erreurs de mise en correspondance
non corrig´ees, notamment dues aux zones d’occlusion de l’image esclave et nous d´ecrirons la
m´ethode que nous avons d´evelopp´ee pour r´esoudre ce probl`eme et am´eliorer la pr´ecision des
MNS obtenus. Cette m´ethode est bas´ee sur la fusion des deux MNS g´en´er´es `a partir du mˆeme
couple d’images st´er´eoscopiques par inversion des rˆoles maˆıtre et esclave des images. Nous
d´etaillerons notamment l’algorithme permettant cette fusion `a travers la labellisation des pixels
du MNS final, contrˆol´ee par une contrainte de r´egularisation spatiale.
613.1. DESCRIPTION DE LA STRATEGIE DE MISE EN CORRESPONDANCE ADOPT ´ EE´
Puis, dans une derni`ere partie, nous analyserons les r´esultats obtenus `a travers la comparaison
des MNS g´en´er´es avec une v´erit´e LiDAR, acquise `a une date proche de nos donn´ees satellites,
sur la ville de Christchurch en Nouvelle-Z´elande.
3.1 Description de la strat´egie de mise en correspondance
adopt´ee
3.1.1 Technique de mise en correspondance
La m´ethode de mise en correspondance d’images que nous avons s´electionn´ee est bas´ee sur
la g´eom´etrie image (repr´esent´ee figure 1.1(b), p34). Comme cit´e dans le chapitre 1, section
1.2.3, cette g´eom´etrie ne n´ecessite pas le r´e–´echantillonnage complet de l’image en g´eom´etrie
´epipolaire et se montre plus robuste que la g´eom´etrie terrain aux erreurs g´eom´etriques des
images ainsi qu’aux zones d’occlusion lorsque seulement deux images sont en jeu [48]. Cette
robustesse est un avantage certain pour notre chaˆıne de traitements dans laquelle toute erreur
de MNS (planim´etrique ou altim´etrique) peut avoir des cons´equences sur la carte finale des
changements de la sc`ene.
Le principe de la g´eom´etrie image r´eside dans le parcours des lignes de vis´ee des pixels dont
la mod´elisation a ´et´e affin´ee lors de l’´etape de spatio-triangulation (chapitre 2,section 2.1).
Pour chacun des pixels de l’image maˆıtre (g´en´eralement l’image la plus au nadir) et de coordonn´ees
xM(lM, cM), la ligne de vis´ee est parcourue de fa¸con discr`ete avec un pas altim´etrique
d´etermin´e par l’utilisateur. Chaque pas d´efinit un point P dans l’espace, de coordonn´ees
(Px, Py, Pz). La ligne de vis´ee de l’image esclave passant par ce point de l’espace est alors
d´etermin´ee `a partir du mod`ele g´eom´etrique inverse de l’image esclave et le pixel correspondant
dans cette image, de coordonn´ee (lE, cE) est localis´e.
La corr´elation entre les pixels est alors effectu´ee `a travers des fenˆetres de corr´elation centr´ees sur
chacun des pixels de l’image maˆıtre et de l’image esclave et de taille sp´ecifi´ee par l’utilisateur
(ici une fenˆetre de rayon R = 2 pixels est utilis´ee). L’imagette de l’image esclave est alors
r´e–´echantillonn´ee dans la g´eom´etrie de l’imagette maˆıtre. Lorsque le pixel homologue est
s´electionn´e, on obtient alors, pour le pixel consid´er´e dans l’image maˆıtre, une valeur directe de
62CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
l’altitude du point.
Toutefois, la g´en´eration de MNS dans la g´eom´etrie de l’image maˆıtre pr´esente un inconv´enient.
En effet, puisque la recherche de l’´el´evation est r´ealis´ee `a partir de l’image maˆıtre, la carte
des ´el´evations est g´en´er´ee dans la g´eom´etrie de l’image maˆıtre et il est alors n´ecessaire de les
r´e–´echantillonner dans une nouvelle grille g´eographique r´eguli`ere afin que les MNS produits `a
partir de diff´erentes images maˆıtre soient comparables entre eux pixel `a pixel.
3.1.2 Fonction d’optimisation et r´egularisation
Parmi les m´ethodes d’optimisation impl´ement´ees dans l’outil MicMac, nous avons choisi
une m´ethode bas´ee sur la programmation dynamique, notamment pour des raisons de temps de
calcul (cf. chapitre 2 section 2.2.2). L’´equation g´en´erale de cette optimisation est pr´esent´ee en
section 2.2.3
Lors de la mise en correspondance, les labels correspondent `a toutes les ´el´evations z test´ees et le
coˆut d’attache aux donn´ees Cdata(xMi
, z(xMi
)), c’est–`a–dire le coˆut pour assigner une ´el´evation
z `a un pixel xMi de l’image maˆıtre, est une fonction du score de corr´elation obtenu entre le
pixel de l’image maˆıtre xMi
et le pixel homologue trouv´e dans l’image esclave xE. Il est ici
calcul´e avec le NCC (´equation 3.1) :
Cdata(xMi
, z(xMi
)) = NCC(xMi
, xE). (3.1)
Soit deux vecteurs uM et uE constitu´es de l’ensemble des q valeurs des vignettes de corr´elation
centr´ees en xMi
et en xE, respectivement. p
ds
w est une fonction de pond´eration, w ∈ [1 : q]. Pour
chaque vecteur uM de valeurs Uw, on pose :
R(uM) =
Pq
w=1 p
ds
P w Uw
n
w=1 p
ds
w
(3.2)
La d´efinition est identique pour chaque vecteur VE de valeurs Vw.
Le coefficient de corr´elation s’´ecrit :
NCC(uM, vE) = R(uMvM) − R(uM)R(vE)
q
(R(u
2
M) − R(uM)
2) ∗ (R(v
2
E
) − R(vE)
2)
(3.3)
Lors de la g´en´eration de MNS, la r´egularisation a pour but de limiter les variations d’altitude.
Ainsi, cette fonction est calcul´ee `a partir de la diff´erence d’altitude obtenue entre deux pixels
633.1. DESCRIPTION DE LA STRATEGIE DE MISE EN CORRESPONDANCE ADOPT ´ EE´
cons´ecutifs de l’image maˆıtre xMi
et xMi−1
selon l’´equation suivante :
Creg((xMi
, z(xMi
)),(xMi−1
, z(xMi−1
))) = f(| z(xMi) − z(xMi−1)
|). (3.4)
(a) Carte des ´el´evations d’un couple WorldView-1, r´egularisation λ = 0.02.
(b) Carte des ´el´evations d’un couple WorldView-1, r´egularisation λ = 1.0.
Figure 3.1 – Illustration de l’impact de la r´egularisation pour la g´en´eration de MNS.
Le param`etre de r´egularisation est un param`etre particuli`erement important dans la g´en´e-
64CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
ration des MNS puisqu’il contrˆole les variations d’altitudes des MNS g´en´er´es. En effet, plus sa
valeur est importante, plus le poids de la r´egularisation spatiale sera important, faisant disparaˆıtre
les structures les plus fines (et le bruit) du MNS et flouter les bords de bˆatiments.
Ce ph´enom`ene est bien repr´esent´e en figure 3.1(b). Inversement, une faible r´egularisation va
permettre d’observer les variations plus fines d’altitude (et ainsi de s´eparer les bˆatiments tr`es
proches les uns des autres), mais en augmentant la pr´esence de bruit (figure 3.1(a)).
Ainsi, en milieu urbain, milieu dans lequel les discontinuit´es et les variations fines d’´el´evation
doivent ˆetre respect´ees afin d’obtenir un MNS pr´ecis au niveau des bˆatiments, la r´egularisation
est d´efinie `a une valeur faible, de mˆeme pour un milieu fortement escarp´e. Inversement, en milieu
rural, d´esertique ou vallonn´e, la r´egularisation peut ˆetre largement augment´ee.
L’outil MicMac permet d’adapter ais´ement ce param`etre qui fait ainsi partie des param`etres de
notre chaˆıne de traitements.
3.1.3 Prise en compte des zones d’occlusion
La m´ethode choisie pour la prise en compte des zones d’occlusion est bas´ee sur une localisation
post–traitement, apr`es la g´en´eration de la carte d’´el´evation de la sc`ene en g´eom´etrie image.
En effet, lors du r´e–´echantillonnage de la carte des ´el´evations sur une grille r´eguli`ere, ´etape dite
de “basculement”, nous avons d´evelopp´e une m´ethode permettant de localiser ces zones en fonction
des angles d’acquisition de l’image maˆıtre et de la pr´esence de discontinuit´es.
Le basculement a ainsi un rˆole majeur dans la g´en´eration du MNS final.
3.2 D´eveloppement d’une m´ethode de basculement des MNS
sur une grille g´eographique r´eguli`ere
Comme pr´ecis´e pr´ec´edemment, selon cette technique de mise en correspondance, la carte
des ´el´evations est calcul´ee dans la g´eom´etrie de l’image maˆıtre. Afin de comparer des cartes
d’´el´evations obtenues sur une mˆeme zone selon diff´erentes dates, diff´erents capteurs ou mˆeme
selon diff´erentes techniques de g´en´eration de MNS, il est n´ecessaire de r´e–´echantillonner ces
cartes d’´el´evations selon une grille terrain r´eguli`ere et commune `a toutes les cartes produites.
C’est l’´etape de basculement.
G´en´eralement, ce r´e–´echantillonnage est effectu´e par interpolation des points de la grille
653.2. DEVELOPPEMENT D’UNE M ´ ETHODE DE BASCULEMENT DES MNS SUR UNE ´
GRILLE GEOGRAPHIQUE R ´ EGULI ´ ERE `
r´eguli`ere. Ainsi, l’´el´evation de chacun des points de cette grille r´eguli`ere est interpol´ee `a partir
des coordonn´ees terrain des trois points les plus proches de lui provenant de la carte des
´el´evations calcul´ee. Pour ce faire, les pixels de la grille image sont parcourus par triplets. Cette
technique d’interpolation est la plus commune, notamment parce que la maille d’origine est une
maille carr´ee.
Le basculement que nous proposons est aussi bas´e sur une interpolation des points de la
grille r´eguli`ere `a partir du nuage de points form´e par la carte des ´el´evations en g´eom´etrie image.
Mais, avant chaque interpolation d’un point de la grille `a partir des points les plus proches,
certaines conditions sont v´erifi´ees afin de d´eterminer si le point est valide et peut ˆetre calcul´e
ou non. Ces conditions reposent sur des contraintes g´eom´etriques permettant la d´etection des
fa¸cades et des zones d’occlusion et une contrainte qualitative sur le score de corr´elation obtenu
lors de la mise en correspondance. Elles ont pour but de limiter les erreurs sur le MNS final
produit.
3.2.1 Interpolation des points de la grille r´eguli`ere
L’´etape de basculement repose sur une interpolation de l’´el´evation de chacun des points
de la grille r´eguli`ere `a partir des trois points les plus proches formant un triangle autour du
pixel consid´er´e, le syst`eme est illustr´e en figure 3.2. Ce triplet de point provient du nuage de
points obtenu lors de la mise en correspondance et dont les coordonn´ees planim´etriques ont ´et´e
calcul´ees grˆace aux mod`eles g´eom´etriques des images.
Les pixels de l’espace image, consid´er´es par triplets, de coordonn´ees ligne l et colonne c tel que
P
I
1 = (l, c), P
I
2 = (l, c+ 1) et P
I
3 = (l + 1, c) correspondent alors `a des coordonn´ees x y et z dans
l’espace terrain T tel que P
E
1 = (x1, y1, z1), P
E
2 = (x2, y2, z2) et P
E
3 = (x3, y3, z3) (sommets des
triangles noirs sur la figure 3.2).
Si un point de la grille terrain r´eguli`ere (en rouge sur la figure 3.2) se situe `a l’int´erieur du
triangle, les points de coordonn´ees P = (xP , yP , zP ) sont alors interpol´es par une interpolation
lin´eaire `a partir des coordonn´ees des trois sommets du triangle P
E
1
, P
E
2
et P
E
3
.
66CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
Figure 3.2 – Principe de parcours de la grille image maˆıtre pour l’interpolation des points de
la grille r´eguli`ere.
3.2.2 Conditions au calcul de l’´el´evation d’un point
Les images ayant ´et´e acquises avec un angle d’incidence pouvant ˆetre fort, deux difficult´es
doivent ˆetre consid´er´ees :
– les fa¸cades de bˆatiments, visibles sur l’image maˆıtre, g´en`erent plusieurs points d’´el´evations
diff´erentes mais avec les mˆemes coordonn´ees planim´etriques,
– les zones d’occlusion des images doivent ˆetre localis´ees afin de ne pas interpoler les points
correspondants.
Pour le premier cas, lors du calcul de l’´el´evation d’un point situ´e `a l’int´erieur d’un triangle
d’interpolation tel que le point P de la figure 3.2, si il apparaˆıt qu’une ´el´evation a d´ej`a ´et´e d´etermin´ee
`a ces mˆemes coordonn´ees planim´etriques, cela peut signifier que ce point appartient `a une
fa¸cade de bˆatiment. En effet, le long d’une fa¸cade, les points poss`edent les mˆemes coordonn´ees
planim´etriques mais des coordonn´ees altim´etriques diff´erentes.
Dans ce cas, seul le point correspondant `a l’´el´evation maximum trouv´e doit ˆetre pris en compte,
ceci afin de retrouver l’´el´evation la plus haute du bˆatiment (son toit). Cette technique de recherche
de la plus haute ´el´evation d’un objet est connue sous le nom de Z-Buffer dans la litt´erature
[69].
673.2. DEVELOPPEMENT D’UNE M ´ ETHODE DE BASCULEMENT DES MNS SUR UNE ´
GRILLE GEOGRAPHIQUE R ´ EGULI ´ ERE `
Pour le second cas, les zones d’occlusion doivent ˆetre localis´ees afin de ne pas interpoler les
points de ces zones ce qui entraˆınerait des erreurs.
Dans ce but, nous avons mis en place une technique de d´etection des zones d’occlusion bas´ee sur
leur localisation `a partir de l’analyse des angles d’acquisition (´el´evation et azimut) de l’image
maˆıtre. La figure 3.3 illustre le principe de localisation utilis´e.
Sur la figure 3.3, les points P
E
1
, P
E
2
et P
E
3
repr´esentent les points dans l’espace terrain
correspondant `a un triplet de pixels de l’image maˆıtre. Le point P correspond au point de la
grille r´eguli`ere `a interpoler.
Dans une premi`ere ´etape, les deux points du triplet de points correspondant `a l’´el´evation
maximum et minimum dans le triangle sont d´etermin´es, si la diff´erence d’´el´evation Dh obtenue
sur le triangle est inf´erieure `a 1 m (r´esolution altim´etrique des MNS), le point P de la grille
terrain situ´e dans le triangle peut ˆetre calcul´e directement car le terrain est consid´er´e comme
quasiment plat `a cet endroit.
Si une diff´erence d’´el´evation plus importante est relev´ee, il est alors n´ecessaire de d´efinir si
une zone d’occlusion est pr´esente `a cet endroit et quelle est son emprise afin de d´ecider si le
triangle est viable pour le calcul d’un point.
En premier lieu, on d´efinit le point le plus ´elev´e (P
E
1 dans la figure 3.3) et le plus bas (point
P
E
3
) du triplet de points.
La droite DM reliant la projection de P
E
1
, P
E′
1
sur le plan horizontal et le point P
E
3
est calcul´ee.
Cette droite repr´esente la distance au sol entre le point le plus haut et le point le plus bas.
Puis, les angles d’azimut a et d’incidence i sont d´efinis pour le point P
E
1
. On d´etermine alors
la droite Di
, projection sur le plan horizontal du vecteur d´efini dans l’espace par les angles
d’azimut et d’incidence au point P
E
1
. La droite Di repr´esente alors l’orientation et la longueur
au sol de la zone d’occlusion.
Le vecteur DM pr´ec´edemment obtenu est alors projet´e sur le vecteur Di en un vecteur Dx. Cette
projection permet de situer le triplet de points consid´er´es en fonction de la zone d’occlusion, i.e
si les vecteurs sont oppos´es le point peut ˆetre calcul´e car il n’y a pas de zone d’occlusion (sur
l’image maˆıtre). Si les vecteurs sont dans le mˆeme sens et que Dx est plus grand que Resplani
2
,
Resplani ´etant la r´esolution planim´etrique du MNS, alors le point ne peut pas ˆetre calcul´e car il
68CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
Figure 3.3 – Illustration du principe de l’interpolation d’une grille r´eguli`ere terrain `a partir des
points obtenus dans la g´eom´etrie de l’image maˆıtre.
se situe dans la zone d’occlusion de l’image maˆıtre.
Ce principe permet la localisation rapide des zones d’occlusion qui pourront alors ˆetre prises en
compte dans la suite des calculs.
Enfin, une derni`ere contrainte sur le basculement consiste `a ne pas prendre en compte, dans le
calcul, les pixels de la carte des ´el´evations dont le score de corr´elation final, obtenu lors de la
mise en correspondance, est inf´erieur `a un certain seuil. L’objectif est ici de filtrer les points
pour lesquels la corr´elation a ´echou´e, toujours afin de limiter les erreurs sur le MNS final.
Ce seuil sur le score de corr´elation est d´efini ici `a 2σ, σ ´etant l’´ecart–type obtenu `a l’histogramme
des scores de corr´elation. Cette valeur est g´en´eralement proche de 0, 45.
La figure 3.4(b) illustre le r´esultat d’un basculement d’une carte des ´el´evations pr´esent´ee en
figure 3.4(a) obtenue `a partir d’un couple d’images WorldView-1 `a 60 cm de r´esolution spatiale.
Sur la carte bascul´ee, les pixels noirs repr´esentent les zones masqu´ees lors du basculement, que
693.2. DEVELOPPEMENT D’UNE M ´ ETHODE DE BASCULEMENT DES MNS SUR UNE ´
GRILLE GEOGRAPHIQUE R ´ EGULI ´ ERE `
(a) Carte des ´el´evations en g´eom´etrie image
(b) Carte des ´el´evations en g´eom´etrie terrain
Figure 3.4 – Illustration du r´esultat du basculement d’un MNS WorldView-1 `a partir de la carte
des ´el´evations en g´eom´etrie image.
70CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
ce soit `a cause des zones d’occlusion de l’image maˆıtre ou d’un score de corr´elation trop faible.
Il faut noter que lors de toutes les ´etapes suivantes de notre chaˆıne de traitements, ces points
ne sont jamais interpol´es `a partir de leurs voisins. En effet, leur interpolation serait susceptible
de produire des erreurs dans le MNS, erreurs pouvant se r´epercuter dans la carte finale de
d´etection de changements.
Cette technique de localisation des zones d’occlusion est bas´ee uniquement sur une analyse
g´eom´etrique, post´erieure au calcul des ´el´evations par mise en correspondance. Son principal
inconv´enient est de produire de nombreuses fausses zones d’occlusion. Ces erreurs proviennent
le plus souvent d’erreurs de corr´elation dans la carte des ´el´evations originale. En effet, une
erreur de corr´elation g´en`ere, par d´efinition, une ´el´evation erron´ee et donc souvent une variation
d’´el´evation entre deux pixels voisins, qui ne repr´esente pas la r´ealit´e. Dans la m´ethode de
d´etection des zones d’occlusion, cette variation est assimil´ee `a la pr´esence d’un bˆatiment et la
zone `a proximit´e de la variation d’´el´evation est alors consid´er´ee comme une zone d’occlusion.
Ainsi, de nombreux pixels du MNS bascul´es peuvent ˆetre masqu´es sans pour autant faire partie
d’une zone d’occlusion.
Sur des zones homog`enes de l’image, toit de bˆatiment large et lisse par exemple tel que
celui du bˆatiment carr´e encercl´e dans la figure 3.4(a), on observe de nombreuses petites zones
noires masqu´ees. Ces zones masqu´ees proviennent tr`es probablement de pixels dont le score de
corr´elation se situait en dessous du seuil fix´e.
Dans les sections et chapitres suivants, ces zones d’occlusion et de mauvaise corr´elation
d´etect´ees et masqu´ees lors du basculement seront regroup´ees et cit´ees sous le terme de “masque
du MNS“.
Ce masque de MNS sera pris en compte lors de toutes les ´etapes suivantes de la chaˆıne de
traitements.
713.3. AMELIORATION DES MNS : D ´ EVELOPPEMENT D’UNE M ´ ETHODE DE FUSION ´
DES MNS
3.3 Am´elioration des MNS : d´eveloppement d’une m´ethode de
fusion des MNS
3.3.1 Erreurs des MNS asym´etriques
Les figures 3.5(a) et 3.5(c) pr´esentent les r´esultats de deux MNS calcul´es `a partir du mˆeme
couple st´er´eoscopique mais avec inversion des rˆoles maˆıtre et esclave de chaque image.
Sur ces images, les pixels noirs repr´esentent les zones masqu´ees car appartenant `a des zones
d’occlusion ou des zones de faible score de corr´elation, calcul´ees lors du basculement (section
3.2).
De fa¸con g´en´erale, les deux MNS produits `a partir du mˆeme couple st´er´eoscopique sont tr`es
similaires. On note, pour une zone de 2000 × 2000 pixels sur un couple d’image WorldView-1
acquis en 2008 sur la ville de Phoenix, une diff´erence moyenne de 0,004 m avec un ´ecart–type
de 1,76 m. Cet ´ecart-type r´esulte typiquement du bruit provenant de mauvaises corr´elations
ou de zones d’occlusion ayant g´en´er´e des erreurs lors de la mise en correspondance des images,
erreurs ensuite r´epercut´ees sur les MNS bascul´es.
On observe que, selon le MNS (et donc selon l’angle d’acquisition de l’image maˆıtre), les
zones d’occlusion sont g´er´ees et masqu´ees plutˆot au sud (figure 3.5(a)) ou au nord (figure 3.5(c))
des bˆatiments.
De plus, comme d´etaill´e pr´ec´edemment, certaines erreurs de corr´elation ont g´en´er´e des variations
d’´el´evation dans la carte des ´el´evations qui ont elles–mˆemes g´en´er´e des occlusions virtuelles lors
du basculement. Ces erreurs ´etant variables d’un MNS `a l’autre, les zones d’occlusion g´en´er´ees
sont aussi variables entre les MNS.
Enfin, des erreurs importantes de corr´elation sont visibles dans les MNS. Ces erreurs sont variables
en amplitude et en localisation selon le MNS, elles sont notamment visibles `a proximit´e
des bˆatiments et encercl´ees en rouge sur la figure 3.5(a).
Afin d’obtenir un MNS coh´erent et le plus pr´ecis possible, la solution propos´ee est de calculer les
deux cartes d’´el´evation provenant du mˆeme couple avec inversion des rˆoles maˆıtre et esclave des
images puis de fusionner ces MNS, pr´ealablement bascul´es dans la mˆeme g´eom´etrie. L’objectif
de cette fusion est de garder le maximum d’informations correctes provenant de l’un ou l’autre
des MNS.
72CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
(a) MNS1, couple st´er´eoscopique WorldView-1 du 24/06/2008.
(c) MNS2, couple st´er´eoscopique WorldView-1 du 24/06/2008.
Figure 3.5 – MNS asym´etriques provenant du mˆeme couple d’images st´er´eoscopiques.
733.3. AMELIORATION DES MNS : D ´ EVELOPPEMENT D’UNE M ´ ETHODE DE FUSION ´
DES MNS
3.3.2 M´ethode de fusion des MNS asym´etriques
Plusieurs techniques peuvent ˆetre employ´ees pour la fusion des deux MNS.
Une technique consiste `a calculer, pour chaque pixel, la moyenne entre les deux valeurs obtenues.
Si l’une des deux valeurs appartient `a un des masques de MNS calcul´es lors du basculement,
alors le pixel du MNS final est lui–mˆeme enregistr´e dans le masque final du MNS. Ce masque
final repr´esente alors l’union des deux masques g´en´er´es pour chaque MNS.
Un r´esultat de cette fusion est pr´esent´e figure 3.6(c). Sur cette figure, les erreurs de corr´elation
encercl´ees pr´ec´edemment n’ont pas ´et´es corrig´ees, on observe mˆeme que le MNS fusionn´e
poss`ede toutes les erreurs provenant de chacun des MNS. De mˆeme, le masque final, union des
deux masques des MNS est plus cons´equent que les masques de chacun des MNS. Cette fusion
par la moyenne entraˆıne donc la perte qualitative et quantitative d’information par rapport `a
chacun des MNS source.
Afin de mieux prendre en compte les erreurs d’´el´evation de l’un ou l’autre des MNS tout en
utilisant toute l’information spatiale correcte de chacun des MNS (c’est–`a–dire en limitant les
erreurs et les zones masqu´ees), nous proposons de r´esoudre la fusion `a l’aide d’une contrainte
de r´egularisation spatiale.
La m´ethode propos´ee est bas´ee sur un probl`eme de labellisation permettant d’obtenir le MNS
final : `a chaque pixel xi du MNS final est attribu´e un label m provenant du jeu de label
M ∈ {MNS1, MNS2, Occlusion}. La valeur du pixel attribu´ee au MNS final est alors celle qui
correspond au label s´electionn´e. Les labels MNS1 et MNS2 correspondent, pour chaque pixel,
aux valeurs d’´el´evation calcul´ees lors de la g´en´eration de l’un ou l’autre MNS, tandis que le
label Occlusion correspond `a un label occlusion, attribu´e au pixel lorsque aucune valeur de
MNS ne paraˆıt coh´erente.
Le choix d’un label, pour chacun des pixels du MNS final est effectu´e `a partir des diff´erentes
donn´ees obtenues `a la g´en´eration des MNS. Ces donn´ees sont :
– le Normalized Cross Correlation Coefficient, NCC(pr´esent´e en section 3.1.2 et d’´equation
3.3) obtenu lors de la mise en correspondance des images pour chacun des pixels (et r´e–
´echantillonn´e dans la mˆeme g´eom´etrie que le MNS lors de l’´etape de basculement, section
74CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
(a) MNS1. (b) MNS2.
(c) R´esultat de la fusion des MNS par une moyenne et l’intersection des
zones d’occlusion.
Figure 3.6 – MNS provenant du mˆeme couple st´er´eoscopique et r´esultat de leur fusion par la
moyenne.
753.3. AMELIORATION DES MNS : D ´ EVELOPPEMENT D’UNE M ´ ETHODE DE FUSION ´
DES MNS
3.2),
– la diff´erence d’´el´evation obtenue entre les deux MNS pour le mˆeme pixel,
– la r´egularisation spatiale qui d´epend de la variation d’altitude entre deux pixels cons´ecutifs
dans le MNS final.
Le NCC est une donn´ee importante qui permet ici de donner un indice de confiance `a
l’altitude d´elivr´ee par chaque pixel de chacun des MNS : plus le NCC est important, plus
la probabilit´e que la corr´elation soit correcte en ce pixel est ´elev´ee. La comparaison des
NCC provenant de chaque MNS permet alors d’indiquer quelle valeur de MNS paraˆıt la plus
pertinente.
De mˆeme, la diff´erence obtenue entre les valeurs de MNS sur un mˆeme pixel permet de localiser
des zones de mauvaise corr´elation ou d’occlusion. En effet, l’´el´evation obtenue en un pixel doit
ˆetre sensiblement la mˆeme pour les deux MNS, une diff´erence d’´el´evation correspond alors
g´en´eralement `a une erreur sur l’un ou les deux MNS. C’est le principe utilis´e par les techniques
de back matching pour la d´etection des zones d’occlusion [49], [33].
Enfin, la pr´esence d’une contrainte de r´egularisation spatiale permet de lisser le MNS final.
Comme d´etaill´e au chapitre 2, section 2.2.1, ce probl`eme de labellisation peut ˆetre r´esolu par
une minimisation d’´energie dont l’algorithme est d´ecrit en section 2.2.3 et l’´equation g´en´erale
est de type :
E(n) = X
x∈X
Cdata(n(x)) + X
(x′)∈V (x)
Creg(n(x), n(x
′
)). (3.5)
Nous rappelons que chaque MNS poss`ede d´ej`a son propre masque, calcul´e lors de l’´etape de
basculement d´ecrit en section 3.2. Les pixels appartenant `a ce masque doivent alors ˆetre pris en
compte lors du calcul du MNS final par fusion.
Ainsi, la valeur de tous les pixels de chaque MNS et correspondant `a un masque est d´efinie `a
−9999 lors de cette ´etape de fusion. Les valeurs correspondantes dans la carte des NCC sont,
elles, d´efinies `a 0. Nous d´etaillerons tout au long de cette section, comment ces pixels sont pris
en compte dans la fusion.
Dans cette ´etape de fusion, la fonction d’attache aux donn´ees, CData(xi
, m(xi)), pour les
labels MNS1 et MNS2 d´epend du coefficient de corr´elation (NCC) obtenu `a la g´en´eration des
76CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
MNS : plus ce coefficient est important pour le label consid´er´e m au pixel xi
, plus la probabilit´e
du label est ´elev´ee en ce pixel.
Concernant le label Occlusion, la fonction d’attache aux donn´ees d´epend du NCC maximum
obtenu entre les deux NCC correspondant `a chacune des valeurs de MNS en pr´esence et de la
diff´erence calcul´ee entre les deux valeurs de MNS au pixel xi
.
Ainsi, lorsque l’un ou les deux MNS obtiennent un score de corr´elation important, leur coˆut
d’attache aux donn´ees est faible tandis que celui du label Occlusion est fort car il est calcul´e
comme ´etant l’inverse du maximum de corr´elation obtenu. La probabilit´e du label Occlusion
est donc faible au pixel xi
. Le choix entre les labels MNS1 et MNS2 d´epend alors de chacun de
leur coefficient de corr´elation et de la r´egularisation. Ce cas est repr´esent´e par un chemin de
fl`eches vertes en larges pointill´es sur la figure 3.7.
L’´equation 3.6 r´esume le calcul des attaches aux donn´ees pour chacun des labels :
CData(xi
, m(xi)) =
1 − NCC(xi
, m(xi)) si m ∈ {MNS1, MNS2},
max[NCC(xi
, MNS1), NCC(xi
, MNS2)] + F1(xi) si m ∈ {Occlusion}.
(3.6)
Dans la fonction d’attache aux donn´ees du label Occlusion, la fonction F1(xi) correspond `a
la valeur absolue de la diff´erence d’´el´evation relev´ee au pixel xi et normalis´ee entre 0 et 1 tel
que :
F1(xi) = 1
1 + e−L(|Z(xi,MNS1)−Z(xi,MNS2)|−t1)
. (3.7)
Le param`etre L est d´efini `a 1.
Cette fonction, non lin´eaire, permet d’affecter un coˆut suffisamment faible pour les diff´erences
sup´erieures `a un seuil t1 d´efini `a 5 m, diff´erences consid´er´ees ici comme importantes et donc
pouvant provenir d’une occlusion. Des diff´erences plus faibles peuvent en revanche provenir
d’une faible erreur sur l’un des MNS qui ne doit pas pour autant privil´egier le label Occlusion
mais plutˆot le label MNS le plus pertinent, en particulier si le NCC correspondant est
fort. C’est pourquoi le NCC maximum est int´egr´e dans la fonction d’attache aux donn´ees
du label Occlusion : plus le maximum NCC est fort, plus la probabilit´e d’une occlusion est faible.
Dans le cas o`u l’une des valeurs de MNS au pixel xi correspond au masque natif du MNS,
773.3. AMELIORATION DES MNS : D ´ EVELOPPEMENT D’UNE M ´ ETHODE DE FUSION ´
DES MNS
par exemple pour le MNS2, on obtient : NCC(xi
, MNS2) = 0 et MNS2(xi) = −9999, donc :
CData(xi
, MNS1) = 1 − NCC(x, MNS1),
CData(xi
, MNS2) = 1,
CData(xi
, Occlusion) = NCC(x, MNS1) + 0.
(3.8)
Le pixel xi peut alors ˆetre labellis´e MNS1 ou bien Occlusion selon la valeur de NCC obtenue en
xi pour le MNS1. C’est le chemin repr´esent´e en fl`eches violettes et en petits pointill´es dans la
figure 3.7.
Dans le cas o`u les valeurs des deux MNS en xi appartiennent aux masques d’occlusion on
obtient :
CData(xi
, MNS1) = 1,
CData(xi
, MNS2) = 1,
CData(xi
, Occlusion) = 1.
(3.9)
Dans ce cas particulier, la valeur du MNS final en xi est forc´ement ´egale `a 0 (puisque tous les
labels en pr´esence correspondent `a une valeur `a 0) et le label s´electionn´e d´epend alors seulement
du terme de r´egularisation. C’est le chemin repr´esent´e en fl`eches oranges et lignes pleines dans
la figure 3.7.
La fonction de r´egularisation est d´efinie telle que :
CReg((xi
, m(xi)),(xi+1, m(xi+1))) = C
R, (3.10)
avec C
R le terme de r´egularisation qui d´epend de la diff´erence absolue entre les valeurs d’´el´evations
Z(xi
, m(xi)) et Z(xi+1, m(xi+1)) obtenues par les labels m pour deux pixels cons´ecutifs xi
et xi+1. Ce terme est calcul´e ainsi :
C
R =
F2(| Z(xi
, m(xi)) − Z(xi+1, m(xi+1)) |) si m(xi) et m(xi+1) ∈ {MNS1, MNS2},
β si m(xi) ∈ {MNS1, MNS2} et m(xi+1) ∈ {Occlusion},
γ si m(xi) ∈ {Occlusion}.
(3.11)
avec F2 d´efinie par :
F2(| Z(xi
, m(xi)) − Z(xi+1, m(xi+1)) |) = 1
1 + e−L(|Z(xi,m(xi))−Z(xi+1,m(xi+1))|−t2)
. (3.12)
78CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
Le param`etre L est d´efini `a 1. La valeur t2 de la fonction F2 est ici pos´ee `a 2.5 m (valeur
seuil utilis´ee dans la m´ethode de d´etection de changements). L’objectif de cette fonction est de
normaliser les diff´erences d’´el´evations entre 0 et 1 afin que les valeurs de coˆut obtenues pour
chaque label soient comparables entre elles.
F2 est une fonction de r´egularisation entre deux labels de pixels cons´ecutifs et permet ainsi de
lisser le MNS final car la valeur du label choisi est alors celle qui se rapproche le plus de la
valeur voisine.
L’utilisation d’une fonction sigmo¨ıde permet de donner des coˆuts similaires aux labels amenant
des variations d’´el´evation proches et ainsi ´eviter une fonction seuil qui attribuerait des coˆuts
´egaux `a 0 ou 1 et orienterait alors trop fortement le choix final du label.
Lors du calcul de la fonction de r´egularisation :
– lorsque l’une des deux valeurs cons´ecutives appartient `a l’un des masques natifs des MNS,
le coˆut calcul´e par la fonction F2 est alors proche de 1, coˆut ´elev´e permettant de limiter
la probabilit´e de ce label,
– lorsque les deux valeurs de pixels correspondent aux masques natifs des MNS, F2 est alors
´egal `a 0. Les coˆuts de labellisation sont alors similaires en ce pixel pour les deux MNS.
Les variables β et γ correspondent `a des valeurs fix´ees `a une valeur moyenne de coˆut (β = 0.5
et γ = 0.5). Ces valeurs, tr`es lˆaches, permettent d’attribuer des coˆuts neutres aux labels
consid´er´es, le coˆut final du label d´epend alors principalement de l’attache aux donn´ees.
La figure 3.7 pr´esente un sch´ema r´ecapitulatif qui illustre l’orientation du choix de chacun
des labels en fonction des donn´ees d’entr´ee (NCC et valeur de MNS) et des fonctions d’attache
aux donn´ees utilis´ees. Sur la figure 3.7, les carr´es bleus clair indiquent les labels gagnants
pour lesquels le coˆut attribu´e est le plus faible en fonction du calcul de l’attache aux donn´ees
mais aussi en fonction de la r´egularisation. Les labels entour´es en rouge repr´esentent les labels
impossibles pour chacun des cas d´ecrits.
En pratique, il est `a noter que les fonctions d’attache aux donn´ees, de mˆeme que la
r´egularisation, ne privil´egient que rarement le label Occlusion. Cette caract´eristique n’est
cependant pas un inconv´enient puisque l’objectif est de diminuer les occlusions, et notamment
793.3. AMELIORATION DES MNS : D ´ EVELOPPEMENT D’UNE M ´ ETHODE DE FUSION ´
DES MNS
les fausses occlusions provenant d’erreurs de corr´elation, et les pixels de faible NCC afin de
privil´egier les valeurs correctes de chacun des MNS.
De mˆeme, on note que des coˆuts tr`es similaires peuvent ˆetre affect´es aux deux labels MNS. Or,
comme pr´ecis´e pr´ec´edemment, en de nombreux pixels des MNS, les ´el´evations calcul´ees sont
tr`es proches car il n’y avait pas d’ambigu¨ıt´es dans la mise en correspondance. Dans ce cas,
l’affectation de l’une ou l’autre valeur des MNS n’a pas d’impact r´eel sur le MNS final.
La figure 3.8(c) pr´esente le r´esultat obtenu par la fusion par labellisation des deux MNS produits
`a partir du mˆeme couple st´er´eoscopique. Bien que toujours globalement similaire aux MNS,
ce r´esultat ne pr´esente plus les erreurs importantes de corr´elation encercl´ees pr´ec´edemment.
Figure 3.7 – Sch´ema r´ecapitulatif de la proc´edure de fusion des MNS en fonction des valeurs
initiales et de l’attache aux donn´ees.
80CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
(a) MNS1 (b) MNS2
(c) R´esultat de la fusion par optimisation avec r´egularisation spatiale.
Figure 3.8 – 3.8(a) et 3.8(b) : MNS calcul´es `a partir du mˆeme couple st´er´eoscopique et r´esultats
de leur fusion par optimisation globale 3.8(c).
813.4. QUALITE ET PR ´ ECISION DES MNS OBTENUS ´
Elles ont pu ˆetre supprim´ees grˆace `a cette m´ethode de fusion. De plus, les zones masqu´ees
sont r´eduites par rapport `a la fusion par la moyenne pr´esent´ee en figure 3.6(c), permettant
d’obtenir un r´esultat contenant une plus grande quantit´e d’informations car c’est la somme des
informations pertinentes des MNS1 et MNS2.
Enfin, il est `a noter que, bien que ces zones masqu´ees puissent ˆetre interpol´ees `a partir des
valeurs qui les entourent, nous avons choisi de ne pas le faire afin de ne pas g´en´erer d’erreurs
d’interpolation qui pourraient engendrer des erreurs dans la carte finale des changements
d’´el´evation. Ces zones sont alors consid´er´ees comme des zones de “non–information” et prises
en compte lors de la d´etection des changements d’´el´evation.
3.4 Qualit´e et pr´ecision des MNS obtenus
Afin d’observer l’apport de la m´ethode de g´en´eration des MNS par fusion par rapport `a la
g´en´eration de MNS asym´etriques par mise en correspondance simple, le MNS g´en´er´e sur la ville
de Christchurch (Nouvelle-Z´elande) est compar´e avec une v´erit´e terrain obtenue avec un LiDAR.
Ce LiDAR 1 a ´et´e acquis en 2011, ann´ee d’acquisition des images WorldView-2 sur la mˆeme zone
(voir tableau 1.1, chapitre 1, section 1.4).
La comparaison a ´et´e effectu´ee sur une zone commune entre le LiDAR et les MNS d’environ
2300 × 2600 pixels.
3.4.1 Co–localisation LiDAR et MNS
Le LiDAR dont nous disposons a ´et´e r´e–´echantillonn´e `a 1 m de r´esolution spatiale.
Comme discut´e dans le chapitre 2, section 2.1, les images ayant permis la g´en´eration des MNS
ont ´et´e affin´ees simultan´ement permettant leur co–localisation pr´ecise entre elles et ainsi, la
co–localisation pr´ecise entre les MNS. Cependant, cette co–localisation est effectu´ee en relatif
et la localisation absolue des mod`eles n’est pas garantie.
Ainsi, les MNS et le LiDAR ne peuvent ˆetre nativement co–localis´es (on observe des biais
1. Pour des raisons de confidentialit´e, le LiDAR et les informations associ´ees ne peuvent ˆetre pr´esent´es dans
ce manuscrit. Nous nous excusons pour cette restriction aupr`es des lecteurs.
82CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
jusqu’`a 12 m en longitude et 25 m en latitude entre le MNS et le LiDAR).
Afin de permettre la comparaison pr´ecise entre le LiDAR et les MNS, il est alors n´ecessaire de
recaler ces donn´ees entre elles. Cette op´eration est effectu´ee de fa¸con classique, en prenant des
points de liaison entre les donn´ees (ces points sont s´electionn´es au milieu des toits afin d’obtenir
une meilleure pr´ecision). L’erreur r´esiduelle sur ces points est d’environ 0,7 pixels RMS (erreur
moyenne quadratique). Puis, un mod`ele de d´eformation affine du MNS est calcul´e en fonction
de ces points de liaison afin d’obtenir un MNS recal´e (au pixel pr`es) sur le LiDAR.
3.4.2 Crit`eres de qualit´e
La comparaison entre le LiDAR et les MNS a ´et´e effectu´ee `a plusieurs niveaux : une
diff´erence globale a ´et´e r´ealis´ee entre les donn´ees afin d’observer le bruit de ces derni`eres.
Puis, une comparaison a ´et´e effectu´ee entre les zones masqu´ees des MNS afin d’observer les
erreurs r´esiduelles sur ces zones et leurs diff´erences entre le MNS asym´etrique et le MNS
fusionn´e. Enfin, la comparaison de profils s´electionn´es sur les diff´erentes donn´ees va permettre
d’observer comment les structures telles que les bords de bˆatiments, les toits mais aussi les
zones homog`enes sont g´er´ees dans les MNS.
Diff´erence globale
Dans un premier temps, l’image des diff´erences entre le LiDAR et le MNS asym´etrique
(MNS obtenu `a partir de la g´eom´etrie image puis bascul´e dans un espace terrain)a ´et´e
calcul´ee. La moyenne des diff´erences obtenue est d’environ −0, 4 m avec un ´ecart–type d’environ
3, 1 m. Cet ´ecart–type est particuli`erement important et illustre le bruit pr´esent dans le MNS.
La diff´erence calcul´ee entre le MNS fusionn´e (par la technique d´ecrite en section 3.3)
montre, elle, une moyenne d’environ −0, 25 m avec un ´ecart–type d’environ 2, 4 m. Ces valeurs,
largement plus faibles que les r´esultats obtenus avec le MNS asym´etrique attestent que la
proportion d’erreur a diminu´e sur le MNS fusionn´e.
833.4. QUALITE ET PR ´ ECISION DES MNS OBTENUS ´
Diff´erences entre les masques des MNS asym´etrique et fusionn´e
Les zones masqu´ees sur le MNS asym´etrique et pas sur le MNS fusionn´e, ou inversement,
repr´esentent les zones o`u la probabilit´e d’erreur est la plus forte.
Dans la section 3.3, nous expliquons que la fusion de deux MNS g´en´er´es `a partir du mˆeme
couple st´er´eoscopique, mais avec inversion des rˆoles maˆıtre et esclave, permet de prendre en
compte les zones d’occlusion situ´ees sur les deux images du couple st´er´eoscopique.
Cependant, nous avons pu noter, dans la section 3.2, que les erreurs de corr´elation g´en´er´ees lors
de la mise en correspondance peuvent engendrer des fausses zones d’occlusion. Ainsi, le masque
du MNS fusionn´e peut contenir des pixels faussement enregistr´es comme occlusion.
La comparaison de la taille de ces masques donne une premi`ere id´ee sur la qualit´e des MNS
et la pr´ecision des masques : en effet, on observe que 19,3% des pixels appartenant au MNS
asym´etrique sont enregistr´es dans le masque, tandis que cette quantit´e baisse `a 15,5% pour le
MNS fusionn´e. Cette diff´erence indique qu’une plus petite quantit´e de pixels a ´et´e enregistr´ee
dans le masque du MNS fusionn´e.
Ce ph´enom`ene est paradoxal puisque le MNS fusionn´e permet d’enregistrer les occlusions
appartenant aux deux images du couple st´er´eoscopique au contraire du MNS asym´etrique. On
peut donc en d´eduire que le masque du MNS fusionn´e est plus pr´ecis sur les zones d’occlusion
et limite le nombre de pixels masqu´es.
De plus, les masques des MNS prennent aussi en compte les scores de corr´elation les plus faibles
obtenus lors de la mise en correspondance. Or, nous avons vu que la fusion des MNS permet de
r´eduire le nombre de pixels masqu´es `a cause de ce seuil. En effet, lorsqu’un pixel est masqu´e
dans l’un des MNS mais poss`ede un score de corr´elation suffisamment ´elev´e dans l’autre MNS
tout en r´epondant `a la contrainte de r´egularisation, cette valeur de pixel est alors privil´egi´ee
dans le MNS final plutˆot que la valeur masqu´ee. Ces contraintes de calcul sur le MNS final
permettent ainsi de r´eduire les zones masqu´ees.
Afin de comparer la qualit´e des masques des MNS asym´etrique et fusionn´e, tous les pixels
enregistr´es dans un masque pour l’un des MNS et ayant une valeur d´efinie dans l’autre MNS,
sont compar´es avec la v´erit´e LiDAR.
84CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
(a) Histogramme des diff´erences entre le LiDAR
et les pixels masqu´es dans le MNS fusionn´e mais
d´efinis dans le MNS asym´etrique
(b) Histogramme des diff´erences entre le LiDAR et
les pixels masqu´es dans le MNS asym´etrique mais
d´efinis dans le MNS fusionn´e
Figure 3.9 – 3.9(a) et 3.9(b) : Histogrammes des cartes de diff´erences calcul´ees entre le liDAR
et le MNS asym´etrique et MNS fusionn´e, respectivement.
L’histogramme pr´esent´e en figure 3.9(a) int`egre les pixels masqu´es dans le MNS fusionn´e et
ayant une valeur d’´el´evation d´efinie dans le MNS asym´etrique.
Ces pixels repr´esentent 11,9% de l’image. On observe une moyenne des diff´erences entre ces
valeurs dans le MNS asym´etrique et le LiDAR de −2, 32 m avec un ´ecart–type de 6, 14 m.
L’histogramme confirme cette tendance de fortes diff´erences entre ces valeurs et le LiDAR.
Nous pouvons ainsi en d´eduire que ces valeurs d´efinies dans le MNS asym´etrique mais pas dans
le MNS fusionn´e repr´esentent principalement des erreurs d’´el´evation du MNS asym´etrique.
L’histogramme pr´esent´e en figure 3.9(b) correspond aux pixels masqu´es dans le MNS
asym´etrique mais ayant une valeur d´efinie dans le MNS fusionn´e.
On recense 8% des pixels de l’image appartenant `a cette cat´egorie. La diff´erence calcul´ee entre
ces pixels appartenant au MNS fusionn´e et la v´erit´e LiDAR est en moyenne de −1, 1 m avec un
´ecart–type de 3, 9 m. Ces chiffres montrent un r´esultat bien meilleur sur ces pixels bien que des
erreurs subsistent.
Ce r´esultat indique qu’un grand nombre de ces pixels, recens´es dans le masque du MNS
asym´etrique, poss´edaient en r´ealit´e une altitude d´efinie et correcte, car proche du LiDAR, dans
l’autre MNS asym´etrique. Ces valeurs sont donc maintenant des valeurs correctes dans le MNS
853.4. QUALITE ET PR ´ ECISION DES MNS OBTENUS ´
fusionn´e. Cependant, certaines erreurs r´esiduelles pourraient ˆetre corrig´ees, par exemple, grˆace
`a l’utilisation de plus de deux images st´er´eoscopiques afin d’am´eliorer la pr´ecision de ce masque.
Comparaison de profils d’´el´evation
Les figures 3.10(a) et 3.10(b) permettent de comparer des profils d’´el´evation obtenus entre
le LiDAR, le MNS asym´etrique et le MNS fusionn´e.
Ce profil, qui s’´etend sur une distance de 1000 m (la r´esolution spatiale des pixels ´etant de 1 m),
montre de nombreux bˆatiments, de hauteurs variables entre 4 et 9 m environ.
Globalement, les profils des MNS asym´etrique et fusionn´e suivent la tendance du profil LiDAR,
on observe cependant un biais entre le LiDAR et les MNS, ces derniers pr´esentent en effet une
altitude plus faible de plusieurs dizaine de centim`etres d’apr`es la zone basse entre 1900 m et
2100 m. Ce biais est aussi visible sur les bˆatiments situ´es entre 1800 m et 1900 m. Ce biais reste
n´eanmoins dans la r´esolution altim´etrique donn´ee pour les MNS qui est de 1 m.
On observe, malgr´e le bruit pr´esent sur les MNS, que le toit gondol´e du bˆatiment situ´e entre
2100 m et 2200 m est particuli`erement bien rendu dans les deux MNS. De mˆeme, les bˆatiments,
pourtant proches les uns des autres entre 1700 m et 1800 m apparaissent tr`es bien d´emarqu´es.
On note que le MNS asym´etrique semble g´en´erer un bruit plus important, avec de plus
fortes variations d’´el´evations, que celui g´en´er´e par le MNS fusionn´e. Les bords de bˆatiment
(correspondant `a des zones d’occlusion) sont aussi mieux g´er´es par le MNS fusionn´e. En effet,
on observe, notamment pour les bˆatiments entre 2100 m et 2300 m, que le MNS asym´etrique a
tendance `a ´elargir les bˆatiments et `a g´en´erer des ´el´evations tr`es fortes aux abords des bˆatiments.
Ce ph´enom`ene est corrig´e dans le MNS fusionn´e dans lequel tous les bords de bˆatiments sont
supprim´es car consid´er´es comme des zones d’occlusion.
Ce comportement montre l’int´erˆet de g´erer les zones d’occlusion dans les MNS puisque des
bords de bˆatiments ´elargis sont de fortes sources de fausses alarmes dans la carte finale des
changements.
86CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
(a) Comparaison des profils LiDAR et MNS asym´etrique.
(b) Comparaison des profils LiDAR et MNS fusionn´e.
Figure 3.10 – Profils d’´el´evation compar´es entre le MNS asym´etrique (en vert), le MNS fusionn´e
(en bleu) et le Lidar (en rouge).
3.5 Application au cas de la multi–st´er´eoscopie
L’algorithme que nous avons d´evelopp´e pr´ec´edemment permet le calcul d’un MNS pr´ecis
`a partir d’un couple st´er´eoscopique. Or, les nouveaux satellites tels que Pl´eiades permettent
aujourd’hui l’acquisition d’images en n–uplet st´er´eoscopiques, avec n ∈ [2 : 25] pour Pl´eiades.
Chaque image est alors acquise avec un angle d’incidence et d’azimut diff´erent. Dans ce cas, il
est n´ecessaire de prendre en compte tout ou partie des images produites pour le calcul d’un MNS.
L’algorithme de fusion des MNS est alors une solution int´eressante pour g´erer les n-uplets
st´er´eoscopiques.
873.5. APPLICATION AU CAS DE LA MULTI–STER´ EOSCOPIE ´
Dans ce contexte, la solution propos´ee est la cr´eation de tous les MNS possibles provenant de la
mise en correspondance de toutes les images 2 `a 2 avec inversion des rˆoles maˆıtre et esclave et la
fusion de tous les MNS obtenus afin de calculer un MNS final. Pour un n–uplet st´er´eoscopique,
le nombre de MNS `a g´en´erer est alors de NMNS = n ∗ (n − 1). Le nombre de labels pr´esents
dans la fusion est ensuite ´egal au nombre total des MNS g´en´er´es, additionn´e du label Occlusion.
Dans le calcul de la fusion, effectu´e selon l’algorithme d´ecrit pr´ec´edemment, la seule
diff´erence notable est le calcul de l’attache aux donn´ees pour le label Occlusion (´equation 3.6).
Dans le cas de la st´er´eoscopie simple, il est n´ecessaire de calculer la diff´erence entre les deux
valeurs de MNS obtenues au mˆeme pixel xi
. Dans le cas de la multi–st´er´eoscopie, le nombre
de MNS en jeu ´etant sup´erieur `a 2, toutes les diff´erences entre les MNS g´en´er´es sont calcul´ees
et l’attache aux donn´ees est alors fonction de la diff´erence minimale obtenue (en dehors des
diff´erences ´egales `a 0 qui proviennent de la diff´erence entre deux masques de MNS).
Ce choix d’utiliser la diff´erence minimum est orient´e par le fait qu’en un pixel, les valeurs de
MNS doivent ˆetre similaires. Ainsi, plus des valeurs seront proches, plus la probabilit´e que les
valeurs de MNS soient pertinentes est ´elev´ee.
La figure 3.12 pr´esente le r´esultat du calcul d’un MNS `a partir de deux images d’un triplet
st´er´eoscopique 3.12(a) et des trois images du triplet 3.12(b). Ce triplet d’images Pl´eiades a ´et´e
acquis sur la ville de Toulouse en mai 2012 (figure 3.11(a)).
La figure 3.11(b) permet de montrer les conditions d’acquisition de ce triplet. Dans cette figure,
la position d’un point sur le p´erim`etre du cercle repr´esente l’angle d’azimut de l’acquisition de
l’image consid´er´ee tandis que la position sur le rayon du cercle repr´esente l’angle d’incidence de
l’acquisition.
Selon cette figure, on observe que le triplet st´er´eoscopique a ´et´e acquis avec un angle d’incidence
assez ´elev´e (environ 25˚) et selon un seul passage du satellite. Ce syst`eme d’acquisition n’apparaˆıt
pas id´eal pour limiter les zones d’occlusion puisque les angles azimutaux des trois images
sont particuli`erement proches entre eux.
En effet, le MNS calcul´e `a partir de deux images contient de nombreuses zones masqu´ees `a cause
des nombreuses zones d’occlusion, particuli`erement importantes du fait des angles d’acquisition
des images, mais aussi des erreurs de corr´elation (sur les toits de bˆatiments, par exemple). Tandis
88CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
(a) Partie d’une image panchromatique du triplet st´er´eoscopique Pl´eiades acquis sur
la ville de Toulouse le 07/05/2012.
(b) Illustration de la g´eom´etrie d’acquisition du triplet st´er´eoscopique.
Figure 3.11 – Illustration du triplet st´er´eoscopique Pl´eiades acquis sur la ville de Toulouse.
893.5. APPLICATION AU CAS DE LA MULTI–STER´ EOSCOPIE ´
(a) Toulouse, MNS fusionn´e `a partir d’un couple st´er´eoscopique.
(b) Toulouse, MNS fusionn´e `a partir d’un triplet st´er´eoscopique.
Figure 3.12 – MNS calcul´es `a partir de 2 images puis 3 images du mˆeme uplet st´er´eoscopique.
90CHAPITRE 3. GEN´ ERATION DE MOD ´ ELES NUM ` ERIQUES DE SURFACE SUR UNE ´
GRILLE REGULI ´ ERE ` A PARTIR DE COUPLES ST ` ER´ EOSCOPIQUES ´
que le MNS tri-st´er´eoscopiques apparaˆıt beaucoup plus lisse et seules les vraies zones d’occlusion
(zones vues par aucune des images), situ´ees, comme attendues, au nord–ouest des bˆatiments,
sont masqu´ees.
De fa¸con quantitative, on observe que sur le MNS form´e `a partir de deux images st´er´eoscopiques,
19,2% des valeurs du MNS appartiennent au masque tandis que sur le MNS obtenu avec le triplet
st´er´eoscopique complet, seule 8,3% des valeurs appartiennent au masque.
Ce r´esultat montre l’apport de la multi–st´er´eoscopie pour la g´en´eration des MNS, mˆeme lorsque
les conditions d’acquisition st´er´eoscopiques ne sont pas id´eales, c’est–`a–dire que les images ne
sont pas acquises selon des angles d’azimut tr`es diff´erents. Cette comparaison permet de d´emontrer
non seulement la capacit´e de la m´ethode pour la multi–st´er´eoscopie mais aussi le fort
int´erˆet de la multi-st´er´eoscopie pour la pr´ecision des MNS.
3.6 Conclusion
La m´ethode de g´en´eration d´evelopp´ee dans notre chaˆıne de traitements est bas´ee sur trois
´etapes de calcul. La premi`ere est la mise en correspondance des images, selon une g´eom´etrie image
et donc bas´ee sur le calcul de l’´el´evation de tous les points d’une image maˆıtre, calcul effectu´e
par l’outil MicMac. La seconde ´etape est le basculement des ´el´evations, de la g´eom´etrie image
`a une g´eom´etrie terrain d´efinie. Cette op´eration, d´evelopp´ee au cours de cette th`ese, a permis
de mettre en place une meilleure gestion des points terrain situ´es dans des zones d’occlusion de
l’image maˆıtre, et de filtrer les points dont le score de corr´elation est particuli`erement bas.
Cette technique de mise en correspondance ´etant asym´etrique, les erreurs dues notamment aux
zones d’occlusion de l’image esclave ne sont pas prises en compte. La troisi`eme ´etape de calcul a
donc pour objectif de g´en´erer un MNS final dans lequel les zones d’occlusion appartenant `a l’une
ou l’autre des images du couple sont prises en compte tout en limitant les erreurs ponctuelles
de corr´elation pr´esentes sur l’un des MNS seulement. Pour cela, la mise en correspondance est
r´ealis´ee deux fois, avec inversion des images maˆıtre et esclave et les MNS obtenus sont fusionn´es
selon une technique formul´ee comme un probl`eme de labellisation dans lequel les labels de chaque
pixel correspondent aux valeurs de chacun des MNS en pr´esence ou `a un label occlusion. Ce
probl`eme est alors r´esolu `a partir de l’algorithme de programmation dynamique impl´ement´e, dont
les fonctions de coˆuts ont ´et´e adapt´ees afin de privil´egier les meilleurs coefficients de corr´elation
913.6. CONCLUSION
obtenus et les valeurs permettant de lisser les variations du MNS final.
Tous les param`etres et seuils de la m´ethode compl`ete de g´en´eration des MNS sont r´esum´es dans
le tableau 3.1.
La comparaison des MNS r´esultats avec un LiDAR acquis sur la mˆeme zone a permis de pr´esenter
l’apport de cette fusion de MNS par rapport `a un MNS asym´etrique, notamment envers les zones
d’occlusion ou les zones de mauvaise corr´elation.
Enfin, nous avons montr´e que cette m´ethode et l’algorithme d´evelopp´e ´etaient parfaitement
adaptables au cas de la multi–st´er´eoscopie quels que soient les angles d’acquisition des images.
Etape Param`etre impact sur le r´esultat Valeur recommand´ee MicMac
R´egularisation Impact important D´epend de la zone trait´ee :
des MNS sur les variations du MNS en milieu urbain λ = 0.02
Nombre de direction Impact mod´er´e d`es 12 directions
de calcul 12 directions
Basculement
R´esolution de la grille Impact sur la r´esolution 2 fois la r´esolution
terrain du MNS du r´esultat native des images
Seuil sur le score de Impact sur la qualit´e du 2σ
corr´elation MNS r´esultat
Fusion
Seuil t1 Impact sur la quantit´e D´epend des scores de corr´elation
de pixels d´efinis en label occlusion obtenus t1 5 m
Seuil t2 Impact faible D´efini `a 2,5 m
sur la r´egularisation du MNS
β et γ Impact faible D´efinies arbitrairement `a 0,5
Nombre de directions Impact tr`es mod´er´e G´en´eralement pos´e `a 12
de calcul sur le r´esultat
R´egularisation Impact mod´er´e D´efini exp´erimentalement `a 5,0
sur la r´egularisation du MNS
Table 3.1 – Tableau de synth`ese des param`etres de la m´ethode compl`ete de g´en´eration des MNS.
92Chapitre 4
D´eveloppement d’une m´ethode de
d´etection des changements
d’´el´evation
La derni`ere ´etape de la chaˆıne de traitements, d´evelopp´ee au cours de cette th`ese, consiste
`a d´etecter les changements d’´el´evation r´eels et pertinents de la sc`ene. Dans un contexte urbain,
ces changements correspondent `a toutes les constructions, destructions ou modifications de
bˆatiments ou d’infrastructures apparues entre les deux dates d’int´erˆet.
La m´ethode employ´ee pour la d´etection de changement est bas´ee sur l’analyse de la diff´erence
des MNS obtenus pour les dates t1 et t2. Cependant, `a la diff´erence de Tian [26] qui filtre
le MNS diff´erentiel `a partir d’op´erations morphologiques et de connaissances a priori sur les
tailles et formes des objets recherch´es, notre analyse est bas´ee sur une classification par une
m´ethode d’optimisation semi–globale des pixels de l’image.
Dans cette section, nous pr´esenterons tout d’abord l’int´erˆet du filtrage du MNS diff´erentiel
pour la mise en ´evidence des changements d’´el´evation puis nous d´etaillerons la m´ethode que
nous avons d´evelopp´ee afin de mettre en ´evidence les changements les plus pertinents.
934.1. CALCUL ET ANALYSE DU MNS DIFFERENTIEL ´
4.1 Calcul et analyse du MNS diff´erentiel
Comme d´ecrit dans le sch´ema global de la chaˆıne de traitements (chapitre 1, section 1.3,
figure 1.2), une fois les MNS g´en´er´es pour les dates t1 et t2, leur diff´erence dMNS est calcul´ee
telle que :
dMNS = MNSt2 − MNSt1
. (4.1)
Ainsi, les constructions apparues entre t1 et t2 apparaissent avec des pixels de valeurs positives
sur le MNS diff´erentiel tandis que les destructions correspondent `a des valeurs n´egatives.
L’union des zones masqu´ees de chacun des MNS, sont, quant `a elles d´efinies `a z´ero dans le MNS
diff´erentiel.
Cependant, certaines erreurs r´esiduelles de corr´elation restent attach´ees `a chacun des MNS,
comme nous l’avons illustr´e dans le chapitre 3, section 3.4 lors de la comparaison avec la v´erit´e
LiDAR et ce, malgr´e l’am´elioration de la pr´ecision des MNS.
Ces erreurs de corr´elation proviennent le plus souvent de la mise en correspondance sur des zones
difficiles telles que :
– les structures 3D complexes comme celles de la v´eg´etation,
– les zones homog`enes ou tr`es p´eriodiques,
– les bords de bˆatiments,
– les cibles mobiles,
– les zones d’occlusion.
Or, toute erreur dans un des MNS peut g´en´erer une diff´erence d’´el´evation potentiellement importante
dans le MNS diff´erentiel et ainsi provoquer une fausse d´etection dans la carte finale des
changements. La seule segmentation du MNS diff´erentiel ne permet donc pas de mettre en ´evidence
les changements pertinents d’´el´evation dans le bˆati car le nombre d’alarmes de d´etection
provenant des erreurs du MNS est alors trop grand.
Les figures 4.1(a) et 4.1(b) repr´esentent les MNS obtenus sur la ville de Phoenix aux dates
t1 = 2008 et t2 = 2011. La figure 4.2(a) montre le MNS diff´erentiel calcul´e `a partir de ces
deux MNS. Enfin, la figure 4.2(b) pr´esente un exemple de seuillage du MNS diff´erentiel. Sur cet
exemple toutes les diff´erences d’´el´evation inf´erieures `a -2,5 m sont repr´esent´ees en rouge et celle
sup´erieures `a 2,5 m, en bleu.
94CHAPITRE 4. DEVELOPPEMENT D’UNE M ´ ETHODE DE D ´ ETECTION DES ´
CHANGEMENTS D’EL´ EVATION ´
(a) MNS ombr´e calcul´e `a partir des images WorldView-1 de 2008.
(b) MNS ombr´e calcul´e `a partir des images WorldView-1 de 2011.
Figure 4.1 – 4.1(a) et 4.1(b) MNS de 2008 et 2011 calcul´es sur la zone 1 d´efinie sur la ville de
Phoenix.
954.1. CALCUL ET ANALYSE DU MNS DIFFERENTIEL ´
(a) MNS diff´erentiel calcul´e `a partir des MNS 2008 et 2011.
(b) MNS diff´erentiel segment´e `a 2,5 m (changements positifs en bleus)
et `a -2,5 m (changements n´egatifs en rouge).
Figure 4.2 – 4.2(a) MNS diff´erentiel. 4.2(b) MNS diff´erentiel seuill´e.
96CHAPITRE 4. DEVELOPPEMENT D’UNE M ´ ETHODE DE D ´ ETECTION DES ´
CHANGEMENTS D’EL´ EVATION ´
Notons que ce seuil `a 2,5 m repr´esente le seuil que nous utiliserons pour toutes les d´etections
de changements effectu´ees `a partir des MNS calcul´es `a 1 m de r´esolution altim´etrique et
planim´etrique. Ce seuil correspond `a la hauteur standard d’un ´etage de bˆatiment et paraˆıt tout
`a fait adapt´e pour la r´esolution des MNS (1 m de r´esolution altim´etrique et planim´etrique).
Sur cette figure, de tr`es nombreuses alarmes de changements sont visibles. Ces alarmes de
changements, souvent repr´esent´ees par quelques pixels, sont r´eparties sur toute l’image.
Les changements r´eels et pertinents du bˆati sont pourtant ais´ement rep´erables (pour les
plus importants) sur la carte seuill´ee. En effet, ces changements sont g´en´eralement repr´esent´es
par des amas de pixels, homog`enes spatialement et bien d´elimit´es contrairement au bruit.
C’est pourquoi, nous avons choisi de mettre en ´evidence ces changements pertinents `a partir
d’une technique de classification r´esolue `a travers une optimisation globale du MNS diff´erentiel,
associ´ee `a une contrainte de r´egularisation spatiale. Cette technique permet en effet de prendre
en compte la coh´erence locale du MNS diff´erentiel afin d’´eliminer le bruit tout en conservant les
changements coh´erents du bˆati.
4.2 M´ethode de d´etection des changements
La m´ethode choisie pour la d´etection des changements d’´el´evation consiste en une
classification des pixels du MNS diff´erentiel. A chaque pixel est attribu´e un label ` r provenant
du jeu de labels R et qui correspond `a un changement positif (construction), `a
un changement n´egatif (destruction) ou `a un non–changement, en fonction de sa valeur
mais aussi de celle des ses voisins afin de satisfaire la contrainte de r´egularisation spatiale
(R ∈ {Changementpositif, Changementngatif, Nonchangement}).
Ce probl`eme s’apparente alors aux probl`emes d’optimisations globales, introduits dans le
chapitre 2.2, et r´esolus `a partir de l’´equation g´en´erale 2.2.3.
La fonction d’attache aux donn´ees utilis´ee dans cette optimisation, CData(xi
, r(xi)), correspond
au coˆut pour attribuer un label r au pixel xi du MNS diff´erentiel, i ´etant la valeur de
974.2. METHODE DE D ´ ETECTION DES CHANGEMENTS ´
diff´erence d’´el´evation au pixel xi
. Ce coˆut, pour chaque label, d´epend de la valeur de diff´erence
d’´el´evation obtenue dans le MNS diff´erentiel et normalis´ee par une fonction sigmo¨ıde (repr´esent´ee
en figure 4.3).
Il est d´efini par :
CData(xi
, r(xi)) =
1
1+exp−L(|i|−T )
si r(xi) = {non changement},
1 −
1
1+exp−L(i−T )
si r(xi) = {changement positif},
1 −
1
1+exp−L(−i−T )
si r(xi) = {changement n´egatif}.
(4.2)
Dans l’´equation 4.2, le param`etre T est fix´e `a 2,5 m, seuil de la d´etection de changements d´efini
pr´ec´edemment.
La normalisation des valeurs du MNS diff´erentiel dans la fonction d’attache aux donn´ees permet
de rendre comparable entre eux les coˆuts obtenus par un pixel et pour chaque label. Si de
nombreuses techniques permettent la normalisation des valeurs, nous avons choisi une fonction
sigmo¨ıde qui permet un seuillage ”flexible” des coˆuts de chacun des labels selon la valeur du
pixel.
En effet, une fonction concave (ou “marche”) calculerait un coˆut `a 0 ou `a 1 sans aucun
interm´ediaire pour chaque label, une fonction lin´eaire, au contraire, ne serait pas suffisamment
d´eterminante pour des valeurs de pixels trop diff´erentes du seuil fix´e. Tandis que la fonction
sigmo¨ıde permet un seuillage plus doux.
Le param`etre L est li´e `a la courbure de la fonction sigmo¨ıde.
La figure 4.3 pr´esente diff´erentes sigmo¨ıdes calcul´ees avec des valeurs de L allant de L = 1, 0 `a
L = 4, 0. D’apr`es cette figure, on observe que la valeur de L s´electionn´ee permet d’obtenir des
coˆuts diff´erents de 0 et 1 pour des valeurs de diff´erence d’´el´evation situ´ees entre 0,5 m et 4,5 m
tandis qu’une valeur de L plus forte telle que L = 4, 0 restreint ce seuillage `a des valeurs de
diff´erences entre 1,0 m et 4,0 m. Au contraire, une valeur de L plus faible n’est pas suffisamment
restrictive car on observe alors des valeurs de coˆut encore importantes (et donc une probabilit´e
plus faible de changements positifs) pour une diff´erence d’´el´evation de 4,0 m qui est pourtant
une diff´erence d’´el´evation non n´egligeable.
Le param`etre L a ainsi ´et´e choisi `a L = 3, 0, cette valeur paraˆıt plus adapt´ee aux diff´erences
d’´el´evation recherch´ees.
98CHAPITRE 4. DEVELOPPEMENT D’UNE M ´ ETHODE DE D ´ ETECTION DES ´
CHANGEMENTS D’EL´ EVATION ´
Figure 4.3 – Fonction sigmo¨ıde permettant le calcul des coˆuts d’attache aux donn´ees pour le
label changement positif. Les quatre courbes illustrent les r´esultats pour diff´erentes valeurs de L
utilis´ees.
Il faut noter cependant que l’impact de L sur le r´esultat final est plutˆot faible.
Nous rappelons que tous les pixels appartenant `a l’un ou l’autre des masques des MNS g´en´er´es
`a t1 et t2 sont d´efinis `a z´ero dans le MNS diff´erentiel. Leur probabilit´e de changement est donc
fix´ee `a z´ero tandis que leur probabilit´e de non–changement est tr`es ´elev´ee. Le label de ces pixels
n’est cependant pas fix´e de fa¸con d´efinitive, ainsi, selon la r´egularisation employ´ee et le voisinage
de ces pixels, leur labellisation en changement est autoris´ee si les conditions sont favorables.
Le terme de r´egularisation, CReg((xi
, r(xi)),(xi+1, r(xi+1))) correspond `a un coˆut de transition
seulement et calcul´e selon le mod`ele de Potts [68]. Ce terme d´epend ainsi de la variation de
labels entre deux pixels cons´ecutifs xi et xi+1 de la s´equence. Il est d´efini par :
C
T
((xi
, r(xi)),(xi+1, r(xi+1))) =
0 si r(xi) = r(xi+1)
1 si r(xi) 6= r(xi+1)
(4.3)
Enfin, le param`etre λ repr´esente, dans ce contexte, une variable particuli`erement importante
puisqu’elle d´efinit le poids accord´e `a la fonction de r´egularisation par rapport `a celui de la
994.3. CONCLUSION
fonction d’attache aux donn´ees. Plus cette valeur est ´elev´ee, plus la contrainte de r´egularisation
sera importante et aura tendance `a supprimer les variations fines de labels et donc les alarmes
de changements les plus petites spatialement et inversement. Le param`etre λ permet alors le
contrˆole de l’´equilibre entre la pr´ecision de la d´etection et la sensibilit´e aux changements r´eels
de la sc`ene.
4.3 Conclusion
La m´ethode d’analyse du MNS diff´erentiel que nous avons d´evelopp´ee est bas´ee sur
la classification des pixels selon des labels changements positifs, changements n´egatifs ou
non–changement en fonction de la valeur du pixel et de son voisinage, pris en compte `a travers
une contrainte de r´egularisation spatiale.
Les param`etres de la m´ethode sont d´ecrits dans le tableau 4.1.
Cette m´ethode de filtrage global permet ainsi le contrˆole de la pr´ecision et de la sensibilit´e
du r´esultat grˆace au param`etre de r´egularisation λ, contrˆole d’autant plus important qu’il va
permettre `a l’utilisateur de moduler le r´esultat en fonction des changements recherch´es.
Les r´esultats obtenus par cette m´ethode de d´etection des changements d’´el´evation et selon
diff´erents param`etres seront analys´es dans la section 5
Param`etre impact Valeur
Seuil T Impact important D´epend de la r´esolution alti. du MNS
sur la hauteur des changements d´etect´es pour 1 m : seuil = 2,5 m
R´egularisation Impact important sur la pr´ecision D´epend des r´esultats recherch´es
et sensibilit´e du r´esultat g´en´eralement entre 2 et 7
Directions Impact mod´er´e sur le r´esultat G´en´eralement pos´ee `a 12
Courbure L Impact n´egligeable D´epend du seuil en ´el´evation des
changements recherch´es
Table 4.1 – Tableau de synth`ese des param`etres n´ecessaires `a la m´ethode de d´etection des
changements d’´el´evation.
100Chapitre 5
Exp´erimentation et discussion des
r´esultats de la m´ethode de d´etection
des changements d’´el´evation
Afin d’analyser les performances de la m´ethode de d´etection des changements, trois sites
sont analys´es `a travers la pr´ecision de la m´ethode (quantit´e de fausses alarmes d´etect´ees par
rapport au nombre total de d´etections) et sa sensibilit´e, aussi appel´ee rappel, (quantit´e de
bonnes d´etections retrouv´ees par rapport au nombre total de changements de la sc`ene).
Les deux premiers sites sont repr´esent´es par plusieurs zones choisies sur les villes de Phoenix
(Arizona, USA) et de Christchurch (Nouvelle–Z´elande), villes dynamiques `a d´eveloppement
continu.
Le troisi`eme site se trouve dans la r´egion de Tohoku (Japon), et plus particuli`erement sur la
ville de Sendai. Cette zone, qui a ´et´e d´evast´ee par une catastrophe majeure, permet en effet
d’analyser les r´esultats de la m´ethode dans un contexte de crise.
1015.1. PRESENTATION DES ZONES DE TEST ´
5.1 Pr´esentation des zones de test
5.1.1 Phoenix
Sur la ville de Phoenix, deux couples st´er´eoscopiques ont ´et´e acquis en 2008 et 2011 par le
capteur WorldView-1 (cf. tableau 1.1, chapitre 1, section 1.4).
Trois zones d’´etudes ont ´et´e d´efinies `a partir de ces images. Ces zones, d’une taille de
2000 × 2000 pixels ont ´et´e s´electionn´ees sur l’image en fonction du nombre de changements qui
ont ´et´e retrouv´es mais aussi en fonction de la vari´et´e de bˆatiments et infrastructures qu’elles
contiennent. Les figures 5.1(a), 5.1(b) et 5.1(c) repr´esentent ces diff´erentes zones.
La zone 1 (figure 5.1(a)) comprend de petits pavillons r´esidentiels, de nombreux parcs ainsi
que des quartiers d’affaires. La zone 2 (figure 5.1(b)) contient plutˆot des quartiers d’affaires
avec quelques tr`es hauts bˆatiments. Enfin, la zone 3 (figure 5.1(c)) pr´esente plutˆot des zones
industrielles.
Sur ces zones, on note aussi la pr´esence d’autoroutes avec de nombreux v´ehicules mobiles,
de la v´eg´etation, ou encore des pavillons tr`es proches les uns des autres. Tous ces ´el´ements
repr´esentent des sources d’erreurs potentiellement importantes pour les MNS, qui se r´epercutent
dans la d´etection de changements. Ces diff´erentes difficult´es permettent ainsi de tester au mieux
les performances de notre chaˆıne de traitements.
Aucune v´erit´e terrain de type cadastrale n’´etant disponible sur la ville de Phoenix, une carte
de r´ef´erence a ´et´e g´en´er´ee manuellement pour chacune des trois zones d’´etude. Plus pr´ecis´ement,
cette carte a ´et´e cr´e´ee par comparaison visuelle entre les images acquises aux dates t1 et t2.
Tous les changements du bˆati visibles ont ´et´e rep´er´es et localis´es dans cette carte de r´ef´erence,
qu’ils soient de quelques m`etres carr´es (taille d’un conteneur) ou de plusieurs centaines de m`etres
carr´es (bˆatiment industriel).
Cependant, afin de mieux analyser les r´esultats, les changements ont ´et´e divis´es en deux cat´egories
: les changements sup´erieurs ou ´egaux `a 15×15 pixels, soit 100 m2 pour des images `a
60 cm de r´esolution, et tous les changements de l’image. Ce seuil repr´esente la taille g´en´eralement
d´etectable par les m´ethodes de d´etection de changements sur des images tr`es haute r´esolution
d´ecrites par ailleurs [26]. Or, l’analyse des performances de la m´ethode lorsque toutes les tailles
102CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
(a) Illustration de la zone #1 de Phoenix. (b) Illustration de la zone #2 de Phoenix.
(c) Illustration de la zone #3 de Phoenix. (d) Illustration de la zone de Christchurch.
Figure 5.1 – Orthoimages provenant des images panchromatiques WorldView–1 repr´esentant
les trois zones test´ees sur la ville de Phoenix et la zone de Christchurch.
1035.1. PRESENTATION DES ZONES DE TEST ´
(a) Orthoimage WorldView-1, 2008, Phoenix zone
1.
(b) Donn´ee de r´ef´erence. En vert les changements
de taille > 100 m2
, en noir les changements inf´erieurs
`a 100 m2
Figure 5.2 – 5.2(a)Orthoimage calcul´ee et 5.2(b) donn´ee de r´ef´erence des changements de la
zone 1 de Phoenix.
de changements sont recherch´ees permet de mieux appr´ehender les limites de la m´ethode.
Au cours de ces analyses de sensibilit´e, nous parlerons plutˆot de ce seuil `a 100 m2 mais nous
pr´ecisons que ce seuil d´epend avant tout de la r´esolution des images native. Pour des images
haute r´esolution `a 2 m, ce seuil serait calcul´e `a 15×15 pixels soit 300m2
.
Finalement, sur la zone 1 de Phoenix, 126 changements de toutes tailles ont ´et´e recens´es dont
55 changements sup´erieurs `a 100 m2
(figure 5.2(b)). Sur la zone 2 de Phoenix, 71 changements
ont ´et´e recens´es dont 22 larges changements. Enfin, sur la zone 3, 138 changements ont ´et´e
retrouv´es dont 34 sup´erieurs `a 100 m2
.
5.1.2 Christchurch
Sur la ville de Christchurch, en Nouvelle-Z´elande, nous disposons de deux acquisitions
st´er´eoscopiques de 2009 et 2011 (cf. tableau 1.1, chapitre 1, section 1.4). A ces donn´ees
s’ajoutent deux acquisitions LiDAR de 2010 et 2011.
La zone commune aux donn´ees optiques et LiDAR a ´et´e s´electionn´ee pour tester la m´ethode de
d´etection de changement. Cette zone, d’une superficie de 1200 km2
environ, est repr´esent´ee en
figure 5.1(d).
104CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
Le LiDAR a ´et´e pr´ealablement r´e–´echantillonn´e `a une r´esolution planim´etrique identique `a
celle des MNS (1 m). Cependant, la pr´ecision d’acquisition du LiDAR est largement meilleure
que celle des MNS g´en´er´es. Les petites structures, les bˆatiments et tous les objets de la sc`ene
sont donc plus nets 1
.
Une d´etection des changements d’´el´evation entre les deux acquisitions LiDAR a donc ´et´e r´ealis´ee
avec une r´egularisation faible (λ = 2, 0) et un seuil classique `a 2,5 m. L’objectif est de faire
ressortir tous les changements de la sc`ene.
Ainsi, les changements d´etect´es entre les deux acquisitions LiDAR sont consid´er´es comme
suffisamment pr´ecis et exhaustifs pour repr´esenter une v´erit´e terrain qui permettra l’analyse des
r´esultats obtenus sur cette zone par la d´etection de changements appliqu´ee entre les MNS g´en´er´es.
Cependant, les LiDAR ayant ´et´e acquis `a des saisons diff´erentes, une faible r´egularisation
a aussi fait ressortir tous les changements li´es `a la v´eg´etation. Ces changements ont dˆu ˆetre
manuellement supprim´es de la v´erit´e terrain g´en´er´ee.
De plus, une ann´ee s´epare la premi`ere acquisition satellite st´er´eoscopique de la premi`ere
acquisition LiDAR (cf tableau 1.1, section 1.4). Afin de prendre en compte cet ´ecart et les
changements ayant eu lieu entre ces acquisitions, ces derniers ont ´et´e d´etect´es en appliquant
la m´ethode de d´etection entre l’acquisition satellite de 2009 et LiDAR de 2010, `a faible
r´egularisation spatiale. Puis, ces changements ont ´et´e manuellement filtr´es des fausses alarmes
telles que celles provenant de la v´eg´etation. La carte des changements ainsi obtenue a ensuite
´et´e additionn´ee `a la v´erit´e terrain.
Tout comme pour les trois zones de Phoenix, les changements rep´er´es ont ´et´e divis´es selon
les deux cat´egories : ceux de taille sup´erieure `a 100 m2
et tous les changements. Finalement, 43
changements de toutes tailles ont ´et´es rep´er´es sur la zone, dont 35 de taille sup´erieure `a 100 m2
.
5.1.3 R´egion de Tohoku : analyse d’une zone catastroph´ee
La r´egion de Tohoku est situ´ee au Nord Est du Japon, sur la pr´efecture de Miyagi.
1. Nous rappelons que pour des raisons de confidentialit´e des donnn´ees, les donn´ees LiDAR ne peuvent ˆetre
pr´esent´ees ici.
1055.1. PRESENTATION DES ZONES DE TEST ´
(a) Orthoimage Ikonos de 2010, Sendai. (b) Orthoimage Ikonos de 2011, Sendai.
(c) MNS obtenu `a partir du couple Ikonos
2010.
(d) MNS obtenu `a partir du couple Ikonos
2011.
Figure 5.3 – Ortho images et MNS calcul´es avant et apr`es la catastrophe de Sendai du
11/03/2011. 106CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
Cette r´egion a ´et´e frapp´ee le 11 mars 2011 par un s´eisme de magnitude 9 qui a ´et´e suivi par
l’un des plus puissants tsunamis jamais connus au Japon puisque la vague a atteint 7,6 m de
haut pr`es de la pr´efecture de Miyagi et plus de 40 m plus au Nord [70].
Un rapport de police fait ´etat de plus de 15 000 personnes d´ec´ed´ees et 2800 disparus. Le
tsunami a aussi g´en´er´e de tr`es importants d´egˆats avec pr`es de 240 000 bˆatiments d´etruits et
224 000 partiellement endommag´es.
Les images pr´esent´ees en figures 5.3(a) et 5.3(b) montrent une partie de la r´egion touch´ee
par cette catastrophe, avant et apr`es le 11 mars 2011. Ces images proviennent de couples
st´er´eoscopiques acquis par le capteur Ikonos le 11 d´ecembre 2010 et le 13 aoˆut 2011 (cf. tableau
1.1, chapitre 1, section 1.4).
Contrairement aux zones de Phoenix et Christchurch pr´ec´edemment pr´esent´ees, la zone de
Sendai montre un paysage totalement diff´erent entre les acquisitions avant et apr`es le passage
du tsunami. La zone habitable a ´et´e presque totalement d´etruite de mˆeme que tous les terrains
agricoles aux alentours. Ce type de paysage rendrait totalement impossible une d´etection de
changements radiom´etriques qui g´en`ererait alors un tr`es grand nombre de fausses alarmes.
Les MNS pr´esent´es en figures 5.3(c) et 5.3(d) font ´etat de l’ampleur de la catastrophe et des
destructions g´en´er´ees.
Afin de tester les performances du syst`eme pour la d´etection des d´egˆats, une large zone,
d’environ 360 km2 a ´et´e s´electionn´ee parmi les zones les plus touch´ees (repr´esent´ee par le
rectangle rouge dans les figures 5.3(a) et 5.3(b). Cette zone ainsi que la carte de r´ef´erence des
changements sont illustr´ees en figure 5.4.
On peut observer sur cette zone la destruction totale de la partie la plus proche de la cˆote, puis,
plus au nord–ouest, des bˆatiments qui semblent avoir r´esist´e. Le nombre de bˆatiments chang´es
est alors largement sup´erieur `a celui des bˆatiments inchang´es.
L’objectif est donc de tester notre chaˆıne de traitements sur une zone sinistr´ee afin d’observer
les r´esultats obtenus en d´etection de changements du bˆati.
Comme pour les zones urbaines pr´ec´edentes, une carte de r´ef´erence des changements a
´et´e r´ealis´ee sur la zone. Cependant, les d´egˆats importants et donc les changements massifs
rendent difficile la quantification des r´esultats, notamment par le coefficient Kappa (que nous
1075.1. PRESENTATION DES ZONES DE TEST ´
expliquerons section 5.2.2).
Pour r´esoudre ce probl`eme et quantifier pr´ecis´ement les performances de la m´ethode, la carte
de r´ef´erence contient tous les changements (bˆatiments d´etruits) mais aussi les non–changements
(bˆatiments intacts) de la sc`ene. Au total, 220 bˆatiments d´etruits ont ´et´e r´epertori´es et 76
bˆatiments intacts.
Nous pr´ecisons cependant que cette carte de r´ef´erence, r´ealis´ee manuellement `a partir des images
panchromatiques avant et apr`es la catastrophe, regroupe parfois plusieurs bˆatiments adoss´es les
uns aux autres en un seul ´el´ement (d´etruit ou non), ce qui entraˆıne une diminution de sa pr´ecision.
(a) Orthoimage Ikonos de 2010, Sendai. (b) Orthoimage Ikonos de 2011, Sendai.
(c) Carte de r´ef´erence des bˆatiments d´etruits (en rouge) et
intacts(en vert).
Figure 5.4 – Zone partiellement d´etruite par le Tsunami et quantifi´ee `a travers la carte de
r´ef´erence des bˆatiments d´etruits et intacts.
108CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
5.2 M´etriques d’analyse des r´esultats de la d´etection de
changements
5.2.1 Variables calcul´ees
Afin d’analyser les performances de la m´ethode, les alarmes, vraies ou fausses, d´etect´ees
par la m´ethode sont compt´ees `a l’´echelle de l’objet et non du pixel. En effet, la qualit´e de nos
donn´ees de r´ef´erence, et notamment le d´etourage des changements dans les cartes de r´ef´erence
g´en´er´ees manuellement, ne permet pas une correspondance au pixel pr`es entre les d´etections
sur la carte des changements d´etect´es et les changements d´etour´es sur la carte de r´ef´erence. De
plus, la m´ethode de d´etection des changements mise en place est bas´ee sur une r´egularisation
spatiale ce qui tend `a ´eroder les bords des alarmes de changements dans la carte r´esultat.
Le d´ecompte des pixels bien ou mal class´es ne repr´esenterait alors pas la r´ealit´e de la d´etection.
Le d´ecompte des vraies et fausses d´etections est donc effectu´e au niveau objet, c’est–`a–dire
que tout pixel isol´e ou amas de pixels connexes (avec 8 connexes consid´er´es autour de chaque
pixel) rencontr´e dans la carte des changements r´esultante est compt´e comme une alarme de
changement.
Ainsi, une vraie d´etection est confirm´ee d´es lors qu’un, ou plusieurs pixels, labellis´es en
changement dans la carte des changements, correspondent `a un changement r´eel dans la carte
de r´ef´erence. Inversement, si un pixel isol´e, ou un amas de pixels, labellis´e changement dans
la carte des changements, ne correspond `a aucun changement de la carte de r´ef´erence, cette
d´etection est consid´er´ee comme une fausse alarme.
Nous noterons enfin que dans la carte de r´ef´erence des changements, les changements r´eels
sont marqu´es sans consid´eration de leur sens (changement positif ou n´egatif). Le d´ecompte des
changements r´eels bien d´etect´es par la m´ethode se fait donc sans cette consid´eration (on parlera
des classes changement et non–changement). En effet, le d´ecompte s´epar´e des changements
positifs et n´egatifs n’apporte pas d’indice sur les performances de la m´ethode.
La d´etection distincte de ces changements lors du calcul de la carte des changements est
n´ecessaire au fonctionnement de la m´ethode de d´etection mais pas `a l’analyse des r´esultats.
La quantification des r´esultats est effectu´ee `a travers le calcul de plusieurs variables :
1095.2. METRIQUES D’ANALYSE DES R ´ ESULTATS DE LA D ´ ETECTION DE ´
CHANGEMENTS
– TP (True Positives ou vrai positifs) : nombre de changements r´eels bien d´etect´es,
– TN (True Negatives ou vrai n´egatifs) : nombre de non–changements bien d´etect´es,
– FP (False Positives ou faux positifs) : nombre de non–changements d´etect´es comme changement
(aussi appel´e fausse alarme),
– FN (False Negatives ou faux n´egatifs) : nombre de changements r´eels omis (ou omissions).
Le calcul de la quantit´e TN est difficile et n’a jamais ´et´e r´ealis´e, `a notre connaissance, `a
l’´echelle objet dans la litt´erature. Pourtant cette variable est essentielle pour le calcul d’une de
nos m´etriques d’analyse, le coefficient Kappa.
Lors de ce travail, nous avons choisi de calculer cette valeur selon une d´efinition empirique, bas´ee
sur le nombre de pixels total de l’image divis´e par la taille moyenne d’un objet (´equation 5.1). De
cette fa¸con, l’image est consid´er´ee comme si elle ´etait totalement constitu´ee d’objets `a d´etecter.
T N =
(l × c)
moyenneobjet
− T P − F N − F P. (5.1)
Dans l’´equation 5.1, l et c repr´esentent le nombre de lignes et de colonnes de l’image
respectivement, moyenneobjet repr´esente la taille moyenne d’un objet d’une sc`ene urbaine. Il
est d´etermin´e ici `a environ 15 × 15 pixels, valeur consid´er´ee comme une taille moyenne de
d´etections si toutes les d´etections (vraies et fausses) sont compt´ees `a faible r´egularisation.
Avec cette d´efinition particuli`ere de TN, toute l’emprise de l’image est alors prise en compte,
quelle que soit la densit´e des habitations. En effet, si le TN devait ˆetre repr´esent´e par le nombre
de bˆatiment uniquement, alors, dans une sc`ene contenant moins de 10 bˆatiments mais de
nombreuses sources de fausses alarmes, le nombre de fausses alarmes serait particuli`erement
´elev´e et le TN tr`es faible, diminuant la pr´ecision de la m´ethode sans pour autant repr´esenter
la r´ealit´e de la d´etection. La consid´eration de la sc`ene comme recouverte d’objets permet ainsi
d’am´eliorer la pr´ecision du calcul des performances de la m´ethode.
Il est cependant `a noter que cette variable TN sera utilis´ee dans une m´etrique particuli`ere
permettant la comparaison, entre elles, des classifications r´ealis´ees dans ce travail et la recherche
des param`etres de la m´ethode les plus adapt´es. La d´efinition de TN est alors la mˆeme pour
tous les r´esultats de classification qui seront compar´es lors de ce travail.
110CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
5.2.2 M´etriques d’analyse
Les m´etriques d’analyse des r´esultats utilis´ees sont des m´etriques standards qui permettent
l’´evaluation des performances de la d´etection de changements par rapport aux donn´ees de
r´ef´erence.
Les m´etriques les plus classiques correspondent aux taux de bonnes d´etections (ou True
Positive Rate, TPR) et de fausses d´etections (ou False Positive Rate, FPR), calcul´ees selon les
´equations 5.2.
T P R =
T P
T P + F N
× 100, F P R =
F P
F P + T P
× 100. (5.2)
Une autre m´etrique importante est repr´esent´ee par le coefficient Kappa (´equation 5.3) qui
correspond au calcul de l’accord entre la v´erit´e terrain et le r´esultat de classification obtenu.
La premi`ere description et utilisation de ce coefficient provient de Cohen [71] et a permis de
calculer le degr´e de coh´erence entre deux jugements psychiatriques ind´ependants.
Plus r´ecemment et dans notre domaine d’´etude, ce coefficient a ´et´e employ´e notamment par
Wilkinson [72] pour l’analyse et l’inter–comparaison des r´esultats de diff´erentes m´ethodes
de classification d’images recens´es sur 15 ans. L’objectif de cette analyse ´etait l’´evaluation
des performances de nombreuses m´ethodes de classification supervis´ees ou non, utilisant des
donn´ees externes ou non et quel que soit le nombre de classes ou la r´esolution initiale de l’image.
Dans ce contexte, l’utilisation du coefficient Kappa, dont les donn´ees d’entr´ees correspondent
au nombre de classes et aux variables TP, TN, FP et FN d´ecrites pr´ec´edemment, apparaˆıt alors
particuli`erement adapt´ee.
Ce coefficient est calcul´e selon l’´equation suivante :
K =
OA − Pe
1 − Pe
, (5.3)
OA =
T P
T P + F P + F N
, (5.4)
Pe =
M
(T P + F P + T N + F N)
2
, (5.5)
M = (T P + F P) × (T P + F N) + (F N + T N) × (F P + T N). (5.6)
1115.3. ANALYSE DE SENSIBILITE DES R ´ ESULTATS OBTENUS ´
OA correspond `a la pr´ecision g´en´erale de la classification (Overall Accuracy). Pe est d´ecrit
comme le taux de concordance al´eatoire. Cette valeur est ´egale `a 1 si la correspondance entre
la v´erit´e terrain et le r´esultat de classification obtenu est uniquement le fait du hasard et `a 0 sinon.
L’avantage de cette m´etrique est d’ˆetre particuli`erement adapt´ee lorsque les classes en
pr´esence sont d´es´equilibr´ees, c’est–`a–dire, dans notre contexte, lorsque la classe des non–
changements est tr`es grande par rapport `a la classe changement.
De plus, les taux de vraies et de fausses d´etections ne permettent pas de d´efinir la r´egularisation
qui entraˆınera le meilleur ´equilibre entre fausses alarmes et bonnes d´etections. En effet, ces
m´etriques, ind´ependantes l’une de l’autre, indiquent le meilleur param´etrage de l’algorithme en
fonction du taux de bonnes d´etections recherch´ees ou bien du taux de fausses alarmes maximum
accept´e.
Le coefficient Kappa prend en compte tous les termes de la matrice de confusion de la d´etection
de changement (TP, TN, FP, FN). Cette m´etrique permet ainsi la comparaison pr´ecise de plusieurs
classifications tout en mettant en ´evidence le param´etrage de l’algorithme le plus adapt´e,
qui correspond alors `a la meilleure correspondance entre la carte de r´ef´erence des changements
et la carte calcul´ee et donc au meilleur ´equilibre entre bonnes d´etections et fausses alarmes.
Le calcul du coefficient Kappa est donc particuli`erement important pour l’analyse compl`ete des
r´esultats obtenus par la m´ethode de d´etection tandis que l’analyse des diff´erents taux de bonne
ou fausse d´etection est importante pour expliquer le comportement du Kappa.
Ces deux m´etriques sont tr`es compl´ementaires entre elles.
5.3 Analyse de sensibilit´e des r´esultats obtenus
Dans cette section, plusieurs analyses de sensibilit´e sont effectu´ees. Elles concernent les
diff´erents param`etres de la m´ethode et leur impact sur les r´esultats mais aussi l’analyse de
l’impact de la qualit´e des donn´ees d’entr´ee (MNS) ou des changements recherch´es ou encore
l’analyse des performances en fonction des caract´eristiques de la zone ´etudi´ee.
Les cartes de d´etections de changements calcul´ees en vue de ces analyses de sensibilit´e ont,
112CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
pour la plupart, ´et´e g´en´er´ees `a partir de la zone 1 de Phoenix. Cette zone pr´esente en effet de
tr`es nombreux changements et des sources r´eduites de fausses alarmes ce qui en fait une zone
test int´eressante pour la mesure de l’influence des param`etres ou des donn´ees d’entr´ee.
5.3.1 Influence des param`etres de la m´ethode sur les r´esultats
Nombre de directions de la programmation dynamique
Le premier param`etre de la d´etection de changements que nous ´etudions est le nombre
de directions utilis´ees dans le calcul. En effet, comme d´ecrit dans le chapitre 2, section 2.2.3,
l’algorithme de programmation dynamique, con¸cu au cours de cette th`ese, n´ecessite le calcul des
coˆuts de labellisation selon plusieurs directions dans l’image, coˆuts calcul´es ind´ependamment
pour chaque direction puis fusionn´es afin de retrouver la solution finale de labellisation. Nous
avons montr´e en effet que l’utilisation de nombreuses directions permet de limiter les effets de
streaking sur le r´esultat final.
Les figures 5.5(c), 5.5(d), 5.5(e) et 5.5(f) illustrent les r´esultats obtenus avec 1, 8, 12 et 16
directions respectivement et une r´egularisation moyenne λ = 3, 0.
On observe que lorsqu’une seule direction est calcul´ee, les effets de streaking sont particuli`erement
importants (visible le long des lignes de l’image 5.5(c)). D’apr`es la figure 5.5(d), le calcul de 8
directions r´eduit l’effet de streaking. Puis, de 12 `a 16 directions, le r´esultat est globalement
identique et l’effet de streaking est quasi nul.
La figure 5.6 pr´esente les taux de bonnes et fausses d´etections obtenues avec une r´egularisation
fix´ee `a λ = 3, 0 et un nombre variable de directions de calcul, de 1 `a 16 directions.
La r´egularisation a ´et´e fix´ee `a une valeur relativement faible afin de bien observer l’impact de
ce nombre de directions sur un grand nombre de d´etections.
Comme attendu d’apr`es les figures pr´ec´edentes, on observe une tr`es forte diminution des fausses
alarmes (mais aussi des bonnes d´etections) entre 1 et 4 directions de calcul. A partir de 4 `
directions, les taux diminuent de fa¸con moins flagrante puis ils semblent se stabiliser entre 12
et 16 directions.
1135.3. ANALYSE DE SENSIBILITE DES R ´ ESULTATS OBTENUS ´
(a) Orthoimage WorldView-1, 2008. (b) Orthoimage WorldView-1, 2011.
(c) Carte des changements calcul´ee avec 1 direction
de calcul.
(d) Carte des changements calcul´ee avec 8
directions de calcul.
(e) Carte des changements calcul´ee avec 12
directions de calcul.
(f) Carte des changements calcul´ee avec 16
directions de calcul.
Figure 5.5 – Cartes de d´etection de changements obtenues `a partir d’un nombre variable de
directions de calcul et une r´egularisation λ = 3, 0. R´esultats calcul´es sur la zone 1 de Phoenix.
114CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
Figure 5.6 – Illustration de l’impact du nombre de directions de calcul sur les taux de bonnes et
fausses d´etections. R´esultats calcul´es sur la zone 1 de Phoenix avec une r´egularisation λ = 3, 0.
La d´etection de changements est donc g´en´eralement calcul´ee avec 12 directions. Le calcul `a
16 directions n’apportant pas de diff´erences significative au r´esultat mais augmente le temps de
traitement.
Param`etre de r´egularisation
Le param`etre λ est le param`etre ayant le plus d’influence sur le r´esultat de d´etection de
changements.
Les figures 5.7(c), 5.7(d), 5.7(e) et 5.7(f) illustrent qualitativement l’effet de ce param`etre. Chacune
de ces figures repr´esente une carte de d´etection de changements obtenue `a partir d’un λ
´egal `a 2,0, 3,0, 4,5 et 6,0, respectivement. D’apr`es ces figures, les alarmes de changements disparaissent
en fonction de leur taille, que ce soit les fausses alarmes (situ´ees principalement dans
la carte obtenue avec une tr`es faible r´egularisation) ou les vrais changements, et ce, de la plus
faible `a la plus forte r´egularisation. On note, par exemple, que de nombreux changements r´eels
marqu´es dans la carte de r´ef´erence ne sont pas d´etect´es `a λ = 6, 0.
Afin d’observer les effets de la r´egularisation sur les r´esultats de d´etection de changement, les
taux de bonnes d´etections (TPR) et de fausses alarmes (FPR) ont ´et´e trac´es en fonction du
1155.3. ANALYSE DE SENSIBILITE DES R ´ ESULTATS OBTENUS ´
param`etre de r´egularisation sur les figures 5.8(a) `a 5.8(d).
(a) Orthoimage WorldView-1 de 2008, Phoenix
zone #1.
(b) Orthoimage WorldView-1 de 2011, Phoenix
zone #1.
(c) Carte des d´etections obtenue avec λ = 2. (d) Carte des d´etections obtenue avec λ = 3.
(e) Carte des d´etections obtenue avec λ = 5. (f) Carte des d´etections obtenue avec λ = 6.
Figure 5.7 – Cartes des d´etections calcul´ee avec diff´erentes valeurs de λ et 12 directions. R´esultats
calcul´es sur la zone 1 de Phoenix avec une r´egularisation λ = 3, 0
116CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
Ces figures pr´esentent le comportement des m´etriques avec l’augmentation de la r´egularisation.
Dans un premier temps, les TPR (figures 5.8(a) et 5.8(c)) marquent un palier proche de 100%
de bonnes d´etections tandis que les taux de FPR, d’abord tout aussi haut, diminuent de fa¸con
presque lin´eaire. Puis, pour des λ entre 2,5 et 3,5, le taux de bonnes d´etections commence `a
d´ecroˆıtre mais plus faiblement que le taux de fausses alarmes qui baisse drastiquement. Puis la
courbe des fausses alarmes atteint un pallier vers λ = 4, 0 de mˆeme que celle des TPR qui ne
d´ecroit que faiblement.
Ce comportement r´esulte en fait de la suppression des petites fausses alarmes, souvent tr`es nombreuses
`a faible r´egularisation, ce qui entraˆıne une tr`es forte baisse des taux FPR. Les petits
changements pertinents, eux aussi supprim´es, sont cependant moins nombreux, expliquant la
d´ecroissance moins rapide de la courbe des TPR.
Lorsque toutes ces petites d´etections sont supprim´ees, les d´etections restantes sont alors des
fausses alarmes ou des vraies d´etections de taille importante et donc tr`es difficiles `a supprimer `a
moins d’augmenter tr`es fortement la r´egularisation, ceci explique le palier `a la fin des courbes.
Autres param`etres de la m´ethode
Nous avons vu, dans la section 4, que d’autres param`etres interviennent dans la m´ethode de
d´etection de changements d´evelopp´ee. Ces param`etres sont notamment le seuil T, fix´e `a 2,5 m
et la courbure L, fix´ee `a 3,0.
Des analyses de sensibilit´e pourraient ˆetre r´ealis´ees pour observer les performances de la
m´ethode en fonction de ces deux param`etres. Cependant, le seuil a ´et´e fix´e ici d’apr`es une valeur
standard et en consid´erant la r´esolution altim´etrique obtenue pour les MNS. C’est pourquoi
aucune ´etude n’a ´et´e men´ee quant `a la sensibilit´e de ce param`etre.
La courbure L permet, comme nous l’avons montr´e, de contrˆoler les coˆuts pour chaque label
en fonction de la proximit´e entre la valeur du pixel et le seuil. Ce param`etre n’a cependant
que peu d’impact d’apr`es les quelques tests que nous avons r´ealis´es cependant aucune analyse
compl`ete n’a encore ´et´e effectu´ee.
1175.3. ANALYSE DE SENSIBILITE DES R ´ ESULTATS OBTENUS ´
5.3.2 Impact de la qualit´e des donn´ees d’entr´ee
Influence de la qualit´e des MNS
Afin d’observer la sensibilit´e de la m´ethode de d´etection des changements envers les donn´ees
d’entr´ee qui lui sont inject´ees, c’est–`a–dire les MNS utilis´es, l’algorithme a ´et´e test´e sur des MNS
de qualit´e diff´erente : les MNS obtenus apr`es une mise en correspondance asym´etrique simple
et les MNS obtenus apr`es fusion de MNS asym´etriques (technique d´ecrite dans le chapitre 3,
section 3.3). La qualit´e de ces MNS a ´et´e discut´ee dans section 3.4.
Les figures 5.8 pr´esentent les r´esultats obtenus pour la zone 1 de Phoenix, dont les
changements ont ´et´e d´etect´es `a partir des MNS asym´etriques (courbes vertes et turquoises
pointill´ees) et des MNS fusionn´es (courbes bleues et rouges pleines).
Les r´esultats ont ´et´e calcul´es sur la zone 1 de Phoenix puis trac´es en fonction du param`etre λ
utilis´e.
Les figures 5.8(a) et 5.8(c) pr´esentent les taux de bonnes et de fausses d´etections lorsque
seuls les changements sup´erieurs `a 100 m2
sont consid´er´es et lorsque tous les changements sont
consid´er´es.
D’apr`es ces figures, les taux de bonnes d´etections obtenues avec les MNS fusionn´es apparaissent
sensiblement plus ´elev´es que ceux obtenus avec les MNS asym´etriques : une diff´erence de 5% `a
20% est not´ee. De mˆeme, les taux de fausses alarmes d´etect´ees `a partir des MNS fusionn´es sont
plus faibles que ceux obtenus avec les MNS asym´etriques. L’´ecart constat´e est de 0 `a plus de 10%.
Les figures 5.8(b) et 5.8(d) pr´esentent les coefficients Kappa obtenus pour tous les changements
ou les changements sup´erieurs `a 100 m2 uniquement, pour le MNS fusionn´e et pour le
MNS asym´etrique pr´esent´es. D’apr`es ces figures, le Kappa apparaˆıt fortement corr´el´e aux taux
de fausses et bonnes d´etections : plus les taux de vraies d´etections et de fausses d´etections sont
proches l’un de l’autre (c’est–`a–dire autant de bonnes d´etections que de fausses alarmes) plus
le Kappa est faible, indiquant une mauvaise classification et inversement un taux de bonnes
d´etections tr`es sup´erieur `a un taux de fausses alarmes entraine un fort coefficient Kappa et
donc une bonne classification.
118CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
(a) Taux de vrais et faux positifs calcul´es pour les
changements sup´erieurs `a 100 m2
.
(b) Coefficient Kappa calcul´e pour les changements
sup´erieurs `a 100 m2
.
(c) Taux de vrais et faux positifs calcul´es pour
tous les changements de la sc`ene.
(d) Coefficient Kappa calcul´e pour tous les changements
de la sc`ene.
Figure 5.8 – 5.8(a) et 5.8(c) variation des taux de fausses et vraies d´etection en fonction
de la r´egularisation λ. 5.8(b) et 5.8(d) : Variations du coefficient Kappa en fonction de la
r´egularisation λ. R´esultats calcul´es pour la zone 1 de Phoenix.
Comme attendu ici, les valeurs de Kappa obtenues `a partir des MNS fusionn´es sont
largement plus hautes que celles provenant des r´esultats de MNS asym´etriques, quelle que soit
la taille des changements recherch´es.
D’apr`es les diff´erents taux TPR et FPR calcul´es, cela s’explique par le nombre important
1195.3. ANALYSE DE SENSIBILITE DES R ´ ESULTATS OBTENUS ´
des fausses alarmes par rapport au nombre total de d´etections lorsque les MNS utilis´es sont
asym´etriques. En effet, les MNS fusionn´es pr´esentent une meilleure pr´ecision sur les fines
structures de la sc`ene et moins d’erreurs de corr´elation, entraˆınant un taux de fausses alarmes
plus faible. Cette diff´erence a n´eanmoins tendance `a disparaˆıtre avec des r´egularisations plus
importantes puisque ce param`etre agit comme un filtre qui supprime les plus fines erreurs des
MNS. Le r´esultat final `a haute r´egularisation est alors tr`es similaire que ce soit pour les MNS
fusionn´es ou pour les MNS asym´etriques.
Influence de la taille de changements recherch´ee
Les figures 5.8 pr´esentent les r´esultats obtenus pour la zone 1 de Phoenix lorsque l’on
consid`ere les changements sup´erieurs `a 100 m2
(figures 5.8(a) et 5.8(b)). Dans ce cas, le taux
de bonnes d´etections observ´e est de 100% `a plus de 75% pour des r´egularisations de 1 `a 6,5.
A la valeur de Kappa maximum (soit `a une r´egularisation `a ` λ = 5, 0 d’apr`es la figure 5.8(b)), le
taux de bonnes d´etections est de 90%, avec moins de 10% de fausses alarmes.
Lorsque les changements de toutes tailles sont consid´er´es, la valeur maximale du kappa
atteint seulement 0,76 pour une r´egularisation `a λ = 3, 0. D’apr`es la figure 5.8(c), cela
correspond `a environ 80% des changements bien d´etect´es et 35% de fausses alarmes.
En effet, les changements inf´erieurs `a 100 m2
repr´esentent les deux tiers de tous les changements
mais sont tr`es difficiles `a d´etecter et ont tendance `a ˆetre supprim´es rapidement lorsque la
r´egularisation augmente. Une plus faible r´egularisation est donc n´ecessaire pour les rep´erer ce
qui implique alors un taux de fausses alarmes r´esiduelles plus important et donc un coefficient
Kappa plus faible.
Nous rappelons que la taille des changements recherch´es d´epend en premier lieu de la
r´esolution des images (puis des MNS) en entr´ee de la chaˆıne de traitements. En effet, la taille
de 100 m2
(soit 15 × 15 pixels) est adapt´ee pour des images acquises `a 60 cm de r´esolution
permettant la g´en´eration de MNS `a 1 m de r´esolution spatiale. Cette taille doit ˆetre red´efinie
en fonction de la r´esolution des images d’entr´ee du syst`eme.
120CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
5.3.3 Int´erˆet d’une m´ethode globale : comparaison avec un filtrage local
Cette section pr´esente la comparaison de la m´ethode de classification des changements
employ´ee avec une m´ethode plus classique, repr´esent´ee par un filtrage morphologique. Ce type
de filtrage local est en effet souvent utilis´e dans la litt´erature et plus particuli`erement par
Tian [26] et Chaabouni [22] pour l’analyse de MNS diff´erentiels en vue de la d´etection des
changements d’´el´evation.
Le filtrage local test´e est appliqu´e sur le r´esultat d’une segmentation (`a +2,5 m et -2,5 m,
valeur de seuil identique `a celle utilis´ee dans le filtrage global) du MNS diff´erentiel. Ce filtrage est
bas´e sur l’application d’une op´eration morphologique sur l’image segment´ee, sous forme d’une
ouverture.
Pour rappel, une ouverture (binaire), en morphologie math´ematique, correspond `a l’´erosion des
amas de pixels connexes portant une valeur ´egale `a 1 (donc un label changement dans notre
cas) `a l’aide d’un ´el´ement structurant, suivi par la dilatation de ces mˆemes amas avec le mˆeme
´el´ement [73].
Cette op´eration permet de supprimer les d´etections (vraies ou fausses) de taille inf´erieure `a
l’objet structurant. Ainsi, la variation de la taille de l’objet structurant permet de contrˆoler le
nombre de fausses d´etections mais aussi celui des vraies d´etections en fonction de leur taille.
Cette technique se rapproche ainsi du filtrage global dont le param`etre de r´egularisation permet
aussi le contrˆole des taux de fausses alarmes et de vrais positifs.
Les r´esultats de ce filtrage morphologique sont pr´esent´es dans les figures 5.9 et compar´es
aux r´esultats obtenus avec le filtrage global.
Sur les figures, les courbes noires repr´esentent les r´esultats obtenus avec le filtrage morphologique.
Les courbes bleues et rouges pr´esentent les r´esultats obtenus avec le filtrage global pour
les changements sup´erieurs `a 100 m2
et tous les changements, respectivement.
Lorsque seuls les changements importants (sup´erieurs `a 100 m2
) sont consid´er´es, les taux de
bonnes d´etections des deux types de filtrage atteignent tous les deux les 100% (`a faible r´egularisation)
mais avec des taux de fausses alarmes de 78% environ pour le filtrage morphologique
et de 50% pour le filtrage optimis´e (figure 5.9(a)).
1215.3. ANALYSE DE SENSIBILITE DES R ´ ESULTATS OBTENUS ´
(a) Taux de vrais et faux positifs calcul´es pour les
changements sup´erieurs `a 100 m2
.
(b) Coefficient Kappa calcul´e pour les changements
sup´erieurs 100 m2
.
(c) Taux de vrais et faux positifs calcul´es pour tous
les changements de la sc`ene.
(d) Coefficient Kappa calcul´e pour tous les changements
de la sc`ene.
Figure 5.9 – 5.9(a) et 5.9(c) : Variations des taux de fausses et vraies d´etections en fonction
de la r´egularisation λ ou de la taille de l’´el´ement structurant. 5.9(b) et 5.9(d) : Variations du
coefficient Kappa en fonction de la r´egularisation λ ou de la taille de l’´el´ement structurant.
R´esultats calcul´es sur la zone 1 de Phoenix
Si un faible taux de fausses alarmes est recherch´e (moins de 10%), le taux de bonnes d´etections
descend alors `a 58% pour le filtrage morphologique tandis qu’il se maintient au–dessus
des 90% pour le filtrage optimis´e.
Les courbes Kappa (figure 5.9(b)) confirment une diff´erence importante entre les r´esultats des
122CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
filtrages puisque la valeur maximale du Kappa atteint par le filtrage optimis´e est de 0,92 tandis
qu’elle atteint seulement 0,72 pour le filtrage morphologique.
Lorsque tous les changements sont consid´er´es, le taux de bonnes d´etections du filtrage
morphologique apparaˆıt globalement plus ´elev´e que celui du filtrage optimis´e mais le taux de
fausses alarmes est plutˆot ´elev´e par rapport `a celui du filtrage optimis´e (figure 5.9(c)).
Les courbes Kappa montrent en effet que certains r´esultats des filtrages optimal et morphologique
sont comparables lorsqu’une r´egularisation de λ = 4, 0 est utilis´ee pour le filtrage
optimis´e et un ´el´ement structurant de taille 5 × 5 est utilis´e pour le filtrage morphologique.
Avec ces param`etres, le filtrage optimis´e pr´esente un TPR d’environ 58% et un FPR d’environ
10% tandis que le filtrage morphologique pr´esente un TPR d’environ 61% pour un taux FPR
d’environ 20%, entraˆınant une valeur de Kappa de 0,68.
Cependant, pour une r´egularisation `a λ = 3, 5, r´egularisation donnant les meilleurs r´esultats
pour le filtrage optimis´e d’apr`es les courbes Kappa en figure 5.9(d), le TPR obtenu est d’environ
72% pour un FPR de moins de 30% et une valeur de kappa `a 0,71, l´eg`erement meilleure que
celle obtenu par filtrage morphologique.
Les r´esultats obtenus pour le filtrage morphologique apparaissent ainsi d’une qualit´e presque
semblable `a celle du filtrage optimis´e lorsque tous les changements sont recherch´es mais tr`es en
dessous des r´esultats du filtrage optimis´e lorsque la d´etection se concentre sur les changements
les plus larges uniquement. Les taux de bonnes d´etections et de fausses alarmes ´etant `a chaque
fois inf´erieurs en qualit´e `a ceux du filtrage optimis´e.
Si nous ne r´efutons pas que les r´esultats obtenus, particuli`erement pour les changements larges,
peuvent ˆetre dus `a l’utilisation non optimale des op´erations morphologiques, nous montrons
cependant ici que le filtrage optimis´e et son param´etrage peuvent ˆetre utilis´es de fa¸con tr`es
simple et efficacement pour la recherche des changements quelle que soit leur taille. Tandis que
les op´erations morphologiques peuvent ˆetre complexes `a param´etrer afin d’ˆetre adapt´ees aux
changements recherch´es et montrer des performances ´equivalentes.
1235.3. ANALYSE DE SENSIBILITE DES R ´ ESULTATS OBTENUS ´
5.3.4 Influence du paysage de la zone d’´etude
Dans cette section, les performances obtenues sur les diff´erentes zones tests pr´esent´ees au
d´ebut de ce chapitre seront compar´ees entre elles afin d’analyser les r´esultats en fonction des
zones, des difficult´es qu’elles pr´esentent et du nombre de fausses alarmes qu’elles g´en`erent.
Phoenix
Les r´esultats obtenus sur les trois zones de Phoenix sont pr´esent´es en figure 5.10 avec,
comme pr´ec´edemment le calcul des taux de bonnes (TPR) et fausses (FPR) d´etections et le calcul
du coefficient Kappa pour tous les changements et pour les changements sup´erieurs `a 100 m2
.
Lorsque seuls les grands changements sont pris en compte, globalement et selon les zones,
les taux de bonnes d´etections se situent entre 100% et 75%, avec un taux de fausses alarmes
variant alors de 100% `a moins de 5%.
Malgr´e les variations de paysage de ces zones, la r´egularisation optimale pour ces changements
se situe toujours approximativement `a λ = 5, 0, d’apr`es les courbes Kappa pr´esent´ees dans les
figures 5.10(b), 5.10(d) et 5.10(f).
Ainsi, `a cette r´egularisation, la valeur du Kappa est alors ´egale `a 0,93 pour la zone 1, avec 90%
de bonnes d´etections et 5,6% de fausses alarmes. Pour la zone 2, on obtient une valeur de Kappa
´egale `a 0,82 pour λ = 5, 0 pour des taux de 81% de bonnes d´etections et de 18% de fausses
alarmes. Enfin, concernant la zone 3, la valeur du Kappa est `a 0,87 pour λ = 5, 0 et les taux de
bonnes et fausses d´etections atteignent 79,5% et 3,57%, respectivement.
Lorsque tous les changements sont consid´er´es, en revanche, la r´egularisation optimale est d’environ
λ = 3, 5. Les coefficients Kappa, calcul´es pour chacune des zones sont alors de 0,72, 0,50
et 0,59, respectivement pour les zones 1, 2 et 3. Les taux de bonnes d´etections atteignent alors
72% pour les zones 1 et 2 et 53% pour la zone 3 tandis que les taux de fausses alarmes sont de
28,3% pour la zone 1, 62% pour la zone 2 et 34% pour la zone 3.
D’apr`es tous ces r´esultats, la zone 1 semble pr´esenter les meilleurs taux de bonnes et fausses
d´etections. Cette zone contient en fait de tr`es nombreux changements (126) dont pr`es de la
moiti´e sont des changements de grande taille.
124CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
(a) Taux de vrais et faux positifs pour la zone #1. (b) Coefficient Kappa calcul´e pour la zone #1.
(c) Taux de vrais et faux positifs pour la zone #2. (d) Coefficient Kappa calcul´e pour la zone #2.
(e) Taux de vrais et faux positifs pour la zone #3. (f) Coefficient Kappa calcul´e pour la zone #3.
Figure 5.10 – 5.10(a), 5.10(c) et 5.10(e) Variations des taux de bonnes et fausses d´etections
en fonction du λ. 5.10(b), 5.10(d) et 5.10(f ) Variations du coefficient Kappa. R´esultats calcul´es
pour chacune des zones de Phoenix 1255.3. ANALYSE DE SENSIBILITE DES R ´ ESULTATS OBTENUS ´
De plus, les sources de fausses alarmes sont assez r´eduites par rapport aux autres zones.
La zone 2 de Phoenix pr´esente des r´esultats de moins bonne qualit´e. Ceci s’explique par le fait
que cette zone contient de nombreux bˆatiments particuli`erement hauts. Ces bˆatiments g´en`erent
de grandes zones d’occlusion et donc de nombreuses erreurs qui ne sont pas totalement filtr´ees
lors de la g´en´eration des MNS. De plus, cette zone contient plusieurs zones de v´eg´etation qui
entraˆınent de nombreuses fausses alarmes. Enfin, seulement 71 changements sont recens´es dans
cette zone dont moins d’un tiers sont de grands changements bien d´etectables.
Finalement, la zone 3 pr´esente des r´esultats situ´es qualitativement entre la zone 1 et la zone 2.
Cette zone contient de nombreux changements (138) mais seul un quart correspond `a des changements
larges, ce qui explique les taux plus faibles de bonnes d´etections. Cette zone contient aussi
une voie express avec de nombreux v´ehicules g´en´erant un certain nombre de fausses alarmes.
Cependant, `a forte r´egularisation, les nombreuses fausses alarmes g´en´er´ees, (qui sont de petite
taille) sont supprim´ees permettant d’atteindre un tr`es faible taux de fausses alarmes `a λ = 5.
Christchurch
Les r´esultats obtenus pour la zone de Christchurch sont pr´esent´es en figure 5.11. Comme
pr´ec´edemment, les changements de taille sup´erieure `a 100 m2
sont repr´esent´es par la courbe
bleue et les changements toutes tailles confondues par la courbe rouge. Au vu du tr`es faible
nombre de changements inf´erieurs `a 100 m2
(8 seulement), les courbes sont tr`es proches, que ce
soit les courbes de bonnes d´etections ou de fausses alarmes.
Dans les deux cas, le coefficient Kappa atteint plus de 0,8 (0,8 pour tous les changements et
0,85 pour les changements sup´erieurs `a 100 m2
). Lorsque tous les changements sont consid´er´es,
ce coefficient apparaˆıt tr`es haut par rapport `a celui obtenu sur les zones de Phoenix (il est de
0,72 dans le meilleur r´esultat de Phoenix). Ceci s’explique par le faible nombre de changements
de petite taille. Lorsque seuls les grands changements sont consid´er´es, le coefficient Kappa est
de 0,85, coefficient proche des meilleurs r´esultats de Phoenix.
Cependant, d’apr`es la figure 5.11(a), si le taux de bonne d´etection est haut (il va de 100% `a
80% pour les changements larges), on observe un taux de fausses alarmes assez haut.
126CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
(a) Taux de vrais et faux positifs calcul´es
pour la zone de Christchurch.
(b) Coefficient Kappa calcul´es pour la zone
de Christchurch.
Figure 5.11 – 5.11(a) : Variations des taux de bonnes et fausses d´etections en fonction du λ.
5.11(b) : Variation du coefficient Kappa. R´esultats calcul´es pour la zone de Christchurch.
En effet, la zone s´electionn´ee dans Christchurch contient beaucoup de v´eg´etation sous la
forme d’arbres imposants et tr`es proches des habitations. Cet ´el´ement est souvent source de
fausses alarmes, notamment lorsque des arbres sont coup´es ou des haies sont plant´ees entre
deux acquisitions.
Cette zone, assez diff´erente en terme de paysage et contenant des d´efauts plus prononc´es
que les zones de Phoenix, montre tout de mˆeme une r´egularisation optimale aux environs d’un
λ = 5, 0 pour des changements sup´erieurs `a 100 m2
. Cette valeur de r´egularisation, identique `a
celle trouv´ee pour les 3 zones de Phoenix apparaˆıt ainsi bien adapt´ee au contexte urbain.
5.4 Analyse des r´esultats sur la zone de Sendai
Les r´esultats obtenus sur la zone de Sendai sont pr´esent´es en figure 5.12. Sur cette figure, la
courbe des bonnes d´etections est trac´ee en bleue, la courbe des fausses alarmes en rouge et la
courbe du coefficient Kappa en vert.
Contrairement aux zones pr´esent´ees pr´ec´edemment, la courbe des bonnes d´etections d´ecroˆıt
doucement, de fa¸con presque lin´eaire, tandis que la courbe des fausses alarmes, tr`es basse mˆeme
`a faible r´egularisation, ne d´ecroˆıt que tr`es peu puis semble se stabiliser `a moins de 10% de
fausses alarmes.
1275.4. ANALYSE DES RESULTATS SUR LA ZONE DE SENDAI ´
La courbe Kappa, quant `a elle, pr´esente un maximum `a environ 6,5 pour une r´egularisation `a
λ = 3, 0.
Le fort taux de bonnes d´etections, mˆeme `a haute r´egularisation, s’explique par le nombre
tr`es important de changements contigus de la sc`ene. En effet, pr`es de 300 bˆatiments ont ´et´e
recens´es sur une zone de 270 km2
soit une densit´e d’habitation de plus d’un bˆatiment pour
1 000 m2
. Densit´e indiquant des bˆatiments tr`es proches entre eux.
De plus, ces bˆatiments sont tr`es peu ´elev´es par rapport `a ceux des villes pr´ec´edemment ´etudi´ees
puisque leur hauteur n’exc`ede pas 5 m.
Or, la m´ethode d´evelopp´ee, bas´ee sur la notion de coh´erence locale traduite par l’utilisation
d’une r´egularisation spatiale, a tendance `a lisser les variations de labels hautes fr´equences. Dans
le cas du suivi urbain, cette caract´eristique permet de supprimer les fines variations de labels
qui repr´esentent alors g´en´eralement des fausses alarmes puisque la grande majorit´e de l’image
est labellis´ee non–changement.
Dans le cas de Sendai, au contraire, la majorit´e de l’image est labellis´ee en changement. Ainsi,
`a l’int´erieur de la zone d´etruite, ce sont les pixels labellis´es non–changements qui apparaissent
comme des variations fines de labels et qui auront donc tendance `a ˆetre supprim´es.
Ce ph´enom`ene tend `a limiter la pr´esence de fausses alarmes de changements sous forme d’amas
de pixels isol´es et `a maintenir un taux de bonnes d´etections tr`es haut.
Ainsi, la m´ethode d´evelopp´ee ne permet pas de discriminer chacun des bˆatiments d´etruits
dans la zone totalement sinistr´ee mais elle va plutˆot d´elimiter cette zone sinistr´ee. Toutefois,
la m´ethode peut s’av´erer tr`es int´eressante pour localiser les bˆatiments d´etruits isol´es et
plus difficiles `a retrouver visuellement car noy´es au milieu des tr`es nombreux changements
radiom´etriques.
La courbe Kappa pr´esente une forte augmentation partant d’une r´egularisation λ = 1, 0
`a λ = 3, 5, augmentation due `a la baisse du nombre de fausses alarmes et au maintien
des bonnes d´etections `a un taux ´elev´e. Puis, entre λ = 3, 5 et λ = 5, 0, le kappa montre
une diminution qui s’explique par un palier et mˆeme une l´eg`ere augmentation du nombre
de fausses alarmes (ph´enom`ene qui apparait lorsque la r´egularisation va diviser une alarme
importante de changement en deux alarmes distinctes) et la baisse du taux de bonnes d´etections.
128CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
Figure 5.12 – Courbes des taux de bonnes d´etections, fausses alarmes et coefficient Kappa.
Enfin, lorsque la r´egularisation atteint λ = 5, 0, le Kappa baisse de fa¸con quasi lin´eaire en
suivant la tendance du taux de bonnes d´etections.
Finalement, les courbes pr´esent´ees montrent de nouveau une r´egularisation optimale proche
de λ = 3, 0 lorsque des changements de toutes les tailles (mais majoritairement inf´erieurs `a
100 m2
) sont recherch´es, mˆeme dans un contexte aussi particulier que celui d’une destruction
massive du bˆati et surtout avec des images provenant d’un capteur tr`es haute r´esolution diff´erent
de celui utilis´e pour les zones exp´erimentales pr´ec´edentes.
La figure 5.13 pr´esente la carte des changements obtenue sur une emprise importante de
la r´egion de Sendai. Cette carte a ´et´e obtenue avec une r´egularisation λ = 3, 0, r´egularisation
optimale d´efinie pr´ec´edemment. L’ampleur de la destruction est particuli`erement visible sur cette
carte qui laisse pourtant apparaˆıtre des zones en changements positifs. Ces zones ne sont pas
des erreurs mais correspondent en fait `a des amas, tr`es probablement de d´ebris, apparus entre
les acquisitions avant et apr`es la catastrophe.
Nous rappelons que l’image post–´ev`enement a ´et´e acquise 5 mois apr`es la catastrophe. La zone
d´etruite a donc ´et´e en grande partie d´eblay´ee durant ces 5 mois. Cet intervalle d’acquisition
peut alors repr´esenter un inconv´enient pour la mesure de la performance de notre m´ethode, le
r´esultat de la carte de changement serait peut ˆetre diff´erent si la zone n’avait pas ´et´e d´eblay´ee.
1295.4. ANALYSE DES RESULTATS SUR LA ZONE DE SENDAI ´
(a) Ortho image Ikonos de 2010. (b) Ortho image Ikonos de 2011.
(c) Carte des changements d’´el´evation obtenue avec λ = 3.
Figure 5.13 – Images ortho rectifi´ees de la r´egion de Tohoku et carte des changements r´esultante.
130CHAPITRE 5. EXPERIMENTATION ET DISCUSSION DES R ´ ESULTATS DE LA ´
METHODE DE D ´ ETECTION DES CHANGEMENTS D’ ´ EL´ EVATION ´
Cette carte de changements met aussi clairement en ´evidence les destructions apparues dans
la v´eg´etation, notamment sur la partie sud de l’image o`u une forˆet enti`ere a ´et´e d´evast´ee par
le tsunami. Bien que les changements sur la v´eg´etation soient g´en´eralement compt´es en fausses
alarmes, ceux–ci apparaissent pertinents puisque les d´egˆats environnementaux peuvent aussi
avoir un fort impact ´economique pour une r´egion et n´ecessiter une ´evaluation.
5.5 Conclusion
Ce chapitre a permis de tester les performances de la m´ethode d´evelopp´ee pour la d´etection
des changements d’´el´evation ainsi que sa sensibilit´e envers les param`etres utilis´es ou les donn´ees
d’entr´ee.
Ces ´evaluations ont ´et´e r´ealis´ees grˆace `a la comparaison des cartes de changements obtenues
avec des cartes de r´ef´erences g´en´er´ees manuellement (ou `a l’aide d’un LiDAR) et `a travers
l’utilisation de plusieurs m´etriques classiques de la litt´erature : les taux de bonnes d´etections et
de fausses alarmes ainsi que le coefficient Kappa.
Comme attendu, la r´egularisation est le param`etre ayant la plus forte influence sur le r´esultat.
Les diff´erents cas test pr´esent´es (Phoenix, Christchurch et Sendai) ont permis de montrer que
lorsque des changements de toutes tailles sont recherch´es, la r´egularisation optimale se situe `a
environ λ = 3, 0 et permet d’obtenir 100% des changements d´etect´es pour 70% `a 80% de fausses
alarmes.
Lorsque seuls les changements sup´erieurs `a 100 m2
sont cibl´es, une r´egularisation λ = 5, 0 est
recommand´e et permet d’obtenir plus de 80% de bonnes d´etections et moins de 20% de fausses
alarmes.
Nous avons aussi pu observer que la qualit´e du MNS avait un impact important sur la qualit´e
du r´esultat, notamment `a faible r´egularisation lorsque les changements de petite taille sont
consid´er´es et que le taux de fausses alarmes g´en´er´ees par les erreurs des MNS est ´elev´e.
Enfin, dans le cas d’une sc`ene pr´esentant des changements tr`es important dus `a une catastrophe
majeure, nous avons pu montrer les performances de la m´ethode en termes de bonnes d´etections
et de fausses alarmes tout en confirmant une r´egularisation optimale `a λ = 3, 0 lorsque les
changements de toutes les tailles sont recherch´es. Si ces analyses permettent d´ej`a une bonne
´evaluation des performances de la m´ethode envers diff´erents param`etres, elles pourraient
1315.5. CONCLUSION
cependant ˆetre compl´et´ees par des analyses portant sur l’impact de la r´esolution native et la
qualit´e (contraste et piqu´e) des images d’entr´ee sur la taille des changements d´etectables et leur
taux de d´etection.
132Chapitre 6
Conclusion g´en´erale
6.1 Conclusion
Nous pr´esentons, dans ce travail de th`ese, une chaˆıne de traitements automatique, non
supervis´ee et efficace pour la recherche des changements d’´el´evation apparus entre deux dates
d’int´erˆet. Cette chaˆıne est bas´ee sur la g´en´eration de MNS `a chaque date `a partir de couples
d’images satellites st´er´eoscopiques tr`es haute r´esolution puis sur l’analyse de leur diff´erences.
L’un des avantages de cette chaˆıne est d’ˆetre totalement automatique, c’est–`a–dire qu’aucune
information externe n’est n´ecessaire. Cet avantage permet de garantir l’efficacit´e de la m´ethode
sur n’importe quelle zone du globe, pourvu que des couples st´er´eoscopiques soient pr´esents aux
dates d’int´erˆet.
Nous avons montr´e au cours de cette th`ese que l’un des ´el´ements les plus sensibles de la
m´ethode est la qualit´e du MNS, c’est pourquoi une grande partie de ce travail est d´edi´ee `a
l’am´elioration de la pr´ecision des MNS produits par imagerie spatiale.
Une technique innovante, bas´ee sur la fusion de tous les MNS asym´etriques r´ealisables `a partir
d’un mˆeme couple st´er´eoscopique a ´et´e d´evelopp´ee dans cet objectif. Cette m´ethode s’est av´er´ee
particuli`erement efficace pour diminuer les erreurs de corr´elations dans le MNS final, qu’elles
proviennent de la mise en correspondance sur des objets difficiles de la sc`ene ou des zones
d’occlusion de l’une ou l’autre image du couple. Enfin, nous avons montr´e que cette m´ethode
´etait aussi avantageuse pour traiter la multi–st´er´eoscopie.
1336.1. CONCLUSION
La m´ethode de d´etection des changements d’´el´evation d´evelopp´ee dans la chaˆıne de
traitements est bas´ee sur une classification optimis´ee de tous les pixels du MNS diff´erentiel,
classification qui d´epend de la valeur de diff´erence d’´el´evation des pixels mais aussi d’une
contrainte spatiale permettant de limiter les variations de labels affect´es `a des pixels connexes.
Cette m´ethode de classification permet ainsi de mettre en avant les changements coh´erents de
la sc`ene tout en supprimant le bruit de corr´elation tandis que l’´equilibre fausses alarmes et
bonnes d´etections est alors contrˆol´e par le param`etre de r´egularisation λ.
Cette m´ethode a ´et´e test´ee sur plusieurs zones diff´erentes et dans un contexte de recherche
des changements urbains typiques d’une ville. Ces zones ont ´et´e s´electionn´ees dans les villes de
Phoenix (Arizona, Etats-Unis) et de Christchurch (Nouvelle-Z´elande). ´
Les r´esultats montrent que, lorsque un taux de d´etection de plus de 80% est attendu et pour
des changements de taille sup´erieure `a 15×15 pixels, les taux de fausses alarmes varient alors
de 20% `a 35% seulement et avec une r´egularisation optimale d´efinie `a λ = 5, 0.
Lorsque des changements de toutes tailles sont recherch´es, la r´egularisation optimale est alors
abaiss´ee `a environ λ = 3, 0 et permet la d´etection de 60% `a 80% des changements avec de 40%
`a 60% de fausses alarmes.
Ces r´esultats sont cependant particuli`erement sensibles aux sources d’erreurs de corr´elation
pr´esentes dans la sc`ene.
Dans un contexte plus particulier de destruction urbaine importante, apr`es une catastrophe
majeure, nous montrons que les mˆemes r´egularisations peuvent s’appliquer et entraˆınent un
taux de plus de 95% de bonnes d´etections et moins de 10% de fausses alarmes, valeurs obtenues
pour la r´egion de Tohoku, touch´ee par un tsunami le 11 mars 2011.
La chaˆıne de traitement d´evelopp´ee n´ecessite cependant l’utilisation de nombreux param`etres,
que ce soit pour la g´en´eration des MNS ou la d´etection des changements. On montre
pourtant que, quel que soit le contexte ou le capteur tr`es haute r´esolution (ville de Phoenix
en image WorldView-1 ou r´egion d´etruite de Sendai en images Ikonos) les mˆeme param`etres
peuvent ˆetre utilis´es. Nous montrons ainsi que seule la r´esolution du capteur ou le contexte de
la zone d’´etude (urbaine ou rurale vallonn´ee) doivent ˆetre pris en compte pour la g´en´eration des
MNS tandis que la r´esolution des images, la taille des changements ou la pr´ecision recherch´ee
134CHAPITRE 6. CONCLUSION GEN´ ERALE ´
sont les seules v´eritables contraintes du syst`eme de d´etection de changements.
Enfin, le syst`eme fonctionne sur un seul et mˆeme “noyau” algorithmique, noyau que nous
avons r´ealis´e de fa¸con `a le rendre adaptable `a de nombreux probl`emes de labellisation tandis
que les probl`emes rencontr´es dans la chaˆıne de traitements sont eux–mˆemes tous formul´es
en termes de labellisation des pixels d’une image selon des contraintes de probabilit´e et une
contrainte de r´egularisation spatiale.
6.2 Perspectives
Nous pouvons mettre en ´evidence trois perspectives d’´evolution `a fort int´erˆet pour la chaˆıne
de traitements d´evelopp´ee.
La premi`ere consiste en la cr´eation d’un masque de v´eg´etation. En effet, nous avons montr´e,
lors des ´etapes de g´en´eration de MNS, que la mise en correspondance avait une forte tendance
`a produire des erreurs sur des textures 3D aussi complexes que la v´eg´etation. Dans l’´etape
de basculement des MNS, la v´eg´etation est partiellement supprim´ee grˆace aux contraintes sur
le score de corr´elation et dans l’´etape suivante de fusion des MNS, d’autres erreurs dues `a la
v´eg´etation peuvent ˆetre ´elimin´ees grˆace `a la r´egularisation sur le MNS.
Mais ces erreurs restent n´eanmoins une des sources principales de fausses alarmes dans la
d´etection des changements, notamment lorsque les couples ou n-uplets st´er´eoscopiques n’ont
pas ´et´e acquis `a la mˆeme saison et que la v´eg´etation est alors plus ou moins d´evelopp´ee entre
les images.
Ce ph´enom`ene a notamment ´et´e illustr´e sur les cartes de changements obtenues sur la zone de
Christchurch. Cependant, nous avons aussi pu montrer les d´egˆats importants sur la v´eg´etation
apr`es la catastrophe de Sendai grˆace aux changements d´etect´es sur la v´eg´etation. Les changements
apparus sur la v´eg´etation peuvent ainsi, selon le contexte ou l’application demand´ee, ˆetre
recherch´es ou ˆetre consid´er´es en fausses alarmes.
C’est pourquoi une perspective int´eressante `a ce travail est la cr´eation de masques de v´eg´etation
afin de diminuer les fausses alarmes g´en´er´ees ou bien afin de mettre en ´evidence les alarmes de
changements que la v´eg´etation produit.
1356.2. PERSPECTIVES
Afin d’´eviter les cas o`u une zone de v´eg´etation serait transform´ee en zone bˆatie ou inversement,
il serait alors n´ecessaire de g´en´erer des masques de v´eg´etation correspondant `a chacune des
dates d’´etude.
Deux solutions pourraient ensuite ˆetre envisag´ees pour la prise en compte de ces masques dans
la d´etection des changements. Une premi`ere approche serait le filtrage post–traitement des
alarmes de changements lorsque qu’une alarme correspond, `a chacune des dates, `a une zone
de v´eg´etation. Une seconde approche, certainement plus pr´ecise, consisterait `a consid´erer la
v´eg´etation comme un label `a part enti`ere lors de la classification des pixels.
Une autre perspective d’am´elioration de la pr´ecision des r´esultats peut ˆetre repr´esent´ee par
le couplage de la m´ethode de d´etection des changements d’´el´evation, telle que nous l’avons
con¸cue, avec une m´ethode de d´etection des changements radiom´etriques.
Nous avons pr´ecis´e, au d´ebut de ce travail, que les m´ethodes de d´etection des changements
radiom´etriques ´etaient tr`es sensibles aux conditions d’acquisitions des images et d´etectaient
ainsi des changements d’illumination non pertinents pour notre contexte. Cependant, nous
avons aussi montr´e que notre m´ethode peut aussi g´en´erer des fausses alarmes mais sur des zones
trop homog`enes ou trop p´eriodiques qui sont une gˆene pour la mise en correspondance. Ainsi,
le filtrage, par exemple, des alarmes de changements 3D par une m´ethode de d´etection des
changements radiom´etriques pourrait s’av´erer tr`es avantageux pour la pr´ecision des r´esultats
finaux.
Enfin, une derni`ere perspective `a ce travail est la g´en´eration de MNS `a partir d’images
satellites monososcopiques, n’ayant pas ´et´e acquises simultan´ement. En effet, la chaˆıne de
traitements d´evelopp´ee est bas´ee sur l’utilisation de couple ou uplets st´er´eoscopiques n´ecessaires
pour les deux dates t1 et t2. Cette condition, requise pour tout traitement, n’est pourtant pas
toujours satisfaite sur toutes les r´egions du globe car si les satellites aujourd’hui font preuve
d’une grande r´eactivit´e et peuvent acqu´erir des images st´er´eoscopiques dans un court d´elai et
n’importe o`u, les archives st´er´eoscopiques ne sont, elles, pas toujours disponibles.
Une piste importante consisterait donc `a d´evelopper une m´ethode capable de g´en´erer des MNS
`a partir de nombreuses images monoscopiques acquises dans les mois qui entourent la date
d’int´erˆet t1 et avec n’importe quel capteur tr`es haute r´esolution. La mise en correspondance de
136CHAPITRE 6. CONCLUSION GEN´ ERALE ´
toutes les images n´ecessiterait alors la prise en compte de leurs diff´erences qu’elles soient dues
`a l’acquisition des images comme les diff´erences d’illumination ou aux changements survenus
entre les acquisitions.
Cette piste pr´esente ainsi un fort int´erˆet dans de nombreux domaines n´ecessitant la cr´eation de
MNS.
1376.2. PERSPECTIVES
138Table des figures
1.1 Sch´ema de principe des diff´erentes g´eom´etries de mise en correspondance. . . . . 34
1.2 Illustration des diff´erentes ´etapes de la chaˆıne globale de traitements. . . . . . . . 36
2.1 Illustration du syst`eme d’acquisition en barrette push–broom et des angles d’attitude
du satellite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.2 Illustration du r´esultat de la spatio–triangulation pour le recalage des images. . . 44
2.3 Illustration du r´esultat de la spatio–triangulation pour le recalage des images
(´echelle en pixels). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4 Illustration du calcul des r´esidus de la spatio–triangulation. . . . . . . . . . . . . 46
2.5 Illustration de la m´ethode des graph–cuts appliqu´ee `a une image. . . . . . . . . . 50
2.6 Illustration d’un effet de streaking le long des lignes d’une image trait´ee par programmation
dynamique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.7 Illustration du parcours des diff´erentes directions pour la programmation dynamique
afin de calculer le coˆut ”semi–global”. . . . . . . . . . . . . . . . . . . . . . 55
2.8 Illustration du calcul des coˆuts obtenus pour chaque label et chaque pixel de la
s´equence selon l’´equation 2.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.1 Illustration de l’impact de la r´egularisation pour la g´en´eration de MNS. . . . . . 64
3.2 Principe de parcours de la grille image maˆıtre pour l’interpolation des points de
la grille r´eguli`ere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3 Illustration du principe de l’interpolation d’une grille r´eguli`ere terrain `a partir des
points obtenus dans la g´eom´etrie de l’image maˆıtre. . . . . . . . . . . . . . . . . . 69
3.4 Illustration du r´esultat du basculement d’un MNS WorldView-1 `a partir de la
carte des ´el´evations en g´eom´etrie image. . . . . . . . . . . . . . . . . . . . . . . . 70
139TABLE DES FIGURES
3.5 MNS asym´etriques provenant du mˆeme couple d’images st´er´eoscopiques. . . . . . 73
3.6 MNS provenant du mˆeme couple st´er´eoscopique et r´esultat de leur fusion par la
moyenne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.7 Sch´ema r´ecapitulatif de la proc´edure de fusion des MNS en fonction des valeurs
initiales et de l’attache aux donn´ees. . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.8 3.8(a) et 3.8(b) : MNS calcul´es `a partir du mˆeme couple st´er´eoscopique et r´esultats
de leur fusion par optimisation globale 3.8(c). . . . . . . . . . . . . . . . . . . . . 81
3.9 3.9(a) et 3.9(b) : Histogrammes des cartes de diff´erences calcul´ees entre le liDAR
et le MNS asym´etrique et MNS fusionn´e, respectivement. . . . . . . . . . . . . . . 85
3.10 Profils d’´el´evation compar´es entre le MNS asym´etrique (en vert), le MNS fusionn´e
(en bleu) et le Lidar (en rouge). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.11 Illustration du triplet st´er´eoscopique Pl´eiades acquis sur la ville de Toulouse. . . 89
3.12 MNS calcul´es `a partir de 2 images puis 3 images du mˆeme uplet st´er´eoscopique. . 90
4.1 4.1(a) et 4.1(b) MNS de 2008 et 2011 calcul´es sur la zone 1 d´efinie sur la ville
de Phoenix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.2 4.2(a) MNS diff´erentiel. 4.2(b) MNS diff´erentiel seuill´e. . . . . . . . . . . . . . . 96
4.3 Fonction sigmo¨ıdale permettant le calcul des coˆuts d’attache aux donn´ees pour le
label changement positif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.1 Orthoimages provenant des images panchromatiques WorldView–1 repr´esentant
les trois zones test´ees sur la ville de Phoenix et la zone de Christchurch. . . . . . 103
5.2 5.2(a)Orthoimage calcul´ee et 5.2(b) donn´ee de r´ef´erence des changements de la
zone 1 de Phoenix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.3 Ortho images et MNS calcul´es avant et apr`es la catastrophe de Sendai du
11/03/2011. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.4 Zone partiellement d´etruite par le Tsunami et quantifi´ee `a travers la carte de
r´ef´erence des bˆatiments d´etruits et intacts. . . . . . . . . . . . . . . . . . . . . . 108
5.5 Cartes de d´etection de changement obtenues `a partir d’un nombre variable de
directions de calcul et une r´egularisation λ = 3, 0. . . . . . . . . . . . . . . . . . . 114
5.6 Illustration de l’impact du nombre de directions de calcul sur les taux de bonnes
et fausses d´etections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
140TABLE DES FIGURES
5.7 Cartes des d´etections calcul´ee avec diff´erentes valeurs de λ et 12 directions. . . . 116
5.8 5.8(a) et 5.8(c) : Variations des taux de fausses et vraies d´etections en fonction de
la r´egularisation λ. 5.8(b) et 5.8(d) : Variation du coefficient Kappa en fonction
de la r´egularisation λ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.9 5.9(a) et 5.9(c) : Variations des taux de fausses et vraies d´etections en fonction
de la r´egularisation λ ou de la taille de l’´el´ement structurant. 5.9(b) et 5.9(d) :
Variations du coefficient Kappa en fonction de la r´egularisation λ ou de la taille
de l’´el´ement structurant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.10 5.10(a), 5.10(c) et 5.10(e) Variations des taux de bonnes et fausses d´etections en
fonction du λ ; 5.10(b), 5.10(d) et 5.10(f ) Variations du coefficient Kappa pour
chacune des zones test de Phoenix. . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.11 5.11(a) : Variations des taux de bonnes et fausses d´etections en fonction du λ.
5.11(b) : Variation du coefficient Kappa. R´esultats calcul´es pour la zone de Christchurch.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.12 Courbes des taux de bonnes d´etections, fausses alarmes et coefficient Kappa. . . . 129
5.13 Images ortho rectifi´ees de la r´egion de Tohoku et carte des changements r´esultante. 130
141TABLE DES FIGURES
142Liste des tableaux
1.1 M´etadonn´ees des images utilis´ees lors des diff´erentes ´etudes. . . . . . . . . . . . . 38
3.1 Tableau de synth`ese des param`etres de la m´ethode compl`ete de g´en´eration des MNS. 92
4.1 Tableau de synth`ese des param`etres n´ecessaires `a la m´ethode de d´etection des
changements d’´el´evation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
143LISTE DES TABLEAUX
144Bibliographie
[1] E. Berthier, Y. Arnaud, R. Kumar, S. Ahmad, P. Wagnon, and P. Chevallier. Remote
sensing estimates of glacier mass balances in the Himachal Pradesh (Western Himalaya,
India). In Remote Sensing of Environment, vol. 108 no. 3 pp. 327–338, 2007.
[2] P. Baldi, M. Fabris, M. Marsella, and R. Monticelli. Monitoring the morphological evolution
of the sciara del fuoco during the 2002 – 2003 Stromboli eruption using multi–temporal
photogrammetry. In ISPRS Journal of Photogrammetry and Remote Sensing, vol. 59 no. 4
pp. 199–211, 2005.
[3] M. Koga and A. Iwasaki. Improving the measurement accuracy of three-dimensional topography
changes using optical satellite stereo image data. In IEEE Transactions on Geoscience
and Remote Sensing, vol. 49 no. 8 pp. 2918–2923, Aug. 2011.
[4] K. Tsutsui, S. Rokugawa, H. Nakagawa, S. Miyazaki, C. Cheng, T. Shiraishi, and Shiun-Der
Yang. Detection and volume estimation of large-scale landslides based on elevation–change
analysis using DEMs extracted from high–resolution satellite stereo imagery. In IEEE
Transactions on Geoscience and Remote Sensing , vol. 45 no. 6 pp. 1681–1696, Jun. 2007.
[5] N. Champion, D. Boldo, M. Pierrot-Deseilligny, and G. Stamon. 2D Change detection
from satellite imagery : performance analysis and impact of the spatial resolution of input
images. In IEEE International Geoscience and Remote Sensing Symposium (IGARSS), pp.
1421–1424, Jul. 2011.
[6] P. Reinartz, J. Tian, and A.A. Nielsen. Building damage assessment after the earthquake
in Haiti using two post–event satellite stereo imagery and dsms. In Joint Urban Remote
Sensing Event (JURSE), pp. 057–060, 2013.
145BIBLIOGRAPHIE
[7] R.J. Radke, S. Andra, O. Al-Kofahi, and B. Roysam. Image change detection algorithms : a
systematic survey. In IEEE Transactions on Image Processing, vol. 14, no. 3, pp. 294–307,
Mar. 2005.
[8] J. Tian, H. Chaabouni-Chouayakh, P. Reinartz, T. Krauss, and P. d Angelo. Automatic 3D
change detection based on optical satellite stereo imagery. In ISPRS TC VII Symposium,
Vienna, 2010.
[9] P. J. Deer. Digital change detection techniques : Civilian and military applications. In
International Symposium on Spectral Sensing Research, 1995.
[10] A. Singh. Review article digital change detection techniques using remotely–sensed data.
In International Journal of Remote Sensing, vol. 10, no. 6, pp. 989–1003, 1989.
[11] M. Volpi, D. Tuia, M. Kanevski, F. Bovolo, and L. Bruzzone. Supervised change detection
in VHR images : a comparative analysis. In IEEE International Workshop on Machine
Learning for Signal Processing, pp. 1–6, Sept. 2009.
[12] L. Bruzzone and F. Bovolo. A conceptual framework for change detection in very high
resolution remote sensing images. In IEEE International Geoscience and Remote Sensing
Symposium (IGARSS), pp. 2555–2558, Jul. 2010.
[13] P.L. Rosin and E. Ioannidis. Evaluation of global image thresholding for change detection.
In Pattern Recognition Letters, vol. 24, no. 14, pp. 2345–2356, 2003.
[14] F. Bovolo, L. Bruzzone, and M. Marconcini. A novel approach to unsupervised change
detection based on a semi–supervised SVM and similarity measure. In IEEE Transaction
on Geoscience and Remote Sensing Letters, vol. 46, no. 7, pp. 2070–2082, 2008.
[15] D.H.A. Al-Khudhairy, I. Caravaggi, and S. Clada. Structural damage assessments from Ikonos
data using change detection, object–oriented segmentation and classification techniques.
In Photogrammetric Engineering and Remote Sensing, vol. 71, pp. 825–837, 2005.
[16] L. Bruzzone and D.F. Prieto. Automatic analysis of the difference image for unsupervised
change detection. In IEEE Transactions on Geoscience and Remote Sensing, vol. 38, no. 3,
pp. 1171–1182, May 2000.
146BIBLIOGRAPHIE
[17] T.T. Vu, M. Matsuoka, and F. Yamazaki. Lidar–based change detection of buildings in
dense urban areas. In IEEE International Geoscience and Remote Sensing Symposium
(IGARSS), vol. 5, pp. 3413–3416, Sep. 2004.
[18] G. Sithole and G. Vosselman. Automatic structure detection in a point–cloud of an urban
landscape. In 2nd GRSS/ISPRS Joint Workshop on Remote Sensing and Data Fusion over
Urban Areas, pp 67–71, May 2003.
[19] F. Rottensteiner. Automated updating of building data bases from digital surface models
and multi–spectral images : Potential and limitations. In ISPRS Congress, Beijing, China,
vol. 37, pp. 265–270, Dec. 2008.
[20] G. Vosselman, B. G. H. Gorte, and G. Sithole. Change detection for updating medium scale
maps using laser altimetry. In Proceedings of the 20th ISPRS Congress, pp. 12–23, 2004.
[21] L. Matikainen, J. Hyyppa, E. Ahokas, L. Markelin, and H. Kaartinen. Automatic detection
of buildings and changes in buildings for updating of maps. In Remote Sensing, vol. 2, no.
5, pp. 1217–1248, 2010.
[22] H. Chaabouni-Chouayakh, P. d’Angelo, T. Krauss, and P. Reinartz. Automatic urban area
monitoring using digital surface models and shape features. In Joint Urban Remote Sensing
Event (JURSE), pp. 85–88, Apr. 2011.
[23] F. Jung. Detecting building changes from multitemporal aerial stereopairs. In ISPRS
Journal of Photogrammetry and Remote Sensing, vol. 58, no. 4, pp. 187–201, 2004.
[24] J. Tian, H. Chaabouni-Chouayakh, and P. Reinartz. 3D Building change detection from high
resolution spaceborne stereo imagery. In International Workshop on Multi-Platform/MultiSensor
Remote Sensing and Mapping (M2RSM), pp. 1–7, 2011.
[25] J. A. Marchant and C. M. Onyango. Shadow-invariant classification for scenes illuminated
by daylight. In Journal of the Optical Society of America A, vol. 17, no. 11, pp. 1952–1961,
Nov. 2000.
[26] J. Tian, S. Cui, and P. Reinartz. Building change detection based on satellite stereo imagery
and digital surface models. In IEEE Transactions on Geoscience and Remote Sensing, pp.
1–12, 2013.
147BIBLIOGRAPHIE
[27] A.A. Nielsen. The regularized iteratively reweighted mad method for change detection in
multi- and hyperspectral data. In IEEE Transactions on Image Processing, vol. 16, no. 2,
pp. 463–478, 2007.
[28] D. Scharstein and R. Szeliski. A taxonomy and evaluation of dense two–frame stereo correspondence
algorithms. In International Journal of Computer Vision, vol. 47, pp. 7–42,
2002.
[29] M.Z. Brown, D. Burschka, and G.D. Hager. Advances in computational stereo. In IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 25, no. 8, pp. 993–1008,
2003.
[30] N. Lazaros, G.C. Sirakoulis, and A. Gasteratos. Review of stereo vision algorithms : from
software to hardware. In International Journal of Optomechatronics, vol. 2, no. 4, pp.
435–462, 2008.
[31] H. Hirschmuller. Accurate and efficient stereo processing by semi–global matching and mutual
information. In IEEE Computer Society Conference on Computer Vision and Pattern
Recognition (CVPR), vol. 2, pp. 807–814, Jun. 2005.
[32] M. Pierrot-Deseilligny and N. Paparoditis. A multiresolution and optimization–based image
matching approach : an application to surface reconstruction from SPOT5-HRS stereo imagery.
In Internationales Archives of Photogrammetry and Remote Sensing, 2006.
[33] Q. Yang, L. Wang, R. Yang, H. Stewenius, and D. Nister. Stereo matching with colorweighted
correlation, hierarchical belief propagation, and occlusion handling. In IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 31, no. 3, pp. 492–504,
2009.
[34] A.F. Bobick and S.S. Intille. Large occlusion stereo. In International Journal of Computer
Vision, pp. 181–200, 1999.
[35] C. Baillard and A. Zisserman. Automatic reconstruction of piecewise planar models from
multiple views. In IEEE Computer Society Conference on Computer Vision and Pattern
Recognition (CVPR), vol. 2, pp. 559–65, Jun. 1999.
148BIBLIOGRAPHIE
[36] L. Zhang and A. Gruen. Multi–image matching for dsm generation from ikonos imagery. In
ISPRS Journal of Photogrammetry and Remote Sensing, vol. 60, no. 3, pp. 195–211, 2006.
[37] R. Zabih and J. Woodfill. Non–parametric local transforms for computing visual correspondence.
In Computer Vision ECCV’94, pp. 151–158, 1994.
[38] A. Klaus, M. Sormann, and K. Karner. Segment-based stereo matching using belief propagation
and a self–adapting dissimilarity measure. In IEEE Computer Society Conference
on Computer Vision and Pattern Recognition (CPVR), vol. 2, Jun. 2006.
[39] J. Sun, Y. Li, S.B. Kang, and H.Y. Shum. Symmetric stereo matching for occlusion handling.
In IEEE Computer Society Conference on Computer Vision and Pattern Recognition
(CVPR), vol. 2, pp. 399–406, 2005.
[40] M. Sizintsev and R.P. Wildes. Coarse-to-fine stereo vision with accurate 3d boundaries. In
Image and Vision Computing, vol. 28, no. 3, pp. 352–366, 2010.
[41] Y. Boykov and V. Kolmogorov. An experimental comparison of min-cut/max- flow algorithms
for energy minimization in vision. In IEEE Transactions on Pattern Analysis and
Machine Intelligence, vol. 26, no. 9, pp. 1124–1137, Sep. 2004.
[42] K Schindler. An overview and comparison of smooth labeling methods for land–cover
classification. In IEEE Transactions on Geoscience and Remote Sensing, vol. 50, no. 11,
pp. 4534–4545, Nov. 2012.
[43] P.F. Felzenszwalb and D.R. Huttenlocher. Efficient belief propagation for early vision. In
IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR),
vol. 1, pp. 261–268, Jul. 2004.
[44] O. Veksler. Stereo correspondence by dynamic programming on a tree. In IEEE Computer
Society Conference on Computer Vision and Pattern Recognition (CPVR), vol. 2, pp. 384–
390, Jun. 2005.
[45] H. Hirschmuller and D. Scharstein. Evaluation of cost functions for stereo matching. In
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 1–8, Jun.
2007.
149BIBLIOGRAPHIE
[46] S. Birchfield and C. Tomasi. Depth discontinuities by pixel–to–pixel stereo. In International
Journal of Computer Vision, vol. 35, pp. 269–293, 1999.
[47] H. Hirschmuller, P. R Innocent, and J. Garibaldi. Real–time correlation based stereo vision
with reduced border errors. In International Journal of Computer Vision, vol. 47, no. 3,
pp. 229–246, 2002.
[48] M. Pierrot-Deseilligny L. Penard, N. Paparoditis. 3d building facade reconstruction under
mesh form from multiple wide angle views. In Proceedings of the 20th ISPRS Congress,
2005.
[49] P. Fua. A parallel stereo algorithm that produces dense depth maps and preserves image
features. In Machine Vision and Applications, vol. 6, pp. 35–49, 1993.
[50] G. Egnal and R.P. Wildes. Detecting binocular half-occlusions : empirical comparisons of
five approaches. In IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.
24, no. 8, pp. 1127–1133, 2002.
[51] S. Chambon and A. Crouzil. Towards correlation-based matching algorithms that are robust
near occlusions. In Proceedings of the 17th International Conference on Pattern Recognition
(ICPR), vol. 3, pp. 20–23, 2004.
[52] P. N. Belhumeur. A bayesian approach to binocular steropsis. In International Journal of
Computer Vision, vol. 19, no. 3, pp. 237–260, 1996.
[53] Y. Furukawa and J. Ponce. Accurate dense and robust multi–view stereopsis. In IEEE
Transactions Pattern Analysis and Machine Intelligence, vol. 32, pp. 1362–1376, 2010.
[54] F De Lussy, D. Greslou, C Dechoz, V. Amberg, J. M. Delvit, L. Lebegue, G. Blanchet,
and S. Fourest. Pleiades HR in flight geometrical calibration : location and mapping of the
focal plane. In ISPRS International Archives of the Photogrammetry, Remote Sensing and
Spatial Information Sciences, vol. 39, pp. 519–523, 2012.
[55] J. Grodecki and G. Dial. Block adjustment of high-resolution satellite images by rational
polynomials. In Photogrammetric Engineering and Remote Sensing, vol. 69, pp. 59–68,
2003.
150BIBLIOGRAPHIE
[56] C.S. Fraser, G. Dial, and J. Grodecki. Sensor orientation via RPCs. In ISPRS Journal of
Photogrammetry and Remote Sensing, vol. 60, pp. 182–194, 2006.
[57] S. Geman and D. Geman. Stochastic relaxation, gibbs distributions, and the bayesian
restoration of images. In IEEE Transactions on Pattern Analysis and Machine Intelligence,
vol. 6, no. 6, pp. 721–741, Nov. 1984.
[58] Y. Boykov, O. Veksler, and R. Zabih. Fast approximate energy minimization via graph–
cuts. In IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 23, no. 11,
pp. 1222–1239, Nov. 2001.
[59] S. Roy and I.J. Cox. A maximum–flow formulation of the n-camera stereo correspondence
problem. In Sixth International Conference on Computer Vision, pp. 492–499, Jan. 1998.
[60] Y. Weiss and W.T. Freeman. On the optimaly of solutions of the max-product belief
propagation algorithm in arbitrary graphs. In IEEE Transactions Information Theory, vol.
47, pp. 723–735, 2001.
[61] Daniel Scharstein and Richard Szeliski. vision.middlebury, 2012.
[62] L. Randolph Ford and D.R. Fulkerson. A simple algorithm for finding maximal network
flows and an application to the Hitchcock problem. Rand Corporation, 1955.
[63] V. Kolmogorov and R. Zabih. What energy functions can be minimized via graph–cuts. In
IEEE Transactions Pattern Analysis and Machine Intelligence, vol. 26, pp. 147–159, 2004.
[64] R. Szeliski, R. Zabih, D. Scharstein, O Veksler, V Kolmogorov, A. Agarwala, and C. Rother.
A comparative study of energy minimization methods for markov random fields. In
Computer Vision-ECCV, pp. 16–29, 2006.
[65] V. Kolmogorov. Convergent tree–reweighted message passing for energy minimization. In
IEEE Transactions Pattern Analysis and Machine Intelligence, vol. 28, pp. 1568–1583, 2006.
[66] P.F. Felzenszwalb and R. Zabih. Dynamic programming and graph algorithms in computer
vision. In IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 33, no. 4,
pp. 721–740, Apr. 2011.
151BIBLIOGRAPHIE
[67] Y. Otha and T. Kanade. Stereo by intra- and inter–scanline search using dynamic programming.
In IEEE Transactions Pattern Analysis and Machine Intelligence, vol. 2, pp.
139–154, 1985.
[68] R. B. Potts. Some generalized order–disorder transformations. Cambridge Philos. Soc.
Math. Proc., vol. 48, pp. 106–109, 1952.
[69] A. Fahmi, J. Jansa, C. Ries, et al. The generation of true orthophotos using a 3D building
model in conjunction with conventional DTM. In International Archives of Photogrammetry
and Remote Sensing, vol. 32, 1998.
[70] G. Singh, Y. Yamaguchi, W.-M. Boerner, and Sang-Eun Park. Monitoring of the March
11, 2011, off-tohoku 9.0 earthquake with super–tsunami disaster by implementing fully
polarimetric high–resolution polsar techniques. In Proceedings of the IEEE, vol. 101, no. 3,
pp. 831–846, 2013.
[71] J. Cohen. A coefficient of agreement for nominal scales. In Educational and psychological
measurement, vol. 20, no. 1, pp. 37–46, 1960.
[72] G.G. Wilkinson. Results and implications of a study of fifteen years of satellite image
classification experiments. In IEEE Transactions on Geoscience and Remote Sensing, vol.
43, no. 3, pp. 433–440, Mar. 2005.
[73] R.M. Haralick, S.R. Sternberg, and X. Zhuang. Image analysis using mathematical morphology.
In IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 9, no.
4, pp. 532–550, 1987.
152
Une approche d’alignement `a la probl´ematique de la
d´etection des activit´es habituelles
Rick Moritz
To cite this version:
Rick Moritz. Une approche d’alignement `a la probl´ematique de la d´etection des activit´es
habituelles. Computers and Society. INSA de Rouen, 2014. French. .
HAL Id: tel-00944105
https://tel.archives-ouvertes.fr/tel-00944105
Submitted on 10 Feb 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.THESE
Pr´esent´ee `a :
L’Institut National des Sciences Appliqu´ees de Rouen
En vue de l’obtention du grade de :
Docteur en Informatique
Par
Rick P. C. MORITZ
Routine Activity Extraction from Local Alignments
in Mobile Phone Context Data
Soutenance le 05/02/2014
Devant le jury compos´e de :
Pr´esident Christophe Garcia Professeur des Universit´es LIRIS, INSA Lyon
Rapporteurs Bruno Cr´emilleux Professeur des Universit´es GREYC, Universit´e de Caen
Philippe Leray Professeur des Universit´es LINA, Universit´e de Nantes
Directeur de Th`ese Michel Mainguenaud Professeur des Universit´es LITIS, INSA de Rouen
Co-Encadrants Alexandre Pauchet Maˆıtre de Conf´erences LITIS, INSA de Rouen
Gr´egoire Lefebvre Ing´enieur R&D, Docteur Orange Labs MeylanAbstract
Humans are creatures of habit, often developing a routine for their day-to-day life.
We propose a way to identify routine as regularities extracted from the context data
of mobile phones. Mobile phones have become the de facto wearable sensor device,
used and carried on person over most of the day. We study existing approaches to
this problem, and deem past results not satisfactory, with regard to the ever richer
context data available, that is not being exploited. Subsequently, we choose Lecroq
et al.’s existing state of the art algorithm as basis for a set of modifications that render
it suitable for the task, foremostly addressing performance issues. This algorithm is
itself an evolution of a dynamic programming based local alignment algorithm, which
is frequently used in biological sequence analysis. Our approach searches alignments in
sequences of n-tuples of context data, which correspond to the user traces of routine
activity. Our key enhancements to this algorithm are exploiting the sequential nature of
the data to reduce algorithmic complexity by a factor equal to the number of data sources
available, and using an early maximisation approach to reject non-optimal alignments
in favour of optimal alignments.
We develop a generator of context-like data to allow us to evaluate our approach
automatically, without relying on manual annotation of ground truth. Additionally, we
collect and manually annotate a mobile phone context dataset to facilitate the evaluation
of our algorithm. The results are promising, allowing us to prove the concept of our
approach, while also outlining the limitations. Our contribution can be used as a filter
for a domain expert (e.g. the user of the mobile phone himself) to determine whether
a certain interval of data corresponds to an actual activity based habit, reducing the
workload compared to a pure manual approach. The configurability of the algorithm
allows the expert to have control over which patterns are filtered or retained.Contents
Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 State of the Art . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Context Datasets . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Reality Mining Dataset . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Lausanne Data Collection Campaign . . . . . . . . . . . . . . . . . 7
2.1.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Machine Learning and Statistical Analysis . . . . . . . . . . . . . . 9
2.2.1 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3 Probabilistic State Machines . . . . . . . . . . . . . . . . . . . . . 12
2.2.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Sequence Mining . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.1 Itemset Mining and Sequential Pattern Mining . . . . . . . . . . . 14
2.3.2 String Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.3 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.4 Conclusion and Direction . . . . . . . . . . . . . . . . . . . . . 46
3 Alignment of Sequences of n-Tuples . . . . . . . . . . . . . . . . . . . 47
3.1 Context Model . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1.1 Sequence of n-tuples . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1.2 Blocking and Sampling . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.3 Meta-data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2 Alignment Algorithm. . . . . . . . . . . . . . . . . . . . . . . 55
iv3.2.1 Contribution I: Reduction to n-tuple Problem . . . . . . . . . . . . 57
3.2.2 Contribution II: Locally Optimal Alignments . . . . . . . . . . . . 63
3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4 Experimental Validation and Results . . . . . . . . . . . . . . . . . . 69
4.1 Synthetic Data Evaluation. . . . . . . . . . . . . . . . . . . . . 69
4.1.1 Synthetic Data Generator and Dataset . . . . . . . . . . . . . . . . 69
4.1.2 Synthetic Data Pattern Extraction Evaluation . . . . . . . . . . . 89
4.1.3 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.2 Real World Data Evaluation . . . . . . . . . . . . . . . . . . . . 96
4.2.1 Data Collection Campaign . . . . . . . . . . . . . . . . . . . . . . . 96
4.2.2 Evaluation of Alignment Approach on Real Data . . . . . . . . . . 102
4.2.3 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5 Conclusions and Future Work . . . . . . . . . . . . . . . . . . . . . 109
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
A Benchmarks of Supervised Classification Algorithms for Next Place Prediction . . 130
A.1 The Next Place Prediction Problem . . . . . . . . . . . . . . . . . 130
A.2 Dataset Analysis . . . . . . . . . . . . . . . . . . . . . . . . 130
A.3 Next Visit Prediction. . . . . . . . . . . . . . . . . . . . . . . 132
A.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
B Details on the evaluation processes . . . . . . . . . . . . . . . . . . . 138
B.1 Real world data . . . . . . . . . . . . . . . . . . . . . . . . . 138
B.1.1 Similarity score tables . . . . . . . . . . . . . . . . . . . . . . . . . 138
B.1.2 Detailed results of the alignment algorithm evaluation on synthetic
data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
B.1.3 Expert annotated patterns . . . . . . . . . . . . . . . . . . . . . . 145
vList of Figures
2.3.1 A WAP-tree and conditional WAP-trees for two subsequences c and ac
(Source: Pei et al. [2000]) . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.2 Examples of different types of repeat-related features in a string. . . . . . 26
2.3.3 Construction of a suffix tree from abcbcabc%. The numbers indicate both
the order and the index of the current suffix being added. New leaves and
nodes at each step are shaded. . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.4 Identification of longest repeats using Baker’s algorithm in the complete
suffix tree from Fig. 2.3.3. Steps 7, 8 and 9 of the tree construction are
performed, adding the three shaded leaves. The order in which the leaves
are added is given by the nodes and indicated by the superscripts of the
vertex labels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.5 Original Needleman-Wunsch algorithm, as introduced by Needleman and
Wunsch [1970]. The left table is filled with incrementation markers (“1”)
at each location where a pair of values match. In the right table, the values
for all the cells have been determined, and the alignment highlighted by
arrows and bold values. The alignment (arrows) starts at the maximum
value and then follows the maximum values, upwards and to the left in
the table. The “skips” between values 5 and 4, and 3 and 2 are indicative
of deletions in the row-string. . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.6 Calculation of the local similarity using the dynamic programming approach.
The preceding values in the table are either incremented by the
substitution score, in the case of the diagonal predecessor, or decremented
by the indel penalty. The maximum value is carried over for all successive
operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
vi2.3.7 Dynamic programming version of the Needleman-Wunsch algorithm. Nonmatching
substitutions have no penalty, matching substitutions score a
value of 1 and insertions and deletions are penalised with a value of -
1. The left table shows how a particular cell value is calculated from
three predecessor values, the right table shows the complete table and
highlights the series of maximal values which indicate the alignment operations.
Note that the traceback follows substitutions over indels in cases
of ambiguity (e.g. the 4→3 transition marked in the right table), as the
value that was used to calculate the current value defines the path for the
traceback, and not necessarily the maximum value. . . . . . . . . . . . . . 36
2.3.8 Two accumulated similarity tables obtained using the Smith-Waterman
algorithm. The left has been calculated using a similarity score of 1 for
matches, and dissimilarity penalties of -2 for non-matching substitutions
and indels. The right table has this penalty reduced to -1. In each case,
the alignments with a similarity score of at least 3 have been highlighted.
Note how the higher penalty leads to smaller, more local alignments. . . . 38
2.3.9 Row and column prefixes, and accompanying notation. . . . . . . . . . . 40
2.3.10Three different ways of modelling context for different sequence mining
approaches. “Data synchronisation” refers to the need to have a full set
of sensor readings available at every time step, irrespective of different
sampling frequencies of the actual sensors. . . . . . . . . . . . . . . . . . . 42
3.1.1 The transformation of continuous context C(t) into context data in a
sequential model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.1.2 Linking w- and z-axes into a single dimension, due to translational symmetry
(i.e.: every set of discrete steps taken along the z-axis is replicated
identically in the w-axis). . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.3 Splitting a long sequence of context data into blocks of roughly equal (but
not necessarily equal) lengths. . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1.4 The reduction of the size of individual accumulated similarity score tables
which can be obtained by blocking. a and b are two sequences, with the
local similarity scores contained in the volume spanned between them. . . 51
3.1.5 A sample substitution similarity score table from the set of n tables. . . . 52
3.1.6 Two intervals of identical values but different lengths can be aligned by
assigning positive similarity score to insertions and deletions of identical
values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
vii3.2.1 Two example context sequences, the resulting context data sequences and
an alignment (cells underlaid in grey) that corresponds to two similar
subsequences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.2 Alignment of two context sequences a and b from a corpus. . . . . . . . . 56
3.2.3 Selection of tuple elements in a sequence using reverse addressing. The
origin of the coordinate system used here is in the lower right end of the
sequence. From there the first coordinate is incremented when moving
one element to left, and the second when moving one element upwards. . 58
3.2.4 Example of the •i,,j operator. If the operator is used on the same sequence
of n-tuples, with one pair of indices being higher than the other, the
smaller result is a subset of the larger one. In this case the result underlaid
in black is a subset of the result underlaid in grey. . . . . . . . . . . . . . 59
3.2.5 Selection of a column and row using the ↑ and ← operators. . . . . . . . . 60
3.2.6 Calculation of a column similarity score. Two columns are extracted from
two sequences, then aligned in inverse order, up to the point where the
similarity score reaches zero. The maximum similarity from this interval
is the similarity value we assign these two columns. . . . . . . . . . . . . . 61
3.2.7 The local dependencies of the calculation of a local similarity value. To
the left in the three-dimensional table of accumulated similarity scores T
and to the right the equivalent representation in the domain of the two
sequences a and b. Operations V and VI – insertion and deletion – are
one-dimensional operations and therefore appear only either in a or on b. 63
3.2.8 The rightmost (n-th) z-slice of a table T. The axes of the plane correspond
to the temporal axes of the sequences. The height and colour are
representations of the accumulated similarity value in the cell in T. The
white profile line denotes the plane of an arbitrarily chosen MASS. The
highest value is denoted by an X. . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.9 The local neighbourhood of a node (in the centre of the shown cube) in
the accumulated score table T. The shown cube consists of 27 sub cubes,
the one at the centre being the “home node”. The other 26 surrounding
it, are the direct neighbours. A partial spatial subdivision is shown in the
lower left corner to illustrate the notion of “radius”. . . . . . . . . . . . . 66
viii3.2.10Accumulated similarity score table for the alignment operations of the
context data corresponding to two consecutive days. Each graph represents
one of the five slices (n = 5) of the z-axis, starting at one at the top,
incrementing to five at the bottom right. Height and colour correspond to
local similarity values. The x - y plane is spanned by the temporal axes
of the sequences. Note multiple peaks at different heights. . . . . . . . . . 67
4.1.1 Stream, pattern and cell for a simulated 4-tuple dataset. The stream
consists of patterns (coloured) and random data (light grey). Each pattern
consists of defined values (blue) and undefined values (white). . . . . . . . 71
4.1.2 Four alphabets A1, A2, A3, A4 with respective spectra 5, 6, 4 and 2. N.B.:
Different symbols across different sensors (e.g. “A”, “1”, “a”, “0”) are
used here for illustration purposes only, symbols are actually represented
by their indices (i.e. as in A2). . . . . . . . . . . . . . . . . . . . . . . . . 72
4.1.3 A set of patterns, P = {X1, . . . , Xm}, with n data sources and lengths
l1, . . . , lm, and a pattern element x = Xm,n,1 ∈ An. . . . . . . . . . . . . . 74
4.1.4 Illustration of dependence coefficient determination during creation of
similar patterns. The right vectors are created from the values of the
left vectors, through linear interpolation and scaling. . . . . . . . . . . . . 79
4.1.5 Noise is applied to symbol x from alphabet A1 using transition cost matrix
T1 and transition cost vectors ~b1,
~d1, ~e1. The resulting value is y = 4.
This example uses integer values for easier reading and comprehension, in
general the random values are real values. The process starts with value
x2,1,1 = 2 from pattern X2, extracts the corresponding row from T1 and
selects the smallest absolute value in the sum of the extracted row and a
random vector, to determine the index of the element to replace x. . . . . 84
4.1.6 Extract of a possible resulting stream with n = 4 and m = 3 different
patterns (blue, yellow and green) and noise (red). I and D indicate cells
in which insertions or deletions have happened. y is the symbol that has
been generated in Fig. 4.1.5. . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.1.7 Evaluation scoring example. . . . . . . . . . . . . . . . . . . . . . . . . . . 90
ix4.1.8 The ratios of the number of alignments to the combinatorially expected
number of identical pairs of patterns in two different files, for all five
datasets and all 27 experiments. As the number of patterns rises, the
expected number of pairs gets lower, and the rate of alignments gets
closer to the number of pairs.
*Note: The values for dataset 3 are on another scale than the others. . . . 93
4.2.1 Clustering of locations into places of the data gathered by one subject
over a one week timespan. Artificial jitter has been introduced to the
data, to better visualise data density. Note how nine incidences in the
top left are clustered together with the other points towards the top left.
The low number of incidences renders this error negligible. . . . . . . . . . 100
4.2.2 Visualisation of an extract of the captured data, with similar intervals
marked. This extract covers the morning period of two consecutive days.
The y-axis represents the different discretised context values. The values
shown in this extract are light intensity on a logarithmic scale (loglux),
the state of the proximity sensor (prox), the location cluster id (place),
the battery level (batt) and the orientation of the phone (ori). . . . . . . . 101
4.2.3 Alignment of three pre-selected patterns with campaign data in 58 slices
corresponding to 24-hour periods of 5-tuples. . . . . . . . . . . . . . . . . 103
4.2.4 Mean precision and recall for the instances in the corpus (“B” - part
of the alignment) for the 24 test configurations. From left to right are
the different values of MASS used. With rising MASS, both precision and
recall increase. The rightmost bars are fewer, as no alignments were made
with MASS values 1,700 and above for pattern 3, and no alignments were
made with MASS values 3,000 for pattern 1. Due to the smaller number
of elements contained in pattern 3, it has higher values than patterns 1
and 2 for the same MASS. . . . . . . . . . . . . . . . . . . . . . . . . . . 107
A.3.1Results for the Naive Bayes Classification Algorithm . . . . . . . . . . . . 134
A.3.2Results for the LogitBoost Adaptive Decision Tree Classification Algorithm135
A.3.3Results for the SMO Classification Algorithm without Feature Selection
Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
A.3.4Results for the SMO Classification Algorithm with Feature Selection Filters136
B.1.1Reference pattern 1 - evening and night at the week-end home. . . . . . . 146
B.1.2Reference pattern 2 - morning and transit to work on a week-day. . . . . . 147
B.1.3Reference pattern 3 - at work, telephone stored or turned over. . . . . . . 148
xList of Tables
2.1 Comparison of SPM and string mining . . . . . . . . . . . . . . . . . . . . 45
4.1 Configuration of the five datasets. . . . . . . . . . . . . . . . . . . . . . . 87
4.2 Configuration values for the 27 experiments making up a dataset. . . . . . 88
4.3 Transition matrix T used for the generation of the test datasets. . . . . . 88
4.4 Key results: averages and standard deviations across all configurations. . 91
4.5 Average Pattern Size for Dataset One . . . . . . . . . . . . . . . . . . . . 92
4.6 Key results: averages and standard deviations across all configurations
for the state of the art algorithm . . . . . . . . . . . . . . . . . . . . . . . 95
4.7 Evaluation results. A is the search pattern, B is the instance in the corpus.105
A.1 Classifier and Filter Configurations Tested . . . . . . . . . . . . . . . . . . . . 133
B.1 Similarity score table for luminance . . . . . . . . . . . . . . . . . . . . . . 139
B.2 Similarity score table for proximity . . . . . . . . . . . . . . . . . . . . . . 139
B.3 Similarity score table for places . . . . . . . . . . . . . . . . . . . . . . . . 139
B.4 Similarity score table for battery levels . . . . . . . . . . . . . . . . . . . . 140
B.5 Similarity score table for orientation values . . . . . . . . . . . . . . . . . 140
xiNomenclature
API Application Programming Interface. A set of exposed functions available to
programmers to make use of an established software platform.
BIDE BI-Directional Extension based frequent closed sequence mining. A closed
sequential pattern mining algorithm by Wang and Han (2004)
BLAST Basic Local Alignment Search Tool. An approximative but fast local alignment
algorithm by Altschul et al. (1990).
BLOSUM BLOcks SUbstitution Matrix - A substitution scoring matrix for the alignment
of proteins. The matrix entries are determined by statistical analysis
of a database of evolutionary observations.
BT Backtrack - Second step of a dynamic programming algorithm; in our case
a trace along elements in a score table, marking the operations required to
convert one sequence into another.
DNA Desoxyribonucleic acid. A molecule that encodes genetic information in a
sequence.
FASTA fast - All. A sequence mining software suite developed by Lipman and Pearson
(1985).
FP-growth Frequent Pattern; Introduced with the FP-growth algorithm by Han et al.
(2000).
GPS Global Positioning System – Satellite based time-of-flight positioning system
xiiGSM Global System for Mobile communication – European standard for second
generation digital cellular networks for mobile phones.
GSP Generalized Sequential Patterns. An Apriori-type sequential pattern mining
algorithm developed by Agrawal and Srikant (1996)
indel Insertions and deletions in sequences. A single term is sufficient to describe
both these inverse operations, due to the symmetry of the alignment operation
with respect to the order of the input sequences.
LAN Local Area Network - a computer network with scope limited to a small
geographic entity and using local addressing.
LZ A set of compression algorithms proposed by Ziv and Lempel in 1977 and
1978.
MASS Minimum Accumulated Similarity Score. This value is the criterium whether
two sequences are to be considered similar or not.
MDC Nokia Mobile Data Challenge. A data mining and visualisation competition
held over the first half of 2012, on a mobile phone dataset gathered by Nokia.
The dataset is explained in Subsection 2.1.2, and one of the competition tasks
is presented in Annex A.
RMD Reality Mining Dataset. See subsection 2.1.1.
RNA Ribonucleic acid. A functional molecule that encodes genetic information in
a sequence.
sensor In this work: a source of discrete context data. This can be anything from
a Boolean indicator to a fusion of multiple semantically linked context data
readings, such as orientation, linking the data of an accelerometer and magnetometer.
SPADE Sequential PAttern Discovery using Equivalence classes. A sequential pattern
mining algorithm proposed by Zaki (1998)
SPAM Sequential PAttern Mining. An algorithm proposed by Ayres et al. (2002)
for finding all frequent sequences within a transactional database.
SPM Sequential Pattern Mining
xiiiWAP Web Access Pattern. A user’s trace when navigating across websites.
WLAN Wireless Local Area Network. A term encompassing networking as defined
in IEEE standards group 802.11.
xivIntroduction
Multiple studies have shown that humans are creatures of habit – from Heidegger’s
musings in “Sein und Zeit” to the more concrete works of Gonzalez et al. [2008] and
Eagle and Pentland [2009]. Although routine is not universal, for those that adhere to
it, it provides a stable framework of activities. If a computer system can be made to be
aware of this routine, then it can be proactive and anticipatory in nature, preparing for
commonly encountered situations, or even alerting the user when routine is unexpectedly
broken at some point. Routine can also be used to enhance a computing system which
adapts itself to current events. When historical data can be linked to the present state,
activities and contexts can be recognised with increased certainty. All this is beneficial,
when developing ubiquitous computing systems – specifically with regard to ambient,
passive interfaces.
We assume that habits (i.e. activity patterns indicating routine) can be derived from
user context data. “Context” classically refers to the entirety of the environment of
a human-computer interaction – slightly varying definitions have been proposed by
Schmidt et al. [1999], Chalmers [2004] and Dourish [2004]. Examples of context data
are factors such as physical environment (e.g. place, light, noise), social environment,
system status and simultaneous tasks. For the purpose of determining routine, we are
primarily interested in specific aspects of context, that are characteristic to an activity.
This does not necessarily imply that the context data allows one to infer the actual
activity, but it is sufficient to identify recurrences. One theme of this thesis is in fact
that of the title of Schmidt et al. [1999] “There is more to context than location”: there
exists a large body of work on spatio-temporal routine detection, but our aim is to go
further, and include other context data to obtain a model of routine that is richer in
information and higher in resolution.
1Currently, the most widespread device in use with the capability to observe a reasonable
amount of context, is the mobile phone. These phones are equipped with a number
of sensors and an almost constant network connectivity which allows queries to nearby
fixed sensors. For many people, their mobile phone is a constant companion allowing the
capture of context data for a large number of activities. Furthermore, as multi-purpose
mobile computing terminals, these same phones also form the interface to the computing
system that benefits the most from having access to routine information. With regard
to the definitions of context previously given, there is one further remark to make: context
is defined as being linked to an interaction. At first glance, capturing data over
the course of a day, to observe routine, is a passive process and does not fall under the
traditional view of an interaction. But – within the concept of ambient interfaces – even
just carrying a mobile phone (or in fact, even not carrying it) becomes an interaction,
because we instrument the phone. Therefore, this implicit interaction happens within a
context, which is duly recorded.
Routine conveys important information all by itself, but can also be used to enhance
current context information. A key use of context data is directly on mobile devices,
which are situated within a certain context, used within a certain context and thus
ideally exploit this data to better fulfil their purpose, as well as adapt and respond
to changes in context. One pertinent example for such a mobile application that uses
routine and current context data, is the Magitti leisure guide [Bellotti et al., 2008].
Similar applications in the domain of prediction and recommendation are presented by
Anand and Mobasher [2007]. Wesson et al. [2010] discuss the benefits of adapting the
mobile user interface of a computing system to the current context. Baldauf et al. [2007]’s
survey of context aware systems essentially covers many more examples, where having
additional context information based on a routine model can improve the user experience.
The spectrum of approaches covers safety, security, entertainment and education. Mobile
guidance and navigation systems can also be made to be context sensitive and routine
dependent [Brush et al., 2010, Li and Willis, 2006].
Our technical goal is to detect patterns in the context data of a mobile phone user, with
the expectation that patterns in the data correspond to routine activities. Raw context
data can be understood to be a number of time series of physical values. Based on
this representation, there exist multiple ways to analyse the data: Statistical approaches
based on state transition probabilities (e.g. Ashbrook and Starner [2002]), database
oriented approaches based on sequential apparition frequency (e.g. Giannotti et al.
[2007]) and sequence based approaches based on edit distances and similarity measures
(e.g. Sigg et al. [2010]). As the title of the work suggests, we ultimately pursue an
2approach that performs approximate string matching by aligning pairs of sequences.
This algorithm determines local similarity scores for sequences of context data – we
suppose that highly similar sequences of context data correspond to similar contexts
and thus to actions of the same type. But we must also consider potential shortcomings
of the data on which we base our study: sensor noise may render an activity difficult
to recognise, and an activity is not repeated identically every time, leading to potential
variations in duration and values in the corresponding context data, which must also be
accounted for.
Our alignment algorithm – an adapted version of the algorithm introduced by Lecroq
et al. [2012] – is based on a representation of context data as a sequence of n-tuples. In
this structure we calculate local alignments. To determine if these alignments correspond
to context patterns, we devise an evaluation procedure. This procedure is in one case
applied to synthetic data, generated according to predefined parameters, and in another
to real world data which we gathered during a data collection campaign. The results
from a large spectrum of test conditions allows us to characterise the suitability of our
algorithm for the routine activity detection problem. The final results indicate that the
algorithm reliably performs as a filter for context data, to limit the function of a domain
expert to approving or rejecting the extracted data as being correspondent to a routine
activity. Conversely, there are limitations to using it as a general, fully automated
routine extraction approach.
This work is structured as follows:
❼ In the second chapter, we examine the state of the art for both available context
datasets and pattern detection approaches. We study the datasets for their suitability
for routine context extraction and their data collection methods. The pattern
detection approaches are divided into statistical and sequence mining approaches.
We briefly discuss statistical approaches, and explore the various sequence mining
approaches in more detail. We split the latter field into sequential pattern mining
approaches, which take a database oriented view on sequences, and on string
mining, which is focused on comparing long, individual sequences. We conclude
this chapter with a direct comparison of the most promising approaches and an
argumentation for our choice of approach, as well as identifying the limitations
upon which our solution has to improve.
❼ The third chapter introduces our context model and algorithmic contributions.
The context model defines a similarity measure for a pair of context sequences,
which the alignment algorithm then uses to find maximally similar subsequences
3from a pair of sequences. Our algorithmic contribution is divided into two parts.
The first part reduces algorithmic complexity by simplifying the state of the art approach,
the second part details our local maximisation approach to further increase
performance.
❼ The fourth chapter is dedicated to the experimental evaluation of our approach, on
synthetic and real world data. It describes a data generator we developed with the
goal of creating well-understood data with context-data-like characteristics and a
high degree of configurability to allow the reproduction of a variety of scenarios.
We also document our results obtained on five different such scenarios. A set
of variable parameters for each scenario allows us to gain a further insight on the
theoretical performance of our algorithm and its behaviour under varied conditions.
We also present our data collection campaign in some detail. We used part of that
data for a second evaluation, which is also described in this chapter.
❼ The final section gives a summary of our contributions and results, presents our
conclusions and discusses limitations to our approach as well as potential future
work to address these limitations and propose extensions.
4State of the Art
As we laid out in the introduction, our approach to identifying routine activities is to
find patterns in time series of context data. In this section we present and discuss
different possible approaches, which should theoretically reveal such temporal patterns.
We briefly revisit the notion of “context” and examine how context data is represented
in actual context datasets. By class of approach, we present existing routine activity
detection solutions.
We examine the varying approaches for a number of criteria, relevant to our task.
These criteria are:
1. The ability to process data that has the volumetric characteristics of context data,
regarding both algorithmic complexity and real world constraints;
2. The degree of pre-treatment of context data required;
3. The flexibility of the underlying model, to accept situation-specific tuning;
4. The resilience of the approach against the inherent noise and unreliability in sensors
and slight variations in how activities are repeated;
5. The impact of temporal effects, such as desynchronisation of data and dilation or
contraction of the time-scale of an activity;
6. The effort required to parametrize the underlying model and
7. The suitability to a (partial) deployment on mobile platforms.
We will refer to these criteria by their number in the following sections, whenever a
relevant bit of information is touched upon.
5Our examination of the state of the art is split into three sections. First, we take a
look at existing context datasets, to situate our goal with regard to available data. Then,
we survey the state of the art for relevant methods that allow us to match, compare or
extract patterns in time series data, by studying two fields of specific interest: Statistical
approaches to pattern mining and sequence mining based approaches. Finally, we crosscompare
the most suitable approaches and datasets, to determine the course for this
work.
2.1 Context Datasets
When examining user behaviour over the long term, a large dataset of context data is
crucial to verify our hypothesis. In this section, we look at a number of different context
datasets to learn more about available context data, and the utility of this data for our
task.
A small dataset, that can be understood to be a pioneering precursor, is that of Raento
[2004]. Another early dataset by M¨antyj¨arvi et al. [2004] was limited to a strict set of
scenarios, and did not actually consist of a recording of real world data. Kotz and Essien
[2005] present a simple location-focused dataset, obtained by studying the movement of
wireless network users of Dartmouth college.
Two specific context data sets have caught our attention, the reality mining dataset
(RMD [Eagle and Pentland, 2005]), and the Nokia mobile data challenge (MDC [Kiukkonen
et al., 2010]) dataset. They represent, respectively, the first large scale mobile
phone dataset ever published as well as the largest and most complete dataset currently
available.
2.1.1 Reality Mining Dataset
The RMD is the first large scale mobile phone context data set that has been collected.
Due to its public availability, it stands as a reference dataset when it comes to the
detection of routine user behaviour. It was designed with this goal in mind and used in
the work of Eagle and Pentland [2009] to determine behavioural routines.
The dataset is the result of a broad (100 participants) mobile phone data acquisition
campaign the data from which was made available to the scientific community. The
RMD was established using the Context Phone application developed by Raento et al.
[2005]. It contains primarily finely grained location information, but also application
and communication use logs and relative proximity indicators among study subjects.
6The specific protocol was established as follows: One hundred MIT students and
members of faculty staff were given Nokia smart phones, pre-installed with several applications
that track context. This context data comprises call meta data, the set of
Bluetooth devices in range, the ID of the connected cellular radio tower, application
usage and some phone status variables, such as whether the phone is idling or charging.
This data was collected over an academic year, aggregating 450,000 hours of data,
with Bluetooth data being logged in five minute intervals. The researchers report some
data loss (around 15%) due to some subjects deactivating their phones during the night,
and also due to some data corruption events. Finally, there are incidents of forgotten
phones, where the phone records data, which has no association with the actual activities
of the test subject.
In addition to the context data, there is data from surveys of subsets of the test
group to establish some meta-data (relationships between study participants and social
activities) to the main data gathered by the phones. Some subjects also kept more
detailed activity diaries over part of the data gathering period.
2.1.2 Lausanne Data Collection Campaign
This dataset [Kiukkonen et al., 2010] includes data from 200 users from the Lake Geneva
region in Switzerland and consists of the data from around 80 different smart phone
context data sources, recorded over a period of over one year. This data was made
available to researchers within the framework of the Mobile Data Challenge [Laurila
et al., 2012], but is not readily available to the public.
The gathered data can be divided into four groups: Location data, media-related
data, social interaction data and behavioural data. The central physical data present in
the set are 3D accelerometer readings, location and sound measurements. Additionally
logs of applications, communications and the operating system are kept, alongside the
agenda and contact list.
A key distinction of this dataset is the heterogeneous study group. Where the RMD
only studied students and faculty staff members from the Media Lab, as well as students
of one other lab, this campaign stretches much wider. By consequence, the social graph
among the participants is much less dense.
Another difference lies in the precision of the location data. Cell tower data is notoriously
imprecise, discriminating at around the city block level, whereas more powerful
modern phones are equipped with GPS which can reduce this to roughly the street address
level, even without further augmentation with wireless networks. Using WLAN
access points – as done for this study – increases this precision further, especially in
7urban zones. In comparison, the Bluetooth augmentation chosen for the RMD only
works in select installations outfitted with a beacon.
This much higher fidelity of the data leads to a much larger challenge, when distributing
this data, as pure anonymisation no longer suffices to protect the identity of the
subjects.
Furthermore, the higher potential fidelity also implies a potential higher use of the
battery. Non-intrusiveness in the routine usage of the phone is a key requirement, as
otherwise the impact of adapting to the measuring device would create behaviours and
data not corresponding to the reality of the test subject’s day to day life. In an attempt
to mitigate these effects, each data source has its own update frequency, in an adaptive
event-based system. This allows the sampling to run throughout the day.
To minimise data losses, collected data is transmitted to a database server via wireless
networks twice a day.
With regard to ground truth, an initial questionnaire establishes some demographic
and social information, but no further information is acquired.
2.1.3 Discussion
A key limitation to the present datasets, is that none of the bases contains any ground
truth regarding context routine. Most do not include any manual annotation with semantic
data at all. In fact, the large scale nature is somewhat at odds with such demands,
as the effort to manually annotate a large dataset by someone other than the subject
is immense. Conversely, asking a subject to annotate his or her own data introduces a
higher level of effort required to take part in such a campaign and decreases the number
of participants.
Another problem is that most datasets are limited to location data, and lack many of
the physical sensors present in more modern phones, that we presume to capture physical
context more accurately. Although the Nokia MDC-dataset does provide accelerometric
data and some sound samples, modern smart phones are also equipped with gyroscopes,
compasses, light meters and proximity sensors. Conversely, the approach taken by Nokia
for the Lausanne data collection campaign includes a vast number of sensors, some of
which are not necessarily of interest for the routine activity detection task, increasing
the complexity of the required pre-treatment (2). The asynchronous nature of data
collection preserves relative temporal structures in high detail (5).
Finally, the acquisition platforms used for these two previous datasets have been obsoleted
by the development of the mobile phone market. Therefore, if a new dataset would
be a requirement, this would entail a new development of the data collection software
8suite.
The creation of a new mobile context dataset that contains at least sufficient physical
sensor values therefore appears possible and necessary. Many of the paradigms put
forward for the different collection campaigns remain valid, such as the principle of nonintrusiveness
and the need to assure data integrity. Alternatively, it is common to use
synthetic data to verify the behaviour of an algorithm. For this type of data, ground
truth of the generation step can be used to address the lack of ground truth in real
context datasets.
Once a solution to gather the required physical context data is achieved, the next
challenge is to find routine data within it.
2.2 Machine Learning and Statistical Analysis
Classic statistical machine learning approaches are a mainstay of much of the work of
context data analysis. We focus on three key categories: classification as a means of
context and activity recognition and prediction, clustering to determine similarities in
data and probabilistic state machines – specifically (hidden) Markov models – as a means
of modelling routine.
2.2.1 Classification
Classification algorithms are a class of algorithms that use a set of examples to learn rules
that are then applied to determine which label is to be associated to a measurement.
Typically, this is represented by the determination of a characteristic vector over the
feature space of the observed events.
We discuss two different usages of these types of algorithm, within the scope of the
routine activity detection problem: in activity recognition, a current set of measurements
of context data are used to determine the current activity; in activity or place prediction,
the current state of system is used as a characteristic vector for predicting a future state.
2.2.1.1 Activity Recognition
Supervised classification is the principal component in most activity recognition systems.
They function by assigning a characteristic vector to each element of a set of activities,
and then estimating from actual measurements the current activity.
In the field of mobile device based activity recognition, supervised classification has
been used (for example) in the works of Choudhury et al. [2008], Lester et al. [2006],
9Berchtold et al. [2010] and Sigg et al. [2010]. Activity recognition by itself does not
solve the routine activity detection problem, but a well functioning activity detector can
reduce the complexity of the problem by orders of magnitude by transforming it from a
multi-dimensional problem into a uni-dimensional one (1,2). We can nonetheless state a
limitation to this approach, in that a supervised activity detection requires knowledge of
each of the activities that are to be discerned (6). This renders this approach of limited
use, when trying to solve a general version of the routine activity detection problem.
Furthermore, feature vectors are understood as a unit, therefore algorithms based on
them cannot work around desynchronized data (4,5).
2.2.1.2 Activity and Place Prediction
Another potential application of supervised classification is in the field of predicting future
activities. The approach is similar to activity detection, with the difference that
characteristic vectors are assigned to subsequent activities or places. This type of approach
was frequently chosen by entries for the MDC “next location prediction” task
[Etter et al., 2012, Wang and Prabhala, 2012, Gao et al., 2012], as for that task the
known data was restricted to the context data obtained during the “visit” to the directly
preceding place. The most successful approaches relies on heuristics which reject
certain subsets of the data by declaring it out-of-date information with regard to the
prediction task. The benchmarks of three state of the art algorithms – naive Bayes
[John and Langley, 1995], alternating decision trees [Holmes et al., 2002] and a sequential
minimal optimization based approach [Platt, 1999] – on the MDC prediction task
are available in Annex A.
The Magitti [Bellotti et al., 2008] recommendation system predicts next activities using
a supervised classification approach [Partridge and Price, 2009]. The system is based on
the assignment of a leisure activity (e.g. “eat” or “watch”) to corresponding locations in
town instead of having a location specific activity model. This meta-activity approach
avoids the problem of being limited to recognising specific activities, but consequently
the result is too general for many applications outside the activity adviser use case they
target (3).
2.2.2 Clustering
Where classification assigns one of a pre-defined set of labels to a sample of data, clustering
attempts to group a set of data points via a pre-defined distance metric. There are
three aspects to clustering that are of relevance to the routine activity detection prob-
10lem: Using clustering to segment sensor data, using clustering to segment sequences and
clustering entire sequences. The first is an important step towards obtaining a discrete
context model, the second helps identifying atomic activities, and the third is a routine
activity extraction approach.
2.2.2.1 Context Data Clustering
Context data clustering is a useful first pre-treatment step to reduce the complexity
of the routine activity detection problem (1), by transforming the problem from one
on continuous data (and essentially a signal processing problem) into a problem over
discrete data (2,4). This has been used by Ashbrook and Starner [2002] to derive semantically
relevant places from a user’s spatio-temporal positioning data, which then
allows the construction of a state-based predictor on the transformed data. Their choice
of clustering algorithm was the k-means clustering algorithm. In their article they also
meet one of the limitations inherent to clustering algorithms: the results often have to
be manually verified, or selected from a number of different configurations (3,6).
2.2.2.2 Sequence Segmentation
Sequence clustering can be performed to segment long sequences of context data into
locally self-similar subsequences [Clarkson and Pentland, 1999, Himberg et al., 2001].
This can be used as a semi-automatic pre-treatment step to address (1,2,6,7) in routine
activity detection approaches, at some potential disadvantage to (4,5). In general, sequence
clustering with a simple Euclidean distance does not produce meaningful results
[Keogh et al., 2003], requiring the choice of a meaningful metric, before implementation.
2.2.2.3 Sequence Clustering
Clustering can also be used to group subsequences by inter-similarity and thus identify
patterns. This has been shown by Laasonen [2005] to be a potential avenue of establishing
a routine based user model and subsequently recognising and predicting a mobile user’s
routes. This works by classifying some of the locations visited by a user as bases, which
are locations where a user rests, and others as transient points. In this case, a place
corresponds to the currently connected network cell. An edit distance and item similarity
measure serves as basis for the clustering model. Katsaros et al. [2003] have shown a
similar sequence clustering solution to predict locations, but without the distinction of
location classes. The distance measure for the hierarchical clustering which they employ,
is a weighted edit distance. This can have good performance with regard to (4,5) at some
11cost to (6). As a statistical approach, there is also a limitation with regard to (1), in
that a certain minimal amount of data is required to obtain clusters with acceptable
confidence values.
2.2.3 Probabilistic State Machines
In the third type of approach, we look at different kinds of probabilistic state machines,
which are relevant for user activity recognition and prediction.
A relevant example of using hidden Markov models [Baum et al., 1970] to find routine
in context is the work of Clarkson [2003], who studied video streams taken from two
worn cameras, with the goal of identifying context recurrences. They use an alignment
based approach, similar to dynamic time warping [Myers and Rabiner, 1981]. Ashbrook
and Starner [2002] use second order Markov models to predict next locations. This
required clustering of geolocation data into discrete locations, which where then studied
for transition probabilities.
In the work of Song et al. [2004], multiple predictors based on probabilistic state
machines (Markov models and LZ compression [Ziv and Lempel, 1978]) are evaluated
on a common dataset from the Dartmouth campus wireless network [Kotz and Essien,
2005]. A state machine approach requires a sequence segmentation to be viable (6).
This means that activities are identified either based on supervised activity recognition
or based on sequence segmentation. A common drawback to all approaches outlined in
this subsection, is that they are not truly suited to treating multiple data sources in
parallel (1,5).
2.2.4 Discussion
Within the frame of the routine activity detection problem, statistical approaches can be
divided into two categories of application: on the one hand there are data pre-treatment
approaches, that reduce the complexity of the actual routine extraction process, and on
the other hand there are statistical models that encode routine activity.
The former can be used at different levels of granularity, and comprise classification,
clustering and segmentation. A high abstraction approach – as often chosen in the
literature we presented – can simplify the routine activity detection problem to the
point where it is merely the extraction of frequent state transitions. While in theory
this is advantageous with regard to (1), (6) and (7), it invariably has drawbacks, when
applying criteria (2), (3) and (5). A low abstraction level has the inverse consequences.
Therefore, the choice of abstraction level has to be carefully weighed, when developing
12a discrete model.
The routine activity detection approaches – using sequence clustering or probabilistic
state machines – are relatively simple propositions (1) which depend heavily on accurate
preprocessing (2). The central weakness of these approaches – when used on rich
context data – is that they use a simple model derived from data that has been heavily
preprocessed and abstracted, which results in abstract routine models. These are easy
to interpret but hard to validate against the actual data.
Furthermore, there is a whole host of limitations to automatic context data abstraction
that essentially make this class of approaches not suitable for context data that has
multiple independent data sources. When working at a finely grained level, with less
abstraction, the models become harder to interpret, and lose their appealing simplicity.
This downside leads us to examine approaches that are more suited to this kind of data
representation: sequence mining algorithms.
2.3 Sequence Mining
Context data is inherently of sequential nature: for each aspect of context, one state
follows another and each activity is followed by another. Sequence mining is a subset of
data mining, which consists of approaches specifically targeted at sequential data.
The field of sequence mining offers a variety of algorithms designed to discover all
kinds of features in sequences of discrete elements. As laid out in the introduction, our
primary interest is pattern detection. There are two schools of thought, with regard to
this problem:
1. Sequential pattern mining (SPM) takes an itemset mining and association rule
learning approach to finding such patterns, by looking at the frequency of occurrence
of subsequences in a corpus.
2. String mining is an approach that has its roots in bioinformatics, and can be seen
as a generalisation of Hamming and Levenshtein distances. We are particularly
interested in alignment problems, where the goal is the identification of similar
sequences.
In the following two sections, we will present different approaches and applications of
sequential pattern mining and string mining. In the third subsection we will compare
the particular advantages and challenges of each class of approach, and evaluate them
against our set of criteria.
132.3.1 Itemset Mining and Sequential Pattern Mining
The aim of sequential pattern mining (SPM) is to find within a database of sequences
of itemsets (i.e. sets of discrete elements) a subset of interesting sequences. Within
the context of the routine activity detection problem, this criterion of interest is that
the sequences appear frequently. Sequences in this case are not limited to consecutive
elements, but are based on the notion “event Y occurs after event X, within an interval
window δ”. There are several ways to formulate the routine activity detection problem
in terms of an SPM problem, each suited to a specific group of algorithms from the field.
First, context could be abstracted to fit the “sequence of itemsets” paradigm. There
is a wealth of classic approaches that find potentially non-consecutive exact sequential
patterns. A first challenge in adapting the problem to this formulation lies in finding
a useful time-discretisation and temporal splitting interval. The former is achieved by
having each sensor value discretised into an item, and by grouping measurements during
a predefined time interval into itemsets. The latter requires study of how gravely nonconsecutive
patterns impact the results. By shortening the sequences, such patterns
become less of an issue, but other, larger patterns may disappear. Additionally, there is
the question of which level of support is desired as basis for the result.
An early review of examination of patterns in sequential data was performed by Laird
[1993]. At this stage, the focus of research was mainly on prediction, extrapolation and
modelling of time series.
In the same year, itemset mining was introduced by Agrawal et al. [1993]. This forms
the basis for all of the following SPM approaches, which is why we take a closer look at
the key approaches of the field. The following classification of the approaches is based
on the taxonomies proposed by Mabroukeh and Ezeife [2010] and Mooney and Roddick
[2013]. We assign the following classes to differentiate between approaches:
❼ Apriori-based (including variants for closed patterns or hierarchical data),
❼ Pattern-growth (including variants for closed patterns),
❼ Vertical data structures,
❼ Early-Pruning and
❼ Hybrid;
and then we also discuss variations of these which take into account hierarchical metadata,
specifically and exclusively mine closed or maximal frequent patterns, or mine multidi-
14mensional or approximate patterns. All algorithms and challenges identified in the field
of itemset mining can be transferred almost exactly to sequential pattern mining.
2.3.1.1 Itemset Mining
Itemset mining has as prerequisite the presence of a database which is partitioned according
to a primary criterion (e.g. a user ID or a calendar day). The goal is to find
subsets of data that occur multiple times among the sets of data points connected to
each instance of the criterion. An example relevant to the field of mobile and context
sensitive computing is a database consisting of entries that have been generated by
logging discretised context data of a user over time. Splitting the database to obtain
individual data per hour, and then searching for co-occurrences of certain context values
in these sets across different hours, shall determine which context states are frequently
encountered together in temporal proximity.
Once the frequency of appearance of such an item combination is above a certain
threshold, the set is considered to be significant. Furthermore, there is an interest in
maximising these sets: a single element that appears across multiple sets is of little
interest, whereas large sets carry more information. Once these sets are identified,
association rules can be created among them.
Association rules can be understood as a way to encode the conditional probability of
the presence of an element in an itemset, given a set of elements already present in that
set. For example, let there be three context states a, b and c(e.g. loud noise, bright light
and medium movement speed) that were recorded during one hour. Furthermore, let
the set (a, b, c) appear frequently (and maximally) in a database. Then, it is possible to
predict that if a and c are present in one set, that b might also be present in this set (e.g.
because all three are present when the user rides his motorcycle on a sunny day) based
on the support of the set (a, b, c) (i.e. how often the elements appear together, relative
to the overall number of sets created by splitting the database along the key criterion).
In terms of context prediction, this means that it is possible to predict context event b
as a function of the presence of context events a and c. Clearly, this is limited in scope
with regard to the routine activity detection problem, but the close link to sequential
pattern mining makes it deserving of a study, to introduce the concepts used further on.
Apriori-Based Algorithms The itemset mining problem has first been approached
by means of the Apriori-class of algorithms [Agrawal and Srikant, 1994, Mannila et al.,
1994]. The key property on which the Apriori-class algorithms are built is the downward
closure: the fact that each frequent itemset consists of sub-itemsets that are all frequent,
15and inversely, extending a non-frequent itemset by any item results in another infrequent
itemset. This can be exploited to first find frequent elements, and then iteratively extend
these candidates to sets, element by element, until the support frequency-threshold is
no longer attained. Han et al. [2007] offer an extensive list of further improvements to
this approach, with regard to distributed and parallel approaches, as well as general
efficiency improvements. The key limitation to this approach lies in the high number of
database scans – one for each growth operation – that are necessary to determine the
support value for each of the valid candidates that have been generated. Compared to
the naive approach, the Apriori property enables the rejection of all subsets which are an
extension of subsets that by themselves do not have sufficient support in the database.
Pattern-Growth Algorithms Another class of approaches avoids the expensive candidate
generation aspect of the Aprior-type algorithms. FP-growth is one such algorithm,
introduced by Han et al. [2000b]. This approach uses a divide-and-conquer technique.
First, the database is transformed into a list of frequent ordered according to of descending
support, and by key-criterion. From this list, a tree is constructed: a node is created
for each frequent element, and they are arranged in the tree by their direct prefix item.
If an element with an existing identical prefix is found, it is merged into the existing
node and the frequency counter of that node is incremented.
From every node in this tree, it is then possible to identify frequent itemsets, by
following a path of nodes toward the root, from each leaf corresponding to an item. Each
such leaf defines a specific sub-itemset. The support of the itemsets are represented by
the support of each leaf. A similar tree-based algorithm has been presented by Agarwal
et al. [2001].
Vertical Data Structure Algorithms A third way to approach the problem of
frequent itemset mining, is to take an orthogonal view at the database [Zaki, 2000]:
Instead of assigning to each key criterion a set of items, assign to each item a set of
elements from the key criterion. In an example, this would mean that instead of having
a set of activities (items) assigned to each day (criterion), to instead assign to each
activity the list of days where they occurred. Using this representation, the Apriori
property can still be used to generate set extension candidates. Support for a candidate
is determined by intersecting the sets that are created by the inversion of the database
table. A key advantage is that determining support is as easy as counting the number
of elements that are assigned to an item.
What is notable about this approach, is that the corresponding sequential pattern
16mining algorithm SPADE [Zaki, 1998] was developed before this idea was ported to
itemset mining.
Concept Hierarchy-Aware Algorithms An important extension to itemset mining
is the acknowledgement that items may be related, and that at times it is useful to mine
sets not only of items, but of classes of items. By using concept hierarchies, these
classes can be established and (hierarchically) interrelated. One approach to mining
such itemsets is a top-down specialisation approach, where first top-level general sets
are mined, and then their specialisations are examined for sufficient frequency/support.
This is possible if the minimal support threshold is constant across all abstraction levels
of the concept hierarchy [Han and Fu, 1995, Srikant and Agrawal, 1995]. Han et al.
[2006] present a variation of this approach to problems where minimal support varies by
level.
Closed and Maximal Frequent Patterns Two further important concepts that
restrict the scope of the problem to obtain more expressive results are the concepts of
closed frequent patterns and maximal frequent patterns.
The former are patterns for which no pattern exists that encompasses it, where both
have the same support. This eliminates from the results the most trivial subsets of
frequent patterns, without reducing the overall information contained in the results
compared to mining all frequent patterns. Any two patterns with different support
remain separate.
Maximal frequent patterns on the other hand restrict this even further: all frequent
itemsets that are subsets of another pattern that is frequent, are discarded. This means
that the frequency information for these sub-patterns is lost. There exist Apriori-type
algorithms optimised for closed itemsets (e.g. A-Close by Pasquier et al. [1999]) as well
as FP-based algorithms (e.g. FPClose by Grahne and Zhu [2003]). Yang [2004] showed
that enumerating maximal patterns is an NP-hard problem.
2.3.1.2 Sequential Pattern Mining
Sequential pattern mining, when compared to itemset mining, adds the additional dimension
of (temporal) order to the problem. Itemset mining examines merely the co-presence
of items with respect to the key criterion, whereas sequential pattern mining respects
the order of appearance of the itemsets in the data.
A naive approach to pattern mining is to count the number of instances of every
imaginable subsequence of a database (database being used synonymous with databank,
17i.e. restricted to the physical storage of data). A subsequence in the context of sequence
mining consists of itemsets, therefore the presence of multiple items in such an itemset
produces ever more possible subsequences to test against the database. Therefore, much
as for itemset mining, the goal remains to reduce the number of subsequences to test
and the complexity of counting support.
Sequential pattern mining has relatively frequently been the subject of extensive surveys.
Zhao and Bhowmick [2003] present some of the earlier developments in the field,
Mabroukeh and Ezeife [2010] have established a taxonomy and cross-comparison of the
key approaches to sequential pattern mining and more recently Mooney and Roddick
[2013] have proposed a slightly differing classification and comparison on the same subject.
Han et al. [2007] present a survey of approaches to the more general frequent pattern
mining problem. All four surveys discuss in more detail what has been introduced here.
The following are the main approaches to sequential pattern mining, for the most part
mirroring the concepts used in itemset mining:
Apriori-Based Algorithms On the base of the Apriori property, Agrawal and Srikant
[1995] developed an Apriori-type SPM-algorithm, which has then been extended into the
“Generalized Sequential Patterns” (GSP) algorithm in Srikant and Agrawal [1996]. This
approach uses a similar minimal starting point, and then iterative growth of candidates,
but with a fixed and predefined order for the sequential aspect.
An approach that integrates ideas from other algorithms is SPAM by Ayres et al.
[2002]. SPAM generates a lexicographic tree and descends along the nodes in depth-first
order. The Apriori property determines that any children of a node that does not have
minimum support can be discarded from the search. Support is determined by counting
incidences in a vertical data structure, which consists of a binary bit map of the sequence,
upon which a binary and operation is executed.
Pattern-Growth Algorithms The divide and conquer approach has also been applied
to sequence mining in the PrefixSpan algorithm [Pei et al., 2001, 2004]. PrefixSpan
first determines the set of frequent patterns of length one, and then extends the patterns
by determining possible prefixes from within this set, in a similar approach to FP-growth.
To do this efficiently, the database is transformed into a more suitable representation.
In the case of PrefixSpan, this is a projected database, as introduced in FreeSpan [Han
et al., 2000a]. The projection mechanism for sequences and subsequences functions as
follows: A sequence S
0
is a projection of its supersequence S with respect to a prefix P
if there exists no other supersequence of S
0
that is also a subsequence of S which shares
18the prefix P. This means that the extension of S
0
to S is done purely by extending the
prefix P.
The database is rearranged according to the prefixes (which are the frequent items in
the first step), where each prefix is assigned all occurrences of its postfixes by projection.
By matching all postfixes with possible extensions of the prefix – to find frequent patterns
– it is possible to determine a new set of prefixes upon which to project the database.
A new scan if the database is not necessary, as the relevant sequences to project are
already assigned to the prefix used in the previous step. This makes PrefixSpan fast,
but the construction of the projected database becomes a major influence on the overall
complexity of the algorithm.
Another Pattern-Growth approach uses tree projection instead of database projection.
One representative from this group is WAP-mine Pei et al. [2000]. Similarly to the
database projection approach, there are very few scans of the database - in this case
two. The first determines the frequent items, the second builds the tree of frequent
subsequences related to these items. The initial tree consists of an empty root, to which
the frequent elements are added as nodes. The first element to be added is the first
frequent item of the first sequence in the database. The second frequent item is added
as a child. This is followed through for all frequent elements in their order of appearance
in the first sequence. The same is done for the other sequences, but whenever an element
is already present in the correct order in the tree, the existing element is used instead.
In parallel, a header link table is established. It links each occurrence of an itemset to
the next occurrences of the same itemset within the tree, beginning with the first.
To mine this tree, the least frequent item in the tree is chosen, and set as a conditional
suffix. Based on this suffix, an intermediate tree is constructed, which consists of those
branches that end (whether on a leaf or a node) on this suffix. These are identified by
following the header links previously established. The new conditional tree therefore
consists of the old tree, minus all the nodes header-linked to the corresponding suffix,
and minus the branches that do not contain the suffix at all. For the next step, the
suffix is grown by the least frequent item of the new tree, and the process repeated,
until only a suffix and the root node are left. Each suffix generated this way is a frequent
sequential pattern. This process is demonstrated in Fig. 2.3.1, with the sequences
abdac, eaebcac, babf aec and af bacfc, using the example from Pei et al. [2000].
Hybrid Algorithms SPADE [Zaki, 2001] can be considered as a hybrid approach,
combining Apriori-based and Pattern-Growth characteristics. It uses an orthogonal view
approach to itemset mining for sequential pattern mining. Similarly to Apriori-based
19Figure 2.3.1.: A WAP-tree and conditional WAP-trees for two subsequences c and ac
(Source: Pei et al. [2000])
approaches, this approach generates a large amount of candidate sequences that are
then reduced by growing the length of the sequences progressively. SPADE transforms
a database into a set of key-value pairs, where a list of pairs of sequences (in which it
appears) and partition IDs of the key distinction criterion (e.g. a day) is assigned to
each itemset (element of a sequence). The algorithm consists of three steps: first, the
frequent sequences of length one are identified, then these sequences are extended to
frequent sequences of length two. These are arranged in a lattice1
structure, which is
traversed in the third step, to count support and enumerate frequent sequences. This
lattice structure can grow very large, as it defines an order across all frequent patterns.
The authors propose to partition the lattice into smaller subsets, that are sufficiently self
contained to be given the term equivalence classes. The strength of SPADE is mining
maximal sequences, as when mining all frequent sequential patterns the performance is
no better than GSP [Mabroukeh and Ezeife, 2010].
Early-Pruning Techniques This class of approaches exploits the sequential nature
of the data, by tracking the positions of items that appear in the sequence. Specifically, if
the (absolute) last position of an item is smaller than the position of the current sequence
under consideration, then that item cannot occur behind this current sequence [Yang
and Kitsuregawa, 2005]. LAPIN [Yang et al., 2007] maintains both a list of the last
positions of frequent items, as well as a set of prefix border positions for each frequent
item to achieve this. The former is a straight forward table, assigning each sequence a
1A lattice is a specific way to represent a (partially) ordered set, with operations defined to determine
infima and suprema for pairs of set elements. See Davey and Priestley [2002] for a complete
introduction.
20list of indices corresponding to items that are frequent over all the database; the latter is
generated from this list, and consists of all occurrences that have last appearances after
the first instance of the item they are related to. By counting the elements in the second
set – and determining whether they have sufficient support – it is possible to find the
frequent patterns without searching the database.
Notable about this approach is that the data structure used is relatively static and
has to be regenerated whenever new entries are added to the database. This makes
determining the update frequency an engineering challenge when used in conjunction
with high frequency data sources.
Closed Sequential Pattern Mining These basic approaches return all frequent patterns,
particularly including all single elements that are frequent. In most applications
this is undesirable, hence closed sequential pattern mining algorithms such as CloSpan
[Yan et al., 2003] and BIDE [Wang and Han, 2004] have been developed. CloSpan exploits
the property that when projecting a database of sequences with respect to two
sequence prefixes, where one prefix is a subsequence of the other, the resulting two projected
databases are equivalent if and only if the number of items of each of the projected
databases is equal. This allows CloSpan to determine whether extending a sequence by
an additional item creates an equivalent sequence or a sequence with different support.
This permits the algorithm to distinguish between redundant candidate sequences and
those that form a separate result. BIDE is an extension to this approach, that uses
projections in two directions to remove non-closed frequent patterns.
This covers the most basic approaches to sequential pattern mining. With regard to
the routine activity mining problem, there are two further characteristics of interest:
multi-dimensional approaches and approximate approaches.
Multi-dimensional Sequential Pattern Mining The previously presented notion
of “sequence” covers sequences of itemsets, which could comprise the information from
multiple context data streams in parallel. Adding a clear notion of orthogonality between
the different types of data allows for a more discerning treatment. By assigning each
context data source its own dimension, there is no interaction between different states
of different sensors.
The first “multi-dimensional” sequential pattern mining approach by Pinto et al. [2001]
was so only with regard to allowing multiple key criteria according to which support is
calculated. This allowed a multi-dimensional notion of support, but the actual itemsets
where still restrained to consist of elements of a single dimension. This work has
21been extended with an optimisation for closed multidimensional patterns in the work of
Songram et al. [2006] and Boonjing and Songram [2007].
Plantevit et al. [2010] undertook the next logical effort, to treat sequences of multidimensional,
multi-level data. They develop the bottom-up approach described by Beyer
and Ramakrishnan [1999] to mine maximally atomic frequent sequences, which are sequences
consisting of a single (hence atomic) multi-dimensional item. This item must
be the most specific – with regard to the concept hierarchy model – item that is still
frequent in the database. From this point, the sequences of length one are built up to
longer sequences using the SPADE algorithm [Zaki, 2001].
Approximate Sequential Pattern Mining The realisation that exact pattern mining
is too restrictive for real world problems has been reached by Wang et al. [2000]. The
first approach to mining long sequential patterns from noisy data by Yang et al. [2002]
uses a probabilistic model to account for the noise: a compatibility matrix consisting of
the conditional probabilities, that x is the real value, given that y has been observed,
gives a notion of relative proximity of values, with regard to the measurement (or data
generation) process. The notion of support is adapted to become noise-tolerant. The
actual significance criterion under noisy influences on the data is termed match, and is
defined as the maximum conditional probability of an occurrence of a pattern, given
any one subsequence of a sequence, averaged across the database. A slightly modified
Apriori-property holds for the match measure as it does for support, if subpatterns are
defined as a pattern that lacks some symbols present in the respective superpattern.
Although theoretically it is possible to use classical algorithm with this model, the
large number of candidates and database scans generated using Apriori-/support-based
approaches makes them impractical. Instead, the authors propose a statistical filtering
approach to reduce the number of passes, which is based on two criteria: First the additive
Chernoff bound [Hoeffding, 1963, Domingos and Hulten, 2000] is used to estimate
the size of a pattern (i.e. the points beyond which extending a subsequence reduces its
match below the relevance threshold) based on the results of random sampling. This
divides the set of candidates into three (probable) classes: frequent, infrequent and ambiguous
patterns. The second optimisation deals with the ambiguous patterns – which
require further attention – to determine the frequent and infrequent patterns contained
within. The specific approach refines the borders (left and right limits of the end of the
ambiguously frequent subsequence) obtained during the random sampling approach by
collapsing them down to the actual borders. This is done using a hierarchical division
of the two estimated borders, which takes at worst O(log(n)) steps to find the correct
22border, where a classic linear algorithm would take n steps. Overall performance of the
approach depends very much on the data and the number of ambiguous patterns that
cannot be identified during the first probabilistic step.
ApproxMAP [Kum et al., 2003] – another approximate method – borrows some notions
from string mining. This algorithm mines consensus patterns (i.e. short patterns that
appear in similar fashion across many of the examined sequences) through multiple
pattern alignment. It uses a hierarchical edit distance as a similarity measure for pairs
of sequences, and thus determines clusters of similar sequences. In a second step, a
representative for each cluster is selected. A consensus pattern is determined to be
present whenever a sufficient number of sequences in the cluster share this representative
to achieve a strength threshold – a notion similar to “minimum support”.
Applications in Context Pattern Mining The main application to context data
mining is the field of trajectory mining and more generally spatio-temporal data mining.
Due to the limited scope of this problem, compared to the routine activity detection
problem, we only briefly introduce a few key approaches.
Rashad et al. [2007b] developed a multi-dimensional PrefixSpan [Pei et al., 2001]
specialisation called MobilePrefixSpan (based on the work of Pinto et al. [2001]), to
mine movement patterns of mobile users. Their database consists of entries, describing
which user was present in which mobile phone network cell, at which time. Using the
generated movement profiles, they try to predict future positions of users, with the goal
of providing better resource management in the wireless network itself. Compared to
the original PrefixSpan, they restrict sequences to consecutive sequences, as they argue
that the exact order in which cells are visited is more important than the more global
trends that traditional sequence mining detects.
Giannotti et al. [2007] also perform pattern mining on GSM or GPS location data.
They extend the basic SPM model with annotations indicating the typical transition
times between elements (see also the previous work of Yoshida et al. [2000]) and replace
itemsets by spatial points. The calculation of support is not done by exact matching, but
instead by an error tolerant neighbourhood function. One of the key problems of this
approach, is that of determining Regions-of-Interest – i.e. semantically similar regions,
to determine the neighbourhood function – for which they provide a seed-and-growth
approach, using popular spatial points as starting points. The actual mining algorithm
is introduced in Giannotti et al. [2006] and uses prefix projection (like PrefixSpan [Pei
et al., 2001]), but modified to accept time-stamped sequences.
Further work in this field can be found in the works of Kang and Yong [2010], Lei and
23Wong [2009], Nanni et al. [2010], Zhao et al. [2013], Zheng et al. [2011].
2.3.1.3 Discussion
SPM, at first glance, presents a suitable approach to the routine activity detection problem.
The blocking metaphor (selecting sequences from a database by a key criterion)
works well with the notion of days and weeks structuring human activity. The performance
is compatible with the volumetry of context data (1). Although actual algorithmic
complexity largely depends on the data, the sample data presented usually scales up to
hundreds of thousands of itemsets in the sequences. The notion of closed patterns and
maximal patterns allow refining the result to those patterns that should be the most
interesting.
The traditional SPM is limited, in that it can only identify exact patterns. Semantic
hierarchical models can help with this (3,6). In this case, similar sensor values are
grouped under a more general label, to allow for more general patterns to be mined.
Additionally, approximative approaches exist, that are able to find patters in noisy
data, or use string mining approaches to identify similar sequences, thus addressing
criterion (4).
Although these hierarchical approaches are more realistically employed to solve the
routine activity detection problem, there still persists one problem. Treating each sensor
merely as one source of items that are all fundamentally equivalent, in that in theory
each item can be replaced by any other, leads to a large number of comparisons that
can be prevented, if from the start the data is considered multidimensional. Plantevit
et al. [2010]’s multilevel and multi-dimensional approach is capable of eliminating these
ambiguities, which should in theory allow an optimized treatment of such truly parallel
data. On the other hand, this approach is limited to exact matches, which puts higher
demands on the preprocessing of the context data. As with the other approaches, the
non-consecutive sequences that do not make sense need to be removed from the results.
Lastly, tuples (i.e. multi-dimensional datasets) are treated as a unit, so desynchronised
context data would prove problematic (5).
A notable drawback then, across almost all SPM algorithms – when dealing with
context data – is that in the classical retail shopping scenario, items are numerous and
sequences are short, but for the context scenario, sequences are long, and “items” are
relatively few. This is the foremost limitation, as non-consecutive patterns can appear by
coincidence much more easily in these conditions, without actually indicating a recurring
activity. The consecutive approach by Rashad et al. [2007b] provides a solution to this,
but inversely the increased requirement for exactness (as now erroneous values are not
24skipped) requires more intense preprocessing, which renders an adoption problematic.
The time-interval supporting approaches by Yoshida et al. [2000] and Giannotti et al.
[2006] allow to quantify these intervals between items and use them to determine patterns
that take these intervals into account.
Compared to SPM, string mining addresses approximate approaches much more comprehensively,
and with less inherent complexity.
2.3.2 String Mining
Strings are finite length character sequences. By assigning to each state of a context or
sensor a specific character, it is possible to represent context data sequences with strings.
String mining, as a discipline, is closely linked to bioinformatics and computational
biology. With the discovery of the structure of DNA, RNA and protein structure, and
the ability to obtain base pair sequences and amino acid sequences from cells, the search
for meaning in these sequences became a major research topic. This so-called “biological
revolution” has motivated a large parallel effort in the development of effective and
efficient sequence analysis (i.e. string mining) algorithms.
In their survey of string mining in bioinformatics, Abouelhoda and Ghanem [2010]
provide a taxonomy of the field, discerning principally between repeat-related problems
and string comparison problems.
Repeat-related problems try to find repeated or otherwise interesting subsequences
within larger sequences, whereas string comparison problems are based on comparisons
between two separate strings, and often inspired by a need to determine a similarity
metric. Each of these two categories is explored in the following, with a closer look at
approaches that are of relevance to our routine activity detection problem.
2.3.2.1 Repeat-Related Problem
Repeat-related problems can be divided into the following subclasses (c.f. Fig. 2.3.2):
Dispersed Repeats i.e. finding repeats through a sequence. These repeats can be either
approximate or exact, with fixed or variable length.
Tandem Repeats i.e. repeats that occur in an adjacent manner. These repeats can also
be either exact or approximate in nature.
Unique Subsequences i.e subsequences that do not have repeats and appear only once
in a sequence.
25Absent Words i.e. subsequences that do not exist at all in the original sequence. Only
the shortest absent words are of interest, as generally there is an infinite number
of subsequences not contained within a sequence.
With regard to the class of repeat-related problems, our task falls within the scope
of a dispersed longest repeat problem: Find a pair of sub-strings that match, where
neither the pairs of preceding elements nor the pairs of succeeding elements match.
Alternatively, if a sufficiently powerful classifier were to exist, which could consistently
assign a correct activity label to a set of sensor readings, the routine activity detection
task could be expressed as an exact repeat problem; otherwise it would be a more
general approximate repeat problem. The approximate repeat problem is solved by
a local alignment algorithm in O(n
2
) [Smith and Waterman, 1981], which technically
belongs to the class of comparison problems, and is described in the corresponding –
next – subsection.
A naive, brute-force approach to finding (longest) pairs of exact repeats would be to
create a scatter plot, and scan along its diagonals for series of matches. Given n lines of
input, this type of approach would use O(n
2
) time and O(n) space.
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
{aaa,aab,aad,aba,abb,acb,acc,adb,add,baa,bab,bba,bbd,bca,bcb,bcd,
bda,bdc,bdd,caa,cbc,cbd,cdc,dab,dad,dba, dbd,dca,dcc}
dispersed exact repeats of size 3
tandem exact repeats of size 2
unique subsequences of size 2
absent words of size 3:
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
dispersed approximate repeats of size ~5
a b c c a d c d a c a b d b c c c b a d a a c a c d d c b b b b c c d b b a c
tandem approximate repeats of size ~3
Figure 2.3.2.: Examples of different types of repeat-related features in a string.
26Suffix Tree Approach A suffix tree [McCreight, 1976] based approach appears more
suited for large volumes of data. Baker [1992] proposes an exact matching algorithm
using the suffix tree structure, that finds pairs of maximal repeats in a sequence of length
n and m repeats in O(n + m) time. It follows a description of this approach and an
illustration on the example input string abcbcabc% (% is the string termination symbol).
The algorithm consists of four steps:
1. A suffix tree is generated, as follows:
a) An empty tree is generated (as in Fig. 2.3.3-0);
b) A leaf containing the entire string (appended with a termination symbol “%”)
is created (as in Fig. 2.3.3-1);
c) A new leaf containing the first suffix (comprising all but the first element) is
created (as in Fig. 2.3.3-2 to -6, and Fig. 2.3.4 for the final three leaves);
d) If the head (i.e. the first elements of this suffix) is present in an existing leaf,
a new node representing this head is created, and two leaves representing each
of the possible suffixes to this head are added to it (e.g. in Fig. 2.3.3-4 for
bc, when the suffix bcabc% is added to the tree which already contains a leaf
bcbcabc%);
e) Repeat (c) and (d) with the first suffix of the remaining string (as in Fig. 2.3.3-
3 to -6 and Fig. 2.3.4 for the final three leaves, 7, 8 and 9). Each newly added
leaf representing a new suffix is assigned the index of its first element in the
original string.
2. In the suffix tree, identify head nodes (circular nodes in Fig. 2.3.4) which satisfy a
minimum length condition (≥ 2 for this example). They correspond to repeating
sub-strings, with differing right elements (as otherwise the head node would already
comprise this right element). The left element may still be identical. In the example
these are the nodes bc and abc.
3. Build a list of suffixes, grouped by left elements: For each possible element to
the left of the node “head” element, a list is created. Each leaf is added to the
corresponding list. In the example, this is shown for node bc in Fig. 2.3.4, with
the left elements a (in the case ∗abc∗, leaves 2 and 7) and c (in the case ∗cbc∗, leaf
4). The leaves are emphasised by being enclosed within the dashed ellipses, and
labelled with the prefixes.
27root
0
root
abcbcabc%
1
root
abcbcabc%
2
bcbcabc%
root
abcbcabc%
bcbcabc%
cbcabc%
3
root
cbcabc%
4
root
5
abcbcabc%
c bc bc
root
6
c
bc
% abc
Figure 2.3.3.: Construction of a suffix tree from abcbcabc%. The numbers indicate both
the order and the index of the current suffix being added. New leaves and
nodes at each step are shaded.
4. Form the cross-product of each distinct pair of lists for all nodes. In the example
this is the cross-product of the lists (2, 7) × (4) = (2, 4),(7, 4) for the node bc,
meaning that bc is the longest repeat for the instances of bc in the fourth position
in the string, with the instances in the second and seventh position.
The pair of leaves 2 and 7 of the node bc in the example are not longest matches, as the
preceding character is an a each time. Therefore the actual longest match is to be found
elsewhere: in the node abc and the pair of leaves 1 and 6.
Applications to User Modelling Within the context of routine activity detection,
this approach has been used by Pitkow and Pirolli [1999] to mine users’ web access logs,
with the goal of predicting websites that a user will visit in the near future. After extraction
of the longest matching subsequences, these subsequences are split, and Markov
models (of different orders) are used to obtain transition probabilities. The key use of
the longest repeat problem in this case was to optimize performance over a previous
approach, by limiting the generation of Markov models to the data contained within
longest matching subsequences, while maintaining similar prediction performance.
Similarly, Pauchet et al. [2009] use suffix-tree based repeat-mining to identify recurring
28root
7 + 8 + 9
%
c
bc
%(7)
%(8)
abc
%(9)
1 6
2
4
7
8 5
9
3
example for node bc:
2
7
x 4
bc in position 4 has
longest match with bc
in positions 2 and 7
left prefix leaves
a 2,7
c 4
prefix a
prefix c
Figure 2.3.4.: Identification of longest repeats using Baker’s algorithm in the complete
suffix tree from Fig. 2.3.3. Steps 7, 8 and 9 of the tree construction are
performed, adding the three shaded leaves. The order in which the leaves
are added is given by the nodes and indicated by the superscripts of the
vertex labels.
behaviour of users of medical catalogues. This information is then used to present
a subset of works from the catalogue to the user, which contains elements which are
expected to be part of the desired search result.
In the field of pervasive and mobile computing, Katsaros and Manolopoulos [2005]
propose an approach to – for example – track the location of a client in a wireless
cellular network. They describe a prediction task, and also use a suffix tree to find
longest exact matches, from which they construct a probabilistic model of transitions.
Sigg et al. [2010] use exact (or approximate) repeat search as the first stage of their
context prediction algorithm. This stage is used to determine “typical” contexts. Suffixes
of the observed context are then aligned with these typical contexts, to find the best
match. They then predict the next context to be the continuation of the identified
typical context.
2.3.2.2 String Comparison Problem
String comparison problems can be categorized as follows:
global i.e. compare entire strings;
29semi-global i.e. search problems – finding short strings within a larger one;
local i.e. problems on sets of sub-strings. Local problems can further be subdivided
into problems with variable length and fixed length of these sub-strings.
Furthermore, each of these problems has exact and approximate variations.
When approaching the task of identifying routine activities from context data as a comparison
problem, then this problem should be interpreted as local comparison problem,
either of exact or approximate nature, and of variable length. Additionally, a dispersed
approximate repeat problem can be reformulated in terms of an equivalent comparison
problem: comparing pairs of subsequences of the sequence in which approximate repeats
are sought.
Exact Matching Local exact matches (i.e. identical sub-strings within two larger
strings) can be found in a brute force way: Pair all sub-strings of one string of length
n and the other, and check for identity. Due to the identical length requirement, this
implies O(n
3
) string comparisons. Search space reduction to strings of length l further
reduces this to O(n
2
l).
To render the problem more tractable, it is possible to limit the search to maximal
exact matches. In this case, Baker’s suffix tree algorithm for finding maximal repeats
(see subsubsection 2.3.2.1) can be modified to find maximal exact matches instead.
The modifications are the following: The lists of positions (shown in the right part of
Fig. 2.3.4) are split into two subsets, one containing those suffixes belonging to the first
of the input strings, the other containing those that belong to the second input string.
The result is then obtained by forming the Cartesian product of each pair of lists, where
both the input string and the left element are distinct. This minimal modification has
no effect on algorithmic time and space complexity.
A complete survey of a large number of both recent and early approaches to exact
on-line string matching (i.e. finding a known pattern in a string) can be found in a
review of the field by Faro and Lecroq [2013]. Each of the algorithms in the survey
has been tested against a battery of synthetic and real world data, and characterised
in how well it suits two problem characteristics, pattern size and alphabet size. We
voluntarily omit detailed study of these approaches, as expressing the routine activity
detection problem as a search problem is highly inefficient, due to the combinatorial
scale of the possible, unknown, patterns. The identification problem (“Is the current
context a known context?”), which these algorithms address, is much less complex than
the routine mining problem, and even a worst case O(n) algorithm [Knuth et al., 1977]
30has little impact on the overall performance.
Applications to User Modelling One application of this algorithm in the field of
context data, is the SHIP algorithm by Cook et al. [2003], which uses exact matching to
determine frequencies of following activities, with the goal of predicting future context
from recognising frequent sequences. This approach can also be classified as a sequential
pattern mining approach, given the fact that the exact matching is used to extract a
frequency measure for a part of a sequence. The approach requires permanent access to
a history of past activities, in order to perform a matching of the current subsequence
with historic data. SHIP is one of multiple algorithms of the MavHome smart home
architecture. This is an agent-based multilayer architecture, which uses a predefined
set of concepts to transform physical sensor data (“lowest” layer) into abstract, discrete
context data, before it is treated by the learning and decision-making modules (“highest”
layer).
String matching algorithms have also been adapted to two- or multidimensional data.
This is possible through an extension of the string-matching paradigm to “wider” data
structures (i.e. where each string element itself is a string of length greater than one)
which has been proposed by Baker [1978]. The problem is reduced back to a string
matching problem, which allows the use of efficient, well known algorithms. First rows
from the search pattern are matched with rows from the subject array, then a table of
matches annotated with a row ID is created. In this table, the row IDs are matched
with the order of row IDs in the pattern array, column-wise. Therefore, the algorithm
effectively represents the problem as the concatenation of two string matching problems.
A similar approach is taken by Zhu and Takaoka [1989]. They use the hashing pattern
matching approach of Karp and Rabin [1987] on the columns of the input data to first
reduce the array problem to a string problem, and then use the algorithm of Knuth et al.
[1977] row by row to find the array patterns.
To the best of our knowledge, these approaches have not been used within the field of
context data mining or applied to related fields, but could be considered as candidates,
given a suitable framework.
The k-Error Problem The k-error problem (explored in depth in the work of Navarro
[2001]) is a quite specific approximate string comparison problem, where the goal is to
match a pattern to a string, without incurring more than a fixed number of modifications,
and the more general alignment problem, in either global or local flavour. A global
alignment of two strings is the ideal ordered set of operations to transform one string to
31another, whereas local alignments are based on the same principle, but look instead to
find maximally similar sub-strings within the pair of input strings.
The k-error problem is too limited in scope, to be of use in the simple string case, as it
is restricted to a search functionality, and the constraints of the fixed number of changes
make no sense when dealing with context data. Nonetheless, further on we cover some
variants of this approach, that generalize it to two dimensions, where the reasonable
complexity of the solutions has some more interest. The class of alignment problems on
the other hand is more flexible, and thus more interesting of analysis, and can also be
used to solve the k-error problem.
Global Alignment The first foray into the field was led by two biologists, Needleman
and Wunsch [1970]. They propose a method to find the largest similar subsequence
of a pair of amino acid sequences. More specifically, their algorithm finds similar subsequences
of maximum length. Their original algorithm – which has largely been surpassed
by a dynamic programming version – is illustrated for an example in Fig. 2.3.5.
Two input strings are orthogonally arranged, so that a table can be spanned between
them. In this version, every match of two symbols is given a score (1) in a table – as
shown in the left table in Fig. 2.3.5. This value is added to the largest value in the
top left sub-table – the empty table is assumed to contain the score 0 – this process
is detailed in the right table of Fig. 2.3.5 . Following the increases in score across the
table, gives the operations required to perform an alignment (denoted by arrows in the
example).
Non-deterministic configurations can be encountered, for example when one string
contains a sub-string in inverse order as the other string (e.g. abcd and acbd). In that
case, the following value can be based on either of the two previous rows of the table.
This is because the incremented value for the b-b-match is not in the sub-table from
which the maximum is chosen when examining the c-c-match. This leads to two equal
values, one in each row of the table, and a common value in the following table. Because
the top-most of the equal values is to the right of the lower-most, it is not possible to
traverse both values, leading to the non-deterministic situation, where one of the two
equally valid paths (deletion of b or deletion of c) has to be chosen.
Dynamic Programming Algorithm The formalisation of the dynamic programming
algorithm for global sequence alignment [Sankoff, 1972], requires the definition
of a few terms. Let Σ be an alphabet of characters and let Σ∗ be the set of all possible
combinations of characters into sequences. Let ε be the empty word. Let a ∈ Σ
32A
C
G
T
C
G
A
C
G
A
1
0
0
0
0
0
1
0
0
C
0
2
1
1
2
1
1
2
1
T
0
1
2
3
2
2
2
2
2
C
0
2
2
2
4
3
3
4
3
A
1
1
2
2
3
4
5
4
4
C
0
2
2
2
4
4
4
6
5
G
0
1
3
2
3
5
4
5
7
A
C
G
T
C
G
A
C
G
A
1
1
C
1
1
1
T
1
C
1
1
1
A
1
1
C
1
1
1
G
1
1
1
Figure 2.3.5.: Original Needleman-Wunsch algorithm, as introduced by Needleman and Wunsch [1970]. The left table is filled
with incrementation markers (“1”) at each location where a pair of values match. In the right table, the values
for all the cells have been determined, and the alignment highlighted by arrows and bold values. The alignment
(arrows) starts at the maximum value and then follows the maximum values, upwards and to the left in the
table. The “skips” between values 5 and 4, and 3 and 2 are indicative of deletions in the row-string.
333 3
2
3 2
1
insertion
-1
-1 ±0
deletion
Figure 2.3.6.: Calculation of the local similarity using the dynamic programming approach.
The preceding values in the table are either incremented by the
substitution score, in the case of the diagonal predecessor, or decremented
by the indel penalty. The maximum value is carried over for all successive
operations.
and b ∈ Σ (a 6= b) be two such characters. For each pair of (a, b), define an elementwise
replacement edit distance or substitution distance sub(a, b) ∈ R where it holds
sub(a, a) 6= sub(a, b). In the original paper, the proposed values were 1 for a match and
0 for a mismatch. An alignment can comprise insertions and deletions (indels). These
operations are assigned a penalty value indel ∈ R (= −1 in the original paper).
The next step is the accumulation of these values in an array (“accumulated similarity
score table”) spanned by the two input sequences. Row by row, the array is filled. Each
cell in the array is calculated as the maximum of the sum of values in the directly adjacent
cells with already determined values and the indel penalty, and the sum of the value in the
diagonally adjacent cell with already determined value and the appropriate substitution
score for the position of the cell (cf. Fig. 2.3.6 ). Formally: For two sequences S1 and
S2 with last elements a and b respectively, the similarity score sim(S1, S2) is recursively
defined as:
sim(S1, S2) := max
sim(S
−1
1
, S−1
2
) + sub(a, b)
sim(S
−1
1
, S2) + indel
sim(S1, S−1
2
) + indel
(2.3.1)
34where S
−1
is the prefix of length |S| − 1 of a sequence S. The initial condition is
sim(S, ε) = sim(ε, S) = 0. Once the array has been completely populated, the maximum
value in the last row or column is selected as origin. From this point, a trace
of maximum values in the array is followed in the opposite direction of its generation.
The direction taken at each step corresponds to an alignment operation. A diagonal
movement corresponds to a substitution, whereas a movement into a directly adjacent
cell corresponds to an indel. The sequence of operations that is returned this way is the
sequence of operations required to align one of the input strings with the other.
Using a dynamic programming approach, the algorithm can be implemented within
the constraints of O(n
2
) time and space. When comparing k sequences (of average length
n), the complexity is of the order of O(n
k
).
Optimal Global Alignment Hirschberg [1975] proposes a linear space algorithm,
which computes only the optimal score, and returns only the optimal sequence of alignment
operations. This is achieved through a divide and conquer approach. Let S
i be
the suffix consisting of the last i elements of a sequence S and S
−i be the corresponding
prefix.
Given sequences S1, S2 ∈ Σ
∗
, with |S1| = n and |S2| = m, it holds:
∀0≤i≤n : M(i) := max
0≤j≤m
{sim(S
−i
1
, S−j)
2
) + sim(S
i
1
, Sj
2
)} → M(i) = sim(S1, S2)
This means that, for each position i in S1, there exists a position j in S2 such that the sum
of similarity values of the pair of prefixes and the pair for suffixes from these positions is
equal to the similarity value of the pair of sequences. Splitting S1 approximately in half
(at index i) therefore implies an optimal split of S2 at the j where the minimum M(i) is
calculated. Repeat this process on the pairs of first and second subsequences generated
by the split until only a trivial problem (such as S2 being empty, or S1 containing only
a single symbol and S2 being not empty) remains.
The dynamic programming approach is illustrated – for the same pair of strings as
in the previous example – in Fig. 2.3.7. Note how the value in each cell depends only
on the three neighbouring values (as indicated in equation 2.3.1), which is crucial to
Hirschberg’s approach.
Local Alignment Global alignments are of interest, when a corpus of known interesting
subsequences exists. As referenced above, Sigg et al. [2010] use global alignment
35A
C
G
T
C
G
A
C
G
A
1
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
C
0
2
1
0
-
1
-
2
-
3
-
4
-
5
T
-
1
1
2
2
1
0
-
1
-
2
-
3
C
-
2
0
1
2
3
2
1
0
-
1
A
-
3
-
1
0
1
2
3
3
2
1
C
-
4
-
2
-
1
0
2
2
3
4
3
G
-
5
-
3
-
1
-
1
1
3
2
3
5
A
C
G
T
C
G
A
C
G
A
1
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
C
0
2
1
0
-
1
-
2
-
3
-
4
-
5
T
-
1
1
2
2
1
0
-
1
-
2
-
3
C
-
2
0
1
2
3
2
1
0
-
1
A
-
3
-
1
0
1
2
GC
-
1
-
1
±
0
Figure 2.3.7.:
Note that the traceback follows substitutions over indels in cases of ambiguity (e.g. the 4
shows the complete table and highlights the series of maximal values which indicate the alignment operations.
-1. The left table shows how a particular cell value is calculated from three predecessor values, the right table
penalty, matching substitutions score a value of 1 and insertions and deletions are penalised with a value of
Dynamic programming version of the Needleman-Wunsch algorithm. Non-matching substitutions have no
→3 transition marked
and not necessarily the maximum value.
in the right table), as the value that was used to calculate the current value defines the path for the traceback,
36to identify known context sequences in a stream of real-time context data. In order to
actually identify such repeating patterns in sequences, local alignments need to be found.
The reference local alignment algorithm is Smith and Waterman’s algorithm [Smith
and Waterman, 1981], a variation on the dynamic programming Needleman-Wunsch
optimal matching algorithm described earlier. The key differences are that negative
values are used to represent the similarity of different values, and that in the accumulated
similarity score table all negative values are truncated to zero. The similarity function
above is modified to:
sim(S1, S2) := max
0
sim(S
−1
1
, S−1
2
) + sub(a, b)
sim(S
−1
1
, S2) + indel
sim(S1, S−1
2
) + indel
(2.3.2)
and furthermore, a backtrack halts when a zero value is encountered. The result is
that – in the accumulated similarity score table – the score rises along pairs of local
subsequences that are similar, then drops as they become dissimilar further on, and
finally reaches zero. This zero value then serves as a delimiter: any similarity elsewhere
is not impacted by the previous values, and thus locality is introduced. The degree of
locality is directly dependent on how quickly similarity scores are accumulated to reach
zero, from the point that the two subsequences diverge. This means: the dissimilarity
of a pair of intervals between two pairs of similar intervals determines whether the two
intervals are treated as a single pair of similar sub-strings containing the dissimilar substrings,
or as two separate pairs.
An example of this is given in Fig. 2.3.8, with two different penalties (-2 and -1 for
left and right tables respectively) used to calculate the two tables. The result is that the
smaller alignments are each time reset (to a zero score) in the left table, before they can
form a larger alignment.
Although Myers and Miller [1988] showed that it is possible to apply Hirschberg’s
approach to local alignments, this is not always desirable, as reducing the result to the
optimal alignment, discards all other local alignments present in the data.
Fast Search Algorithms In bioinformatics, one of the key challenges is to check
for the presence of medium length sequences within a genome. This is best achieved
by algorithms that are optimized for search, such as FASTA by Lipman and Pearson
[1985] and BLAST by Altschul et al. [1990]. These algorithms use heuristics to achieve
37A C G T C G A C G
A 1 0 0 0 0 0 1 0 0
C 0 2 1 0 1 0 0 2 1
T 0 1 2 2 1 1 0 1 2
C 0 1 1 2 3 2 1 1 1
A 1 0 1 1 2 3 3 2 1
C 0 2 1 1 2 2 3 4 3
G 0 1 3 2 1 3 2 3 5
A C G T C G A C G
A 1 0 0 0 0 0 1 0 0
C 0 2 0 0 1 0 0 2 0
T 0 0 0 1 0 0 0 0 0
C 0 1 0 0 2 0 0 1 0
A 1 0 0 0 0 0 1 0 0
C 0 2 0 0 1 0 0 2 0
G 0 0 3 1 0 2 0 0 3
Figure 2.3.8.: Two accumulated similarity tables obtained using the Smith-Waterman
algorithm. The left has been calculated using a similarity score of 1 for
matches, and dissimilarity penalties of -2 for non-matching substitutions
and indels. The right table has this penalty reduced to -1. In each case,
the alignments with a similarity score of at least 3 have been highlighted.
Note how the higher penalty leads to smaller, more local alignments.
much better search performance than exact methods, at the cost of a guarantee that the
obtained results are correct. By being limited to search, these approaches do not offer
themselves to the more exploratory nature of the routine activity detection problem pursued
in this work. A further number of approximate on-line string matching algorithms
is exposed in a survey by Navarro [2001], which introduces algorithms that are also
based on statistical approaches, automata based approaches, filtering approaches and
bit-parallelism based approaches.
Two-Dimensional Pattern Matching Approximate pattern matching approaches
for multiple dimensions can be divided into two classes: error-tolerance-based approaches
and alignment-based approaches.
The former use a simple model, that merely counts the number of modifications required
to transform one structure into the pattern that is being sought. If the number of
operations required exceeds a limit, a mismatch between data and pattern is assumed,
similar to the k-mismatch approach for strings. Krithivasan and Sitalakshmi [1987]
present a row-based approach to this problem, and a simple generalisation of the dynamic
programming algorithm. Their model of a pattern is rectangular. The algorithm
consists of two steps: first patterns are represented in an optimized fashion, by reducing
rows that are identical or similar to a differential representation. Then, the data
is searched for occurrences of the first row of the pattern, and for each occurrence it is
38verified whether the second row of the pattern follows. The number of required modi-
fications is tracked for the set of occurrences, and whenever the error-limit is exceeded,
the occurrence is discarded.
Amir and Farach [1991] present an early algorithm that takes into account general
structures, as opposed to merely rectangular ones. To achieve reasonable run time,
they use numerical convolutions to perform the approximate matching. Baeza-Yates
and Navarro [1998] present an approach of identical optimal complexity, that consists of
a filtering step, discarding all rows in the text that cannot possibly contain a pattern,
before using a standard dynamic programming algorithm for the final matching.
Two-Dimensional Motif Extraction The previously introduced two-dimensional
matching approaches do not allow the extraction of patterns from data, but instead
solve the problem of finding a known pattern within data. As in the one-dimensional
case, matching alone is not the key issue of the routine activity detection problem.
Instead, the identification of common patterns in input data, is the key problem of the
routine activity detection problem. Such extraction algorithms have first been proposed
by Apostolico et al. [2008]. The notion of a pattern in their work is still essentially
rectangular, but through the use of “don’t care”-symbols (symbols in patterns that match
any symbol in the input data) the actual informational content of a pattern can take
arbitrary shapes. Their approach primarily searches for autocorrelations of a single input
array. An autocorrelation in their nomenclature is a similarity between the array and
its transposed array. They propose an incremental combinatoric approach to detecting
a base of patterns. A base is a set of maximally sized and maximally dense patterns,
which comprises all patterns of an autocorrelation. Within the framework of the routine
activity detection problem, such a base would correspond to a set of recurring contexts
of maximal length and specificity, that describes all recurring contexts in a specified time
frame.
The incremental algorithm functions as follows: iterating over the cells of the array,
in a row-major order, from the lower right corner to the upper right, a base is found for
each sub-set of elements contained up to the current position. During the iteration step,
new base element patterns are generated, through inclusion of the new symbol. Some
of these patterns are novel – i.e. have not been generated previously – and render some
old patterns obsolete, either by rendering them more specific, or by extending them in
size. New patterns can be not novel, for example when a novel pattern removes an old
pattern through extension from the base, but a previously removed pattern does then
again become a valid base element, through this removal. Iterating this process across
39data of size N = m × n requires O(N3
) time. By reducing the alphabet to a binary
alphabet, complexity can be reduced to O(N2
) [Rombo, 2009].
Two-Dimensional Local Alignment A generalizations of the local alignment by
dynamic programming paradigm to two dimensions is presented in Lecroq et al. [2012].
This approach can be seen as an extension of the Smith-Waterman algorithm. It computes
similarity scores for each pair of “prefixes” (in the two-dimensional case, this is
the array to the top and left of the chosen position) in a table, that has now gained
four dimensions. Two of these dimensions correspond to the widths and the other two
dimensions correspond to the lengths of the two arrays being locally aligned.
S 1 2 .. i .. n-1 n
1 C1 A2 Ai Bn-1 An
2 C1 A2 Bi Cn-1 An
3 A1 B2 Ci Bn-1 Cn
4 A1 A2 Ai Bn-1 Cn
…
…
…
…
…
…
…
j A1 A2
…
Ci
…
Bn-1 Cn …
…
…
…
…
…
…
l-4 C1 C2 Ai An-1 Bn
l-3 B1 B2 Ci An-1 Cn
l-2 C1 B2 Ai An-1 An
l-1 C1 B2 Ci An-1 Bn
l C1 A2 Ai An-1 Cn
S
S
Figure 2.3.9.: Row and column prefixes, and
accompanying notation.
The similarity value in the table entry
is computed as a function of the preceding
values, much as in the Smith-Waterman
dynamic programming algorithm. The
difference in the two-dimensional case is
that the preceding values now number
eight instead of three. First of all, the
number of possible deletion and insertion
operations has doubled (lines V to VIII in
equation 2.3.3), as they can be either in
vertical (VII, VIII) or horizontal (V,VI)
direction, and furthermore substitutions
can be accompanied by different movements
in the top-left direction. These
directions are either top (IV), left (III)
or top-left (in both arrays simultaneously
- I and II). Finally, in the case of the
top-left movement, the order of the submovements
(top-left (II) or left-top (I))
influences the score. This is the case, because
row prefix and column prefix similarities play a role in the calculation of the
substitution scores, taking the place of the per-element substitution scores used in the
one-dimensional case. In the following, let S ← and S ↑ denote the row prefix and
column prefix of the bottom-right element of a sequence S (cf. Fig. 2.3.9)
Column-prefix similarities are added to the similarity score, when doing an in-row
substitution movement, and row prefix similarities are added, when doing an in-column
40substitution movement. In the case of the combined diagonal movement, the order then
impacts which row prefix and which column prefix is considered.
Let the upper index in S
−i,−j denote which array prefix is used: S
−1,0
is S without
the last row, S
0,−1
is S without the last (rightmost) column, and S
−1,−1
is S without
both last row and column. indel(S) is the indel score of the bottom right element of S.
To formalize (compare with equation 2.3.2), the similarity of two arrays S1 and S2 is
defined as:
sim(S1, S2) :=
max
0
sim(S
−1,−1
1
, S−1,−1
2
) + sim(S1 ↑, S2 ↑) + sim(S
0,−1
1 ←, S0,−1
2 ←) (I)
sim(S
−1,−1
1
, S−1,−1
2
) + sim(S
−1,0
1
↑, S−1,0
2
↑) + sim(S1 ←, S2 ←) (II)
sim(S
0,−1
1
, S0,−1
2
) + sim(S1 ↑, S2 ↑) (III)
sim(S
−1,0
1
, S−1,0
2
) + sim(S1 ←, S2 ←) (IV)
sim(S1, S−1,0
2
) + indel(S2) (V)
sim(S1, S0,−1
2
) + indel(S2) (VI)
sim(S
−1,0
1
, S2) + indel(S1) (VII)
sim(S
0,−1
1
, S2) + indel(S1) (VIII)
(2.3.3)
This similarity is then implemented in the same way as the standard Smith-Waterman
approach, with time complexity in O(N × M), where N is the number of elements in S1
and M is the number of elements in S2. Although this algorithm is generally designed
to detect patterns in arrays, the actual use in Lecroq et al. [2012] is to identify similar
passages of annotated conversations. This kind of data is notably sequential only in the
time dimension, whereas the annotation dimension is fixed, and each column has its own
alphabet. Therefore, the application is to a problem of finding similar subsequences in
sequences of tuples.
With these different approaches having been exposed, we can now compare their
suitability for the routine activity detection problem.
2.3.2.3 Discussion
Our look at string mining is focused on alignment techniques, as this class of approaches
returns pairs of similar subsequences from two input sequences of symbols and thus
allows us to extract information from the data. There are three identifiable ways how to
apply this to our routine activity detection problem:
41❼ reduce the sensor data to discrete context states, and obtain a single sequence
of such states – each similar pair of subsequences should correspond to a routine
activity;
❼ formulate the task as a multi-sequence task (to remain coherent with multiple
sources of context data) and seek alignments on each sequence – merged similar
subsequences should correspond to routine activities;
or
❼ consider context to be a sequence of n-tuples, with each tuple corresponding to
a context state, consisting of multiple discrete context factors – pairwise locally
similar subsets should correspond to routine activities.
These three different conceptual approaches are illustrated in Fig. 2.3.10.
In each case, it is required that the context is represented in a discrete format. The
difference between the first and following two approaches lies in the alphabet size and
tolerance to desynchronisation. A single value that encodes multiple values cannot encode
certain intricacies in context data, such as one sensor reading leading or lagging
the same sensor reading in another instance (5), with regard to the other sensor data.
This restricts the appeal of the single string approach.
t
sensor data
context state abstraction
sensor state abstraction
sensor state abstraction
data synchronisation
Pattern-mining a
single sequence
Pattern-mining multiple
sequences and merging
Pattern-mining an
n-dimensional sequence
Figure 2.3.10.: Three different ways of modelling context for different sequence mining
approaches. “Data synchronisation” refers to the need to have a full set
of sensor readings available at every time step, irrespective of different
sampling frequencies of the actual sensors.
42The multi-sequence approach is excellent with regard to desynchronisations, as each
sensor is studied at an independent temporal time scale from the others, to find patterns.
On the other hand, this complete uncoupling means that coupling effects only get
introduced after the first pattern mining pass, introducing additional model parameters
(6) to characterise the merge operations.
The multi-dimensional approach is limited, in that there are no efficient ways of mining
such patterns. On the other hand – as the illustration makes readily apparent – it is
possible to project the data into the plane, which induces “neighbourhood artefacts”
where the link between neighbouring sensors is stronger than between those that are
projected into areas that are further apart. The Smith-Waterman based two-dimensional
local alignment algorithm can find patterns in this data, but at the cost of relatively
high complexity (1).
The exact motif-extraction approach of Apostolico et al. [2008] is also capable of
extracting information from such projected context data, but the time complexity of
its combinatorial approach is even higher (1). Additionally, it will only extract exact
patterns, having only the freedom of the don’t care symbol, but not permitting structural
variation between pattern instances (5). Although the exact approach means that
initial parametrisation is not required, by consequence it is not possible to obtain an
intrinsic distance between two patterns, or to allow for substituted elements outside of
replacements with the don’t care symbol, which removes all information of the subset of
symbols that can appear in those positions. With sufficient pre-treatment of the context
data, in theory it could be possible to reliably extract patterns, of flexible shapes. In
comparison to the alignment approach the complexity is too limiting, and the amount
of pre-treatment too vast, for this approach to be considered suitable for the routine
activity detection problem.
Similarly, although the suffix-tree solution to the dispersed repeat problem has efficient
solutions (1,7), the fact that it merely covers exact repeats, means that the pre-treatment
has to deliver a sequence of activities as input (2,3). Otherwise the variations which one
can expect in context data, render the approach unsuitable (4,5). Such a pre-treatment
is difficult to obtain in a sufficiently general manner, which renders exact repeat solutions
more difficult to apply to the routine activity detection problem than alignment solutions.
2.3.3 Comparison
For each of the two approaches, we have presented similar classes of approaches. Looking
back at the list of seven criteria we initially defined, we can rank features of classes of
approaches for each one:
43Complexity (1) The first criterion favours approaches which have low algorithmic
complexity and also an inherent capacity to deal with multidimensional data. Whereas
the former is an obvious implication, the latter judgement is based on the fact that
any other approach would either require a merging post-processing step or projecting
pre-processing, both of which may have unexpected implications on complexity.
Preprocessing (2) The second criterion similarly favours multi-dimensional approaches,
as pre-treatment can be reduced to the per-element level and possibly a simple synchronisation.
Adaptability (3) The third criterion is somewhat in opposition with criteria (2) and
(6). Complex models are able to closer match the actual data, and give a richer representation.
Approaches using multi-level hierarchical or substitution score based models
have advantages under this criterion.
Noise (4) Extraction from noisy data is best performed by approximate approaches.
Exact approaches require additional pre-treatment to fulfil this criterion.
Time Effects (5) This criterion also favours approximate approaches, specifically
those that allow skipping or ignoring individual entries when mining for patterns, as
well as treating each sensor with a certain amount of individuality.
Parametrisation Effort (6) The parametrisation effort is lower for substitution
based models compared to hierarchical models, as there is no need to define cross-sensor
relations.
Partial Mobile Deployment (7) This final criterion mostly an engineering challenge,
as all sequence mining based approaches require a large off-line component, that
does not need to be based on the mobile device. On the other hand, a recognition or
prediction algorithm based on an established model can be deployed on a mobile device
with little worry about platform constraints.
For both string mining and SPM, we can at this stage discard the exact one-dimensional
approaches – exact repeat mining and the standard sequential pattern mining algorithms
– as the demands this would put on the pre-treatment of the data cannot reasonably
expected to be met.
44Table 2.1.: Comparison of SPM and string mining
sequential pattern mining string mining
approximative Y N Y N
multi-dimensional Y N Y N Y2 N Y N
(1) complexity
X
high med. low high med. high low
(2) preprocessing high med. high low high med. high
(3) adaptability med. med. low high med. low low
(4) noise tolerance high med. low high med. med. low
(5) time effects tolerance low med. low high low low low
(6) parametrisation effort med. high low high med. low low
(7) mobile deployment no no yes no yes no yes
The approximate methods of string mining have a larger maturity compared to the
approximate approaches of sequential pattern mining, or in the case of the approach by
Kum et al. [2003] is even based on a string mining paradigm. Additionally, there remains
a drawback of sequential pattern mining, in that there is no consecutivity criterion
present in most algorithms.
Plantevit et al. [2010]’s multi-dimensional approach based on the M3SP algorithm
is the only true multi-dimensional algorithm in both fields. To some degree, it shares
the drawbacks of the exact sequential pattern mining approaches, but due to the multidimensionality,
the pre-treatment of the data becomes much less of an issue, and the
underlying hierarchical model can be used to give a semblance of an approximate approach.
A way to render it more suitable to the routine activity detection, would be
to add a consecutivity criterion, as has been done with the algorithm of Pinto et al.
[2001] by Rashad et al. [2007a] or take into account temporal data [Giannotti et al.,
2006, Yoshida et al., 2000]. The two-dimensional approach by Lecroq et al. [2012] appears
to be similarly suitable. The key drawback lies in the required projection of the
multi-dimensional context data into the plane in which the algorithm operates, but it
takes into account desynchronisations across different sensors, and could be reduced to a
lower complexity by taking into account the projection, and thus the incompatibility of
data that is adjacent in the sensor-dimension. A side-by-side comparison of the general
approaches with regard to the seven criteria is presented in Table 2.1.
2This is an estimate based on a naive extension of the approach of [Lecroq et al., 2012] to multiple
dimensions.
452.4 Conclusion and Direction
Our survey of available context datasets has shown that none of them is truly suitable
to quantifiably verify that detected patterns correspond to routine activity. The lack of
ground truth is the prime limitation, but there is also only a small subset of physical
context data present in the existing datasets. This leads us to pursue two strategies to
address – separately – each of the shortcomings: A generation algorithm can give us
true ground truth knowledge, whereas our own data collection campaign would provide
us with as much physical information as required. We also need to annotate some of the
real world data with routine activities, to quantitatively verify our claims.
With regard to the algorithms and approaches we studied, none matches our task
directly. All require either modification or extensive adaptation to a specific dataset.
A common drawback is the substantial effort required to prepare context data for the
data model used in conjunction with the algorithms; alignment based approaches minimise
this aspect, by only requiring tables of similarity scores, which can be determined
using statistical analysis. Alignment approaches are also uniquely tolerant to desynchronisations
between sensor streams. In the above comparison to SPM, the alignment
approaches win out, barely. Compared to a clustering or a probabilistic state machine
approach, the simpler pre-processing of the alignment approach is the deciding factor in
its favour.
This leads us to pursue an approach based on n-tuple sequence alignment.
46Alignment of Sequences of n-Tuples
Overview
This chapter presents our algorithmic contributions towards an answer to the routine
activity detection problem. First we introduce a model that presents context in a way
that an alignment algorithm can use. Next we cover our algorithmic contributions to
the alignment algorithms of the state of the art, and finally we discuss the implications
of our approach.
3.1 Context Model
Fundamentally, context data is the set of values of a number of context factors, at a
specific moment in time. Assuming there are n context factors, this is most accurately
reflected as a vector-valued function over time, of the type C(t) = (c1(t), c2(t), . . . , cn(t)).
Of course, a digital computer can impossibly treat continuous data of any kind, and a
digital sensor can never capture data in a continuous manner. Any context data therefore
is a discrete valued time series, unless different context factors are sampled at different
rates, in which case the data is in the form of multiple time series. We adhere closely to
this natural representation in the following.
3.1.1 Sequence of n-tuples
We postulated in the introduction that routine activities correspond to recurrent motives
in context data. The state of the art approaches to finding such motives favour the use of
a sequence based approach. Consequently, we adopt a model that represents context as
a sequence of context states. In specific, we structure context as a sequence of n-tuples.
471.1 0.3 0.2 0.8
0.7 0.2
0.4 0.5 0.3
0.4 0.6 0.4
0.6 0.5 0.5
0.8 0.3 0.2
0.5 0.6 0.2
C = C(t)
ℝ ℝn
t
discretisation
t
synchronisation
and classification
t
A1 A2
A3 A4
B1
A2
A3 A4
C1
B2
A3 A4
C1
B2
B3 A4
B1
B2 B3 B4
B1
A2 A3 B4
C1
B2
A3 B4
C = (c1
(t1
), c2
(t2
),…, cn
(tn
))
ℕn ℕ n
C = (c1
, c2
,…, cn)(t)
ℕ ℕ n
Figure 3.1.1.: The transformation of continuous context C(t) into context data in a sequential
model.
With regard to the natural time series representation, this requires that our context data
sources are synchronized and sampled at constant and equal intervals. Each position in a
tuple contains a (coarsely – e.g. at a semantically relevant level) discretised or classified
reading from one of n context data sources. These context data sources each measure
one context factor and are referred to as sensors in the following. Each tuple represents
context at a moment in time, which we assume to be valid over the constant interval of
time, until the next set of values becomes available.
In Fig. 3.1.1 the process of transformation from physical context into context data
and finally into a synchronized and coarsely discretised n-tuple representation is illustrated.
Discretisation (at the physical digital sensor level) transforms context from the
continuous function over time into a number of time series. This is then synchronised
into a single time series, and the values are replaced with abstract representative class
IDs, column by column. In the example, we excluded possible expansions or contractions
in the “width”, due to a single sensor measuring multiple physical properties, or data
from multiple sensor being used to determine a class based on multidimensional data.
This is merely to aid comprehension — in reality these characteristics may appear in
the process chain.
By choosing an n-tuple approach to alignment, over a 2D-approach, we can eliminate
a degree of freedom from the latter. The fact that each sensor has its own, separate set
of values, allows us to fuse the two in-tuple dimensions into a single one, by requiring
that any operation performed along one axis has to be equally performed along the
other. This enforced translational (across sequences) symmetry not only prevents us
from having to define similarity values for nonsensical configurations (e.g.: How similar
48x y
z w
z
C C
determine
local
similarities
fuse
dimensions
T∈ℕ4
3
Figure 3.1.2.: Linking w- and z-axes into a single dimension, due to translational symmetry
(i.e.: every set of discrete steps taken along the z-axis is replicated
identically in the w-axis).
is a bright light to an upside down mobile device?) but also reduces complexity of
the alignment algorithm. The specific consequences are discussed in subsection 3.2.1.
Fig. 3.1.2 shows how the four-dimensional alignment problem has been reduced to a
three-dimensional one, by linking the in-tuple dimensions.
3.1.2 Blocking and Sampling
Although it is generally possible to find pairs of similar subsequences by searching for
local alignments of a sequence with itself, the time and memory required to do so grow
by the square of the length of the sequence (cf. paragraph Local Alignment on page 35).
There exists a limit from which on it is no longer possible to calculate local alignments,
because no computer system has sufficient memory available to perform the computation.
We have identified two means of managing the issues that arise from an increased
volume of data:
❼ A first variable that we can control a priori is the sampling frequency of context
data. Depending on the granularity of context patterns we wish to identify, we
can reduce or increase the sampling frequency. This also reduces or increases the
sequence length, for a given time interval of context data.
49…
…
l
i
l
i+1
≠
corpus context C
Figure 3.1.3.: Splitting a long sequence of context data into blocks of roughly equal (but
not necessarily equal) lengths.
❼ Another way to address this problem is by splitting the sequence along regular
(time-)intervals into subsequences of n-tuples. It is often sensible to do this along
semantically relevant lines, for example by choosing 24 hour intervals or seven
day intervals. This is illustrated in Fig. 3.1.3 where a long sequence of context
data is divided into a set of subsequences with potentially different lengths. The
different lengths are artefacts of the data collection, and do not affect the alignment
calculation.
Memory constrained situations are defused by using this approach, as the accumulated
score tables for each pair of subsequences are much smaller. Fig. 3.1.4 shows how the
large table spanned between two long sequences a and b is reduced to many smaller tables,
when the long sequences are divided into blocks. The impact on total computation time
is negligible, due to high number of alignment operations that result, which also scales
to the square of the number of segments. On the other hand, it is trivial to parallelise
across pairs of blocks, which reduces the real duration (i.e. wall time) of performing an
alignment when more than one processor is available.
50Blocking into
N Blocks
Volume = N2 small volumes
a
b
Figure 3.1.4.: The reduction of the size of individual accumulated similarity score tables
which can be obtained by blocking. a and b are two sequences, with the
local similarity scores contained in the volume spanned between them.
Another advantage to blocking, lies in that fact that blocks are crucial for a sequence
mining approach. Conversely, a downside is that there is an accuracy penalty, even when
choosing “convenient” intervals (i.e. such that periods of interest are well away from the
beginning or end of a block). Notably, patterns that fall across these boundaries could
be represented as two separate alignments, or not at all, because each half might be
too short to meet an imposed similarity criterion. One possible means of addressing this
shortcoming, is to allow overlaps between adjacent blocks. This practice introduces some
overhead, when alignments that can be found in the overlap are “stitched together”.
3.1.3 Meta-data
As we pursue a local alignment-based approach, we need to be able to determine local
similarities of subsequences. A key requirement is that we define the relation between
each pair of discrete states of each sensor by means of a set of similarity scores. These
similarity scores are by nature positive, when describing the similarity of identical values,
and negative when describing the similarity of non-identical values. We chose to represent
these values in the form of n (one for each element of an n-tuple) symmetrical tables,
containing positive values in the main diagonal, and negative values elsewhere. A small
example is given in Fig. 3.1.5.
513 -1 -1 -2 -2
-1 3 -1 -2 -2
-1 -1 3 -2 -2
-2 -2 -2 5 1
-2 -2 -2 1 5
n
A B C D E
A
B
C
D
E
S
Figure 3.1.5.: A sample substitution similarity score table from the set of n tables.
We can imagine four ways, how such a set of meta-data can be obtained. The first two
are based on statistical analysis of an existing dataset: transition frequencies between
sensor states are a possible indicator to an underlying system, but the same can be
claimed of substitution probabilities between sensor states for hand-selected patterns. A
third approach is to base the values on the physical distances of the underlying classes.
In the case of two places, the distance of the shortest route between the two, or the time
required to cover that distance, could be such physical pointers. Finally, in absence of
such data, a simple model that does not assign different scores at all, except one positive
and one negative score to differentiate between same and different values can be used.
Each approach requires expert supervision, and of course it is also possible for an expert
to project his own view of the problem onto a manually crafted set of meta data that
does not directly reference any of the above approaches, or mixes them.
Besides these substitution scores, an alignment-oriented model also requires insertion
and deletion scores. Contrary to the affine (for length) and constant (for deleted/inserted
value) approach chosen in bioinformatics (cf. BLOSUM-type block transition score tables
by Henikoff and Henikoff [1992] and the work of Altschul and Erickson [1986]), we decide
to use scores which are a fixed offset of the substitution similarity score.
Our reasoning behind this choice is as follows: in context data it is common for context
sources to return a constant value, for a different length of time. Particularly, periods
of inactivity (with regard to the mobile device) show this characteristic. An example:
52constant
value
constant
value
locally
optimal
alignment
with negative
deletion score
desired
locally
optimal
alignment
aligns if insertion/deletion
of constant values has
positive similarity
Figure 3.1.6.: Two intervals of identical values but different lengths can be aligned by
assigning positive similarity score to insertions and deletions of identical
values.
a user sleeps for different lengths of time during two different nights in a week. Our
goal in this case is to align the entirety of both instances of “user sleeps”, instead of
just the closest matching sub-sequence of the longer interval. The score offset gives a
high similarity score for alignments of a subsequence of constant values with another
subsequence of identical values but different length, while also penalising non-identical
deletions and insertions over substitutions.
This concept is illustrated in Fig. 3.1.6, where two intervals of constant values but
different lengths are shown side by side, with two possible ways of defining similarity
being shown: To the right, the state-of-the-art approach of assigning negative scores to
all deletions and insertions, and to the left an example where the sum of deletion score
and substitution score of the two constant values is positive. This allows the inclusion
of the entire interval. In practice, a positive score would usually be undesirable, as
problems of scale might arise. Often it is sufficient to allow a similarity score to bridge
across such intervals without penalizing the accumulated score too much, as activities
following longer series of constant values are usually also similar, if the constant values
are part of the trace of a significant routine activity. In this case a lightly negative
score-sum is preferred.
533.1.4 Discussion
This model – and particularly the definition of a similarity measure – is specific to
alignment approaches. Data that is presented according to this model can be transformed
to conform to another model, as long as the granularity of the discretisation is not too
coarse, and the classification key which is used to map raw values to abstract context
values is available. Of specific interest to us, is the transformation to a model that is
compatible to a sequential pattern mining approach, because it would enable a direct
comparison. Such a conversion would require that the similarity tables are transformed
into a similarity hierarchy.
We consider the absence of semantic and physical information in data that conforms
to this model to be an advantage: it protects the privacy of the user whose data is
being treated. Despite it being possible to infer some semantic information (e.g. which
location IDs correspond to home and work) from a stream of data formatted according
to this model, there is very little risk of physical information (i.e. where the previously
mentioned places are located) to become compromised. This makes our model suitable
for data storage and processing on distributed systems, that are not necessarily under
direct control of the user, with little risk of a breach of privacy. This hypothesis is
reinforced by the evaluation of Voigtmann et al. [2012] of different context analysis
approaches and models.
The adaptation of raw data to our model requires some amount of intervention by
an expert, but automation is possible to a degree. The influence of this expert in the
creation of the model is pivotal. Assuming that an expert has derived a perfect context
model, we cannot guarantee that he can transform this model with perfect accuracy into
a set of meta-data. This limitation is due to the fact that similarity values are limited
in precision and difficult to scale across multiple sensors.
Anecdotally, in the field of biological sequence alignment, research showed that incorrectly
obtained substitution score tables (Styczynski et al. [2008]) can in fact increase
the accuracy of the used alignment algorithm. In this case an error in the statistical
determination of similarity values from a reference dataset was present. We therefore
theorise that our similar model would display similar resilience to slight inaccuracies
in the similarity value tables. We also have to emphasise that the parametrisation of
a model that performs exactly as expected is far from a well understood or intuitive
practice.
With this model in place, we examine in more detail our approach to process this data
for routine context.
541 2 .. n-1 n
A1 B2 An-1 Bn
B1 C2 An-1 Cn
C1 C2 Cn-1 An
A1 A2 Bn-1 An
A1 A2
…
Bn-1 Cn
C1 C2 Bn-1 Bn
C1 B2 Cn-1 Cn
B1 B2 An-1 Cn
B1 A2 Cn-1 Bn
A1 C2 Bn-1 An
1 2 .. n-1 n
C1 A2 Bn-1 An
C1 A2 Cn-1 An
A1 B2 Bn-1 Cn
A1 A2 Bn-1 Cn
A1 A2
…
Bn-1 Cn
C1 C2 An-1 Bn
B1 B2 An-1 Cn
C1 B2 An-1 An
C1 B2 An-1 Bn
C1 A2 An-1 Cn
alignment
Figure 3.2.1.: Two example context sequences, the resulting context data sequences and
an alignment (cells underlaid in grey) that corresponds to two similar
subsequences.
3.2 Alignment Algorithm
It is our declared goal to find patterns in context data. As we have laid out in our
survey of the state of the art (cf. section 2.4 on page 46), the search for local alignments
appears to be the most suitable approach to this task. Any such alignment (i.e. a pair
of similar subsequences of two sequences from a corpus of context data) corresponds to
two instances of similar activities or contexts. Fig. 3.2.1 reprises how context sequences
correspond to alignments. Two similar sequences of activities (being at home, working
at the hospital in the morning and the laboratory in the afternoon, before playing hockey
on one hand and the same activities in a different order on the other) result in two similar
sets of context data. A subset of this data attains a locally optimal similarity score and
is therefore considered to be in alignment. This alignment then serves as pointer for the
original similarity in the activities.
Fig. 3.2.2 illustrates how pairs of context sequences from a corpus (i.e. an established
set of subsequences of context data - cf. subsection 3.1.2 on page 49) are generally
aligned. This is the key operation to find frequently appearing similar subsequences in
55x y
z w
z
a b
determine local
similarities
Figure 3.2.2.: Alignment of two context sequences a and b from a corpus.
this corpus, which we then understand to be representatives of routine activities.
Before we continue, we briefly discuss the two key terms that we use so frequently in
this work: alignment and similarity. An alignment is defined as a result of an alignment
algorithm with a specific configuration. More generally, it is a subsequence and the associated
operations to transform it into another similar subsequence (cf. subsection 2.3.2
on page 25).
On the other hand, the – rather abstract – notion of similarity is less obvious. With
regard to sequences, we can define four key criteria of similarity: Substitution similarity
at the elemental level is the most atomic criterion. It stems from the pair-wise similarity
values defined beforehand (cf. subsection 3.1.3 on page 51). Another similarity criterion
is the density of positive substitution similarities. A high density means a high similarity
of a set of values. A third similarity criterion is size: at the same density, a larger
set of values can be considered to be more similar, than a smaller one. Finally, we
impose a synchronicity criterion. The less gaps need to be opened or filled in a pair of
subsequences, given the same size and density, the higher the similarity score for the
overall sequence.
In the following, we implement this notion of similarity with a recursively accumulated
similarity measure. Basically, we call a sequence “similar” to another, if the last row
and column of both sequences are similar, and the remaining sequence is also similar
56(cf. subsection 2.3.2 on page 25 and the next subsection for formal descriptions), while
using a standard one-dimensional similarity measure for rows and columns. This measure
allows us to describe a very precise notion of what similarity is. By parametrising
the context model appropriately, we can craft a measure that corresponds to specific
expectations. An expert – who defines a set of rules that effectively links certain kinds
of patterns in the data to routine activities – can therefore tune the parameters on a
case-by-case basis.
A similarity measure based on this concept lies at the heart of the work of Lecroq
et al. [2012] on aligning annotated dialogues to find similar structures. We extend and
adapt this approach for use on context data and our context model. Our modifications to
their algorithm, which primarily address significant performance issues that arise when
attempting to use their approach on long sequences of context data, are detailed in the
following.
3.2.1 Contribution I: Reduction to n-tuple Problem
Our first angle of approach lies in the elimination of unnecessary size of the table of
accumulated scores. In the original approach, this table spans four dimensions, to take
into account insertions and deletions in horizontal and vertical directions in the plane.
As our context model does not allow for any interaction between different elements of the
same tuple, we restrict permitted operations from the 2D approach (cf. subsection 3.1.1
on page 47 and Fig. 3.2.2 on the preceding page).
When determining the similarity of a pair of tuples we now only allow substitutions
between elements with identical indices. This brings our approach closer to a true ntuple
approach. As a consequence, insertion and deletion operations are restricted to the
sequence dimension, but are not limited to entire n-tuples at a time. This optimisation
reduces the local similarity score table T to three dimensions, and thereby each cell only
depends upon five “predecessor cells”. Each of these cells corresponds to a vertex in the
cube marked T in Fig. 3.2.7.
This step also simplifies and thereby optimises some ancillary calculations. It is often
required to calculate row and column similarity scores locally; for the row case, only
substitutions are of interest. The local column alignments also mean that the algorithm
retains full flexibility when working with data that has a tendency to de-synchronise, by
being able to “break up” tuples to form alignments.
As the calculation of the score table is naturally defined in a recursive manner, we
will first define ways of selecting individual tuple elements in a sequence with a reference
point in the bottom right. For the following, let s be a sequence of n-tuples of length l.
57Definition 1. s [i, j] , i < l ∈ N, j < n ∈ N is the element in the j-th position from the
end of the n-tuple in the i-th position from the rear (l-th row) of the sequence s.
In Fig. 3.2.3, we present three examples (one general, and two similar to the common
usage in the following) of how this inverted addressing of elements of a sequence works.
s 1 2 .. i .. n-1 n
1 C1 A2 Ai Bn-1 An
2 C1 A2 Bi Cn-1 An
3 A1 B2 Ci Bn-1 Cn
4 A1 A2 Ai Bn-1 Cn
…
…
…
…
…
…
…
j A1 A2
…
Ci
…
Bn-1 Cn …
…
…
…
…
…
…
l-4 C1 C2 Ai An-1 Bn
l-3 B1 B2 Ci An-1 Cn
l-2 C1 B2 Ai An-1 An
l-1 C1 B2 Ci An-1 Bn
l C1 A2 Ai An-1 Cn
s[n-i,l-j]
s[1,1]
s[0,1]
Figure 3.2.3.: Selection of tuple elements in a sequence using reverse addressing. The
origin of the coordinate system used here is in the lower right end of the
sequence. From there the first coordinate is incremented when moving one
element to left, and the second when moving one element upwards.
Next, we define a way to express the recursive reduction of the sequence:
Definition 2. The •i,,j operator represents the sub-sequence consisting of the original
sequence, minus the last i tuples and the last j tuple elements. If we understand s to be
an ordered set of coordinate-value pairs, this can be expressed as si,,j := s \ s [x, y] ∀x <
i ∨ y < j.
This operator is illustrated in Fig. 3.2.4, where both a general case is shown, and the
58usage that is most common in the following, with indices in the [0,1] range.
s 1 2 .. i .. n-1 n
1 C1 A2 Ai Bn-1 An
2 C1 A2 Bi Cn-1 An
3 A1 B2 Ci Bn-1 Cn
4 A1 A2 Ai Bn-1 Cn
…
…
…
…
…
…
…
j A1 A2
…
Ci
…
Bn-1 Cn …
…
…
…
…
…
…
l-4 C1 C2 Ai An-1 Bn
l-3 B1 B2 Ci An-1 Cn
l-2 C1 B2 Ai An-1 An
l-1 C1 B2 Ci An-1 Bn
l C1 A2 Ai An-1 Cn
sn-i,l-j
s1,1
Figure 3.2.4.: Example of the •i,,j operator. If the operator is used on the same sequence
of n-tuples, with one pair of indices being higher than the other, the smaller
result is a subset of the larger one. In this case the result underlaid in black
is a subset of the result underlaid in grey.
To calculate in-tuple and in-column similarity values, we define two operators:
Definition 3.
s [i, j]← := {s [i, j + 1] , s [i, j + 2] , . . . , s [i, n]}
is the right-to-left sequence of elements to the left of a position in a tuple, and
s [i, j]↑ := {s [i + 1, j] , s [i + 2, j] , . . . , s [l, j]}
is the bottom-to-top sequence of all prior elements in a column (i.e. all elements with
the same tuple index).
One example of each of these operations is illustrated in Fig. 3.2.5.
59s 1 2 .. i .. n-1 n
1 C1 A2 Ai Bn-1 An
2 C1 A2 Bi Cn-1 An
3 A1 B2 Ci Bn-1 Cn
4 A1 A2 Ai Bn-1 Cn
…
…
…
…
…
…
…
j A1 A2
…
Ci
…
Bn-1 Cn …
…
…
…
…
…
…
l-4 C1 C2 Ai An-1 Bn
l-3 B1 B2 Ci An-1 Cn
l-2 C1 B2 Ai An-1 An
l-1 C1 B2 Ci An-1 Bn
l C1 A2 Ai An-1 Cn
s[2,1]
s[1,0]
Figure 3.2.5.: Selection of a column and row using the ↑ and ← operators.
Lastly, we require a uni-dimensional similarity measure, to determine what used to be
row and column scores:
Definition 4. For two sequences x, y of single elements, sim(x, y) is the
❼ locally (i.e. before the similarity reaches a zero value) maximum similarity score
of the Smith-Waterman algorithm on the reversed column sequences, if x and y
are both sequences generated with the ↑ operator.
❼ maximum accumulated value of substitution similarity scores, if x and y are sequences
generated by the ← operator.
Fig. 3.2.6 shows an example to illustrate this, based on 4 steps: First a pair of columns is
extracted from a sequence of n-tuples, then reversely aligned, one with the other. Once
the similarity score reaches zero, the alignment is aborted, and the local maximum in
the aligned interval is the score returned by the sim operator.
60s 1 2 .. i .. n-1 n
1 C1 A2 Ai Bn-1 An
2 C1 A2 Bi Cn-1 An
3 A1 B2 Ci Bn-1 Cn
4 A1 A2 Ai Bn-1 Cn …
…
…
…
…
…
…
j A1 A2
…
Ci
…
Bn-1 Cn …
…
…
…
…
…
…
l-4 C1 C2 Ai An-1 Bn
l-3 B1 B2 Ci An-1 Cn
l-2 C1 B2 Ai An-1 An
l-1 C1 B2 Ci An-1 Bn
l C1 A2 Ai An-1 Cn
Bn-1
Cn-1
Bn-1
Bn-1
…
Bn-1 …
An-1
An-1
An-1
An-1
An-1
Cn-1
Bn-1
…
Bn-1
…
Bn-1
Cn-1
An-1
2 - align
3 - accumulated
similarity
reaches 0
1- extract
4 – sim is the maximum accumulated
similarity score in this interval
Figure 3.2.6.: Calculation of a column similarity score. Two columns are extracted from
two sequences, then aligned in inverse order, up to the point where the
similarity score reaches zero. The maximum similarity from this interval
is the similarity value we assign these two columns.
With these prerequisites in place, we can express the accumulated similarity score for
two subsequences a and b recursively as follows:
Definition 5. For two sequences of n-tuples a, b and the accumulated similarity score
is:
sim(a, b) =
max
0
sim(a1,1, b1,1) + sim(a [0, 0] ↑, b [0, 0] ↑) + sim(a [0, 1] ←, b [0, 1] ←) (I)
sim(a1,1, b1,1) + sim(a [1, 0] ↑, b [1, 0] ↑) + sim(a [0, 0] ←, b [0, 0] ←) (II)
sim(a0,1, b0,1) + sim(a [0, 0] ↑, b [0, 0] ↑) (III)
sim(a1,0, b1,0) + sim(a [0, 0] ←, b [0, 0] ←) (IV)
sim(a0,0, b1,0) + indel(b[0, 0]) + sim(a[0, 0] ←, b[1, 0] ←) (V)
sim(a1,0, b0,0) + indel(b[0, 0]) + sim(a[1, 0] ←, b[0, 0] ←) (VI)
(3.2.1)
The similarity score sim(a, b) is 0, if a = ∅ ∨ b = ∅.
61In the domain of the accumulated local similarity score table T, each cell contains
the similarity values of the subsequences (of sub-tuples) defined by the coordinates (cf.
subsection 2.3.2). The iterative algorithm of determining each value in T is started by
initialising the first plane in each dimension of the table with zeroes, to satisfy the end
condition of the recursive definition of the similarity scoring function. The other cells
are calculated as illustrated in Fig. 3.2.7: Each arrow (labelled I-VI) corresponds to an
operation in equation 3.2.1, excluding the column and row similarities. These are the
operations that are performed in each case, before choosing the maximum value amongst
them:
(I) Substitution and movement to the left (column-row-order): The space diagonal
predecessor value is added to the column similarity of the predecessor and the row
similarity of the current rows.
(II) Substitution and movement to the left (row-column-order): The space diagonal
predecessor value is added to the column similarity of the current columns and the
row similarity of the predecessor.
(III) Movement to the left: The z-axis predecessor value is added to the column similarity
of the current columns.
(IV) Substitution: The x-y-diagonal predecessor value is added to the row similarity of
the current rows.
(V) Insertion: The y-axis predecessor value is added to the row similarity of the current
row and preceding row.
(VI) Deletion: The x-axis predecessor value is added to the row similarity of the preceding
row and current row.
The dynamic programming paradigm of the approach is therefore maintained, despite
our recursive definition of local similarity.
62a b
z z
z
x y
x
y
i-1 plane
j-1 plane
k-1 plane
i,j,k
i,k j,k
I,II
III
IV
V
VI
i lies on the x-axis
j lies on the y-axis
k lies on the z-axis
T
Figure 3.2.7.: The local dependencies of the calculation of a local similarity value. To
the left in the three-dimensional table of accumulated similarity scores T
and to the right the equivalent representation in the domain of the two
sequences a and b. Operations V and VI – insertion and deletion – are
one-dimensional operations and therefore appear only either in a or on b.
3.2.2 Contribution II: Locally Optimal Alignments
The state-of-the-art approach selects every position in the accumulated score table where
the score is above a minimum similarity threshold as a candidate for a backtrack (BT)
– and by extension as an alignment. This leads to a large number of alignments being
calculated, especially if high-scoring alignments (i.e. large alignments with a high
similarity density) are present in the data.
In such a high-scoring alignment, the minimal score is reached long before the end of
the alignment. Each cell with a similarity score above this minimum generates a new BT
and eventually the corresponding alignment, none of which are in any way meaningful.
Alignments can branch in three (four, in the original algorithm) dimensions, which results
in a very large number of BTs, as large volumes of cells containing high similarity values
exist in the 3D scoring table. Whereas an individual BT operation is not extremely costly
from a computational point of view, this high number of BTs effectively – and severely –
limits either the usable problem size or the usable minimal accumulated similarity score
(MASS).
63Figure 3.2.8.: The rightmost (n-th) z-slice of a table T. The axes of the plane correspond to the temporal axes of the sequences.
line denotes the plane of an arbitrarily chosen MASS. The highest value is denoted by an X.
The height and colour are representations of the accumulated similarity value in the cell in T. The white profile
64In Fig. 3.2.8, we look at an extract of the n-th slice of the table T, where typically
accumulated scores are highest compared to other z-slices. Any point above the reference
plane at MASS-level is a potential candidate for a BT. This volume is visibly of
considerable size.
To alleviate this problem, we retain only the most meaningful alignments. The inspiration
for this choice can be found in bioinformatics, where the algorithm of Smith
and Waterman [1981] is often used to identify only the optimum local alignment (Myers
and Miller [1988]). This goes so far, that many evolutionary optimisations have focused
exclusively on this problem. In fact, in Lecroq et al. [2012], reference is also made to a
maximal element for the BT, but also in a global sense. Although this approach is too
radical for our problem, we still perform a similar optimisation, but on a local scale.
We calculate BTs exclusively from the locally highest accumulated scores– as opposed
to from every score higher than the MASS. This corresponds to the peak in Fig. 3.2.8.
A simple check whether any one of the 26 adjacent values is higher than the value in
the current position determines if the current position in the accumulated score table is
retained as a candidate for a BT. The number 26 stems from the fact that each cell has
six directly neighbouring cells (one per surface of a cube), as well as three times four
in-plane diagonal neighbours (one per vertex) and eight “node diagonal” neighbours (one
per node), in the 3D table.
Although this introduces a large number of branches into the execution, it reduces the
number of candidates (and therefore of expensive BTs) drastically. All of the removed
backtracks are in essence redundant: The higher scoring alignment includes all elements
a smaller alignment would include, and a larger alignment with a lower score would have
an overall lower similarity, and therefore the added elements are not similar. We restrict
ourselves to a maximum search radius of 1 (√
2 for in-plane diagonals and √
3 for space
diagonals). Fig. 3.2.9 visualises how we obtain the number of 26 neighbours, and what
these distances mean in the 3D geometry of the accumulated score table.
Though there is a benefit to extending the search radius, in that “double peaks”
would no longer lead to twin alignments of largely similar nature, the added cost of
extending the search radius would quadratically (surface of a sphere) increase the number
of branches, and the additional reduction in candidates would be comparatively small.
On the other hand, the number 26 is also the minimal number of checks required for
this approach to be functional, as otherwise for large accumulated similarity values there
would always be greater-than-MASS values in one of the adjacent positions.
For an illustration of the scale of this issue, Fig. 3.2.10 shows an example similarity
score table. It shows that selecting a small MASS is necessary to detect smaller similar
653
3=27 cubes
26 neighbours to
central cube
l = 1 l
2 = 2
l
2 = 3
Figure 3.2.9.: The local neighbourhood of a node (in the centre of the shown cube) in
the accumulated score table T. The shown cube consists of 27 sub cubes,
the one at the centre being the “home node”. The other 26 surrounding
it, are the direct neighbours. A partial spatial subdivision is shown in the
lower left corner to illustrate the notion of “radius”.
structures (values above 1500 in this case are of significant interest), but large similar
structures generate huge amounts of potential candidates at this smaller value. We
reduce the volume of BTs from the volume around each of the peaks to just the number
of peaks themselves. The side-by-side representation of the third dimension obscures
somewhat that the 5 surfaces in the figure actually form a volume, but each point in a
surface is neighbouring to the point in the same coordinates in a neighbouring surface,
and they are all considered for the selection of final candidates for a BT.
3.3 Discussion
Reducing the degrees of freedom from the two-dimensional approach leads to a lowered
complexity. Where originally the accumulated score table required O(lmn2
) (where l
and m are the sequence lengths, n the number of elements in a tuple) space (and time
to calculate), this has now been reduced to O(lmn), without any reduction in relevant
capability. This means that we can now work with sequences that are n-times longer
than previously, within the same system constraints.
The two-dimensional basis for the algorithm means that the order of columns still has
66Figure 3.2.10.: Accumulated similarity score table for the alignment operations of the
context data corresponding to two consecutive days. Each graph represents
one of the five slices (n = 5) of the z-axis, starting at one at the top,
incrementing to five at the bottom right. Height and colour correspond
to local similarity values. The x - y plane is spanned by the temporal
axes of the sequences. Note multiple peaks at different heights.
67an impact on the accumulated similarity scores. A notion of single-step cursor movement
is still present in our approach (cf. equation 3.2.1), and thus accumulated scores depend
only and directly on the scores of the left tuple neighbour and the accumulated similarity
score of the sequences to the left of the elements under consideration.
Reducing the number of BT candidates by local optimization can drastically increase
performance, especially when the MASS is a small fraction of maximum accumulated
similarity scores. If the neighbourhood of every peak consists of 5 cells in each direction
of each of the three dimensions where the score is above MASS, this reduces the number
of BTs by a factor of around 1000.
The average worst case (i.e. in an infinitely large table where cells with values higher
than MASS are surrounded by exactly one layer of cells with value 0) improvement is
by a factor of 7. This optimisation does remove some granularity, as possibly semantically
atomic routine elements can be included within larger scale alignments, and thus
disappear from view. On the other hand, they would be lost in the noise of meaningless
alignments, if the classic approach were to be retained. A way to recover such smaller
scale patterns, could be by iteratively locally aligning intervals of interest, with ever
decreasing MASS.
Beyond this theoretical evaluation, we also performed an experimental validation.
There we address whether the alignment approach is valid for context data, as opposed
to just general sequential data.
68Experimental Validation and Results
Overview
This part is dedicated to the evaluation of the alignment-based approach on both automatically
annotated synthetic data and manually annotated real-world data. Before
getting to the actual evaluation, we first examine the provenance of our test data. Consequently,
we detail the synthetic data generation procedure. Additionally, we present
the real world data collection campaign and the pre-treatment process required by our
context data model. The evaluation of the algorithm on synthetic data is detailed in the
following section, and the evaluation on real world data in the subsequent one.
4.1 Synthetic Data Evaluation
Testing on “real” data is crucial to being able to judge the “in the wild”-performance
of an algorithm, but there are several limitations when solely relying on it. The manual
annotation of ground truth is often labour intensive and error-prone. This limits the
scope of possible evaluation. Conversely, an evaluation on synthetic data allows us to
complement the results we can obtain from real world data, particularly by giving better
control over the results and a wider variety of testing conditions.
4.1.1 Synthetic Data Generator and Dataset
In the following, we introduce a model and an algorithm that simulates parallel data
from multiple sources containing cross-source repetitive patterns. Due to the many
parameters that can be set, and the multiple random influences, the overall model for
the generator is complex. For this reason, the description is split in five sub-sections,
69of which the first lays out the requirements and design choices, the second some key
definitions and terms used in the context of the description of the generation model
and algorithm; the third and fourth sub-section detail each of the major sub-routines of
generating data. An illustratory example is used throughout this subsection.
4.1.1.1 Data Generation Context Model
It is our goal to give the experimenter the greatest possible freedom with regard to
the characteristics of the generated data. Some general expectations of what makes up
context data guide us in the design of our generator. The basic structure of context is
a sequence of n-tuples, when n context data sources are present. Within this sequence,
we encounter two different states of context. Either the current context is part of a set
of routine contexts, or it is not. A routine context influences a specific subset of context
measurements, reproducibly each time it is present in the data. Per sensor, different
amounts of data may be relevant to a pattern.
How much influence a routine context has on the context data is determined by how
much variation there is between different instances of the context. This variation can be
expressed as a random process. This random process modifies values between different
instances of routine context, or leads to desynchronisation effects when elements are
skipped or extended. It is inherent to each routine context. Furthermore, non-routine
contexts may also lead to desynchronisation of following routine contexts, due to the
global continuity of context. A separate random process determines these effects, and
the amount of value modifications in the non-routine data, if a baseline has been defined.
A model of probabilistic distances determines how likely it is for a certain value to be
modified to another one, or to be extended or skipped.
The order of appearance of the routine contexts is usually regular as well, but can also
vary under random influences. A real world example could be a person oversleeping,
and skipping an entire morning activity, on their way to work. These varying orders can
also be modelled by a random process.
Finally, different context sources may have interactions. As an example, location
and radio signal strength are often correlated. Such correlations need to be taken into
account when evaluating the random process which determines the ultimate values of a
context. and may also be interesting when defining a set of routine contexts.
70data 1
pattern
time
pattern
cell
data 2
data 3
data 4
stream
Figure 4.1.1.: Stream, pattern and cell for a simulated 4-tuple dataset. The stream
consists of patterns (coloured) and random data (light grey). Each pattern
consists of defined values (blue) and undefined values (white).
4.1.1.2 Definitions
The model used during the generation process consists of two key structures: the stream
is a concept which represents data from multiple independent sensors evolving over
time. In terms of the context model, it represents the sequence of n-tuples of sensordata.
Patterns are two-dimensional arrangements of data symbols in a rectangular grid
(cf. the example in Fig. 4.1.1). The stream is created by alternating intervals of n-tuples
of random data and randomly modified instances of these patterns. The output of the
data is a direct representation of the stream.
The atomic unit of data – the individual grid element – is called a cell. Each cell is
specific to a moment in time (horizontal) and a data source (vertical). Data sources in
this context are discrete random variables, with a limited set of states (“alphabet”), each
element of which is a symbol. The number of different attainable symbols - the cardinality
of the alphabet - is called the spectrum of a data source (cf. Fig. 4.1.2). The real-world
counter part to these data sources are filtered sensors producing discrete measurement
values. Each cell of a pattern contains either a symbol from the corresponding alphabet
or is a place holder asterisk “*” value indicating an entry that is not defined by the
pattern.
71Figure 4.1.2.: Four alphabets A1, A2, A3, A4 with respective spectra 5, 6, 4 and 2. N.B.:
Different symbols across different sensors (e.g. “A”, “1”, “a”, “0”) are
used here for illustration purposes only, symbols are actually represented
by their indices (i.e. as in A2).
Random effects – termed noise in the following – are a key factor in the generation of
patterns and the stream. This noise is based on random variables, which are sampled,
and the resulting values then transformed into length variations or symbol substitutions.
All random variables that are used to generate noise are considered to be normally distributed
(except in the limit-case of infinite variance, which is transformed into uniform
distribution over an interval).
The effect of noise is derived from user defined transition cost matrices (one for each
alphabet) with the number of rows and columns equal to the size of the alphabet, and
correlation matrices (one for each pattern, and one for non-pattern intervals).
The transition cost matrices contain the cost of substitution between symbols. The
costs of transitions for the following special symbols
* place holder for empty cells in patterns;
del delete a cell from the stream;
ins add an additional value to the stream.
make up a further four vectors:
1. A vector containing the cost of conversion of any symbol to the * value;
2. A vector containing the cost of conversion from * to an alphabet value;
723. A vector associated to ins, which contains the cost of converting any alphabet
value or * to an insertion;
4. A vector associated to del, which contains the cost of converting any alphabet
value or * to a deletion.
These symbols form a global (i.e. across all data sources) alphabet of control-characters
Ag = {*, del, ins}. Of these, * can appear in patterns (hence there being both a “to”
and “from” vector of transition costs), but none of these symbols appears in the stream.
The operations linked to these symbols represent two different kind of noise effects:
Temporal noise (del and ins) causes relative shifts in the time domain of data sources
by inserting or deleting values, as well as local extension or compression of periods of
data. Data noise (values replacing *) introduces random values in predefined areas,
which corresponds to variable parts of otherwise fixed patterns and permits us to use
rectangular patterns with little loss of generality.
The correlation matrices are lower triangular matrices with one line and column for
each data source. Each line corresponds to the relative weights given to the calculation of
a value by other values in the previous rows. A positive correlation value means that the
influence of the random values used to determine the content of the respective cell have a
quasi-linear effect on the determination of the current value. A negative correlation value
conversely has an inverse quasi-linear effects. Zero values mark independent data sources.
In this context “quasi-linearity” is an artificial effect to transform multi-dimensional
random values from one space to another. This may not hold up to a comparison to
real world data, but provides a reasonably simple model which avoids having to define
correlations per pattern and per symbol individually.
The following naming conventions are used henceforth: Z>0 = {1, 2, 3, . . .} the natural
numbers excluding zero and R≥0 =
S
x∈R,x≥0
{x} all non-negative real values. The
notation xi,h,k represents the element in the h-th line of the k-th column of a matrix (or
table) Xi
.
Let n ∈ Z>0 be the number of data sources, m ∈ Z>0 be the number of patterns,
Ai = {x ∈ Z>0|x ≤ si},(1 ≤ i ≤ n) be the (abstracted) alphabet of the i-th data source
and lj ∈ Z>0 be the length of the j-th pattern Xj ∈ P ⊂
Sm
j=1×
n
i=1(Ai ∪ {∗})
lj of the
indexed set of patterns (cf. Fig 4.1.3 for a complete set of patterns, with empty cells,
a sample elements and corresponding dimensions.). Let ~s ∈ N
n
>0 with components si
be the spectra-vector where ∀1≤i≤n : si = |Ai
|, with | · | being the cardinality and let
lstream ∈ Z>0 be the number of total grid columns of the stream.
In the following, x, y ∈ Ai ∪ Ag,(1 ≤ i ≤ n) stand for symbols.
73X1
X2
X3
Xm -1
Xm
n
lm
l1
lm-1
empty cell
cell
element
x
Figure 4.1.3.: A set of patterns, P = {X1, . . . , Xm}, with n data sources and lengths
l1, . . . , lm, and a pattern element x = Xm,n,1 ∈ An.
N (ση), η ∈ {o, p, q, r, u} are Gaussian distributions with variance σ
2
η
serving as sources
of random values for
o value variety of noise intervals between two instances of patterns in the stream,
random variable o;
p noise applied to pattern-defined values during the instantiation of patterns in
the stream, random variable p;
q variations in length – unless lengths are predefined for each pattern – and
values between two different patterns, random variable q;
r variations of the interval length between two instances of the same pattern in
the stream, random variable r;
u variations of the length of noise intervals in the stream, random variable u.
The transition cost matrices are Ti = [ti,h,k],(1 ≤ i ≤ n) ∈ R
si×si
≥0
and form the set
T := Sn
i=1,
{Ti}. The entries ti,h,k are the positive real-valued costs of transforming the
74h-th symbol of Ai
into the k-th symbol. The costs of transition relative to the elements
of Ag are the pattern insertion and deletion cost vectors ~bi
, ~ci ∈ R
si
for the transitions
from and to *, and the stream insertion and deletion cost vectors ~di
, ~ei ∈ R
(si+1) for
transitions to del and ins.
Transition cost tables are related to the substitution score tables of the algorithms used
to align pattern instances. In the alignment algorithm, they indicate similarity based on
the way the model is configured. In this generator, they define the probability of random
transformations of symbols. An important feature of transition cost tables is that they
do not necessarily need to be symmetric, even though a naive approach considering the
value spaces as Euclidean spaces with distances would indicate this. Yet, when using
probabilities of transition in example data as basis for the cost of state-transitions, the
assumption of symmetry is rendered invalid, as the resulting graph of transitions is not
necessarily symmetric. For the values in the table to have the expected effect, they need
to be scaled in consideration of the variances of p and q.
A gappiness vector ~g ∈ R
n
≥0
, with ∀
n
i=1~gi ≤ 1 contains the ratio of pattern entries to
empty cells for each data source, and simulates effects of limited data source availability
and information significance and density.
Let lower triangular matrices ξi ∈ R
n×n
, i = {1, .., m} be the correlation matrices
for patterns Xi and let ξ0 be the correlation matrix for non-patterned values. These
matrices are lower triangular, as each new value can only ever be correlated to values
that have already been generated. The entries are normalized so that each row-sum is
equal to one.
Let ~w ∈ Z
m
>0 be a representation of the frequency of pattern apparition in the stream.
Each value corresponds roughly to the relative period of apparition of a pattern in the
stream. Finally, let lnoise ∈ R be the average length and let ¯lnoise ∈ Z>0 be the maximum
length of a non-pattern-interval in the stream.
For our running example, let n = 4, m = 3, ~s> = (5, 6, 4, 2) and ~l
> = (10, 6, 7). Let
the corresponding gappiness vector be ~g = (0.1, 0.1, 0.3, 0.3), and let the first of four
transition tables be
T1 =
0 7 5 4 8
7 0 2 5 3
5 2 0 1 2
4 5 1 0 3
8 3 2 3 0
∈ T .
75Furthermore, let
~b1 =
3
9
5
9
2
, ~c1 =
4
8
3
4
9
,
~d1 =
5
2
3
9
7
4
, ~e1 =
5
2
4
7
6
6
and the correlation matrices
ξ0 = ξ1 =
1 0 0 0
0 1 0 0
1 0 0 0
0.5 0 0 0.5
.
Finally, let ~w
> = (45,30, 50), lnoise = 4.8 and ¯lnoise = 15.
We use these values to demonstrate how to generate pattern values and pattern instances
in the stream.
4.1.1.3 Pattern Generation
The first step R1 of the algorithm is to generate m different patterns according to the
parameters given:
X1 = R1(n, l1, ~s, T , ξ1, ~g)
Xj = R1(n, lj , ~s, X1, σq, T , ξj ), j = 2, . . . , m
A reference pattern X1 is generated first, consisting of randomly selected entries based
on vectors ~γl ∈ ×i 1 are then modified to reflect the
correlations dictated by ξ1:
ψ
0
i,l := X
i
k=1
ξ1,i,k
si + 1
sk + 1
d
l(sk+1)
si+1
X
e
j=b
(l−1)(sk+1)
si+1 c+1
ψ~
k,jωi,j,k (4.1.1)
where
ωi,j,k :=
j −
(l−1)(sk+1)
si+1 if j < (l−1)(sk+1)
si+1 + 1 ∧ sk > si
l(sk+1)
si+1 − j + 1 if j > l(sk+1)
si+1 ∧ sk > si
1 if (l−1)(sk+1)
si+1 + 1 ≤ j ≤
l(sk+1)
si+1
l(sk+1)
si+1 − j + 1 if j > (l−1)(sk+1)
si+1 + 1 ∧ sk < si
j −
(l−1)(sk+1)
si+1 if j < l(sk+1)
si+1 ∧ sk < si
sk+1
si+1 if l(sk+1)
si+1 ≤ j ≤
(l−1)(sk+1)
si+1 + 1
which corresponds to a constant resampling, linearising across vector dimensions by
treating them as intervals. An example is given in Fig. 4.1.4. The values on each arrow
correspond to the scaled value that is used to determine the value at the end of the
arrow. In the left case, the values in the left vector are scaled up (by 5/3) and in the
right case, the values are scaled down (by 3/5). Then, these scaled values are spread
according to the coverage they have on the corresponding parts of the vector. In the
case of the middle value (2 - marked with red dashed line) in the left example, this is
1/5 for the second value of the right vector, 1 for the third value, and 1/5 for the fourth
value. Scaling is applied accordingly, hence (2 · 5/3 · 1/5) = 2/3 is the influence on the
top value of the three values that are marked in the right vector.
Let x = x1,i,l be the value of the i-th row and l-th column of X1 and the k-th element
of Ai
. Let vx ∈ R
si+1 be a vector whose components are the l-th of Ti and the l-th
element of ~c:
vx :=
ti,1,k
ti,2,k
.
.
.
ti,si,k
ci,k
78s+1=3 s+1=5 s+1=5 s+1=3
1
2
3
1
4/3
2
8/3
3
1
2
3
4
5
1.4
3
4.6
0.6
0.8
0.4
1.8
0.8
1.6
3.0
1
2/3
2/3
2
2/3
2
3
Figure 4.1.4.: Illustration of dependence coefficient determination during creation of similar
patterns. The right vectors are created from the values of the left
vectors, through linear interpolation and scaling.
or, in the case of x = *:
v* :=
b1
b2
.
.
.
bk
0
The index y of the minimal component of |vx − ψ~0
i
|,
y = min
]
|vx − ψ~0
i
|
(here | · | is the component-wise absolute value) is the value that takes the place of x in
Xj , unless y = si+1 in which case * is inserted into the pattern at this position. This is
repeated for all n × lj entries of the pattern.
Furthermore, the length lj of the j-th pattern – if not specifically set to a certain value
beforehand – is calculated by obtaining a random real value ∆lj from N (σq), adding it
to l1 and rounding to the closest integer:
79lj :=
b∆lj + l1 + 0.5c ∆lj + l1 > 0
0 ∆lj + l1 = 0
d∆lj + l1 − 0.5e ∆lj + l1 < 0
Addition or removal of elements is done column-wise: for every column, a random check
is performed against |∆lj |
max(lj ,l1)
(until the lj -th column is reached) to determine whether
the current column of X1 is skipped or a column of equally distributed randomly selected
symbols inserted.
To compute x2,1,1 of the pattern X2 ∈ Z
4×6
>0
of our running example, given σ
2
q = 2 as
the variance of the distribution of q, we first determine whether the first line is skipped
to make up for the difference in length to X1. This is done by obtaining a random
value from the interval [0, 1] and testing whether it is smaller than 10−7
max(10,7) = 0.3.
We assume – for the sake of this example – that this is not the case, and instead
x2,1,1 is derived from x1,1,1. We obtain a vector ψ~
1 ∈ R
6 by repeatedly sampling q:
ψ
>
1 = (0.1, 0.5, −1.6, 1.1, −0.8, 0.3). Then
x2,1,1 = min
]
|vx1,1,1 − ψ~0
1
| = min
]
|v2 − ψ~
1|
= min
]
t1,1,2
t1,2,2
t1,3,2
t1,4,2
t1,5,2
c1,2
− ψ~
1
= min
]
7 − 0.1
0 − 0.5
2 + 1.6
5 − 1.6
3 + 0.8
8 − 0.3
= 2
The values x2,k,l,(k > 1), are calculated by taking into account the correlation matrix.
Let ψ~>
4 = (−1.5, 0.8, −0.3). We determine ψ~0
4 using equation 4.1.1, and the resampling
of ψ~
1 shown in Figure 4.1.4:
ψ~0
4 = 0.5
0.3
−0.25
−0.5
+ . . . + 0.5
−1.5
0.8
−0.3
=
−0.6
0.275
−0.4
This allows us to calculate
x2,4,1 = | min
]
ψ~0
4 − vx1,4,1
|
as above.
80These steps are repeated until m patterns have been created. These patterns are then
integrated into the stream.
4.1.1.4 Stream Generation
Streams are generated by interposing modified instances of patterns with blocks of random
values. The generation of streams can be considered as a relation
R2(n, T , P, σp, σo, σr, σu, ~w, lnoise,
¯lnoise, ξ0) :
Z>0 × R
n×si×si ×
[m
j=1
n
×
i=1
(A
lj
i ∪ {∗}) × R
n
≥0 × R
n
≥0 × R≥0 × R≥0 × Z
m
>0 × R × Z>0
→
n
×
i=1
(Zsi+1 \ {0})
lstream
This is a projection of the configuration space (dimensions, transition model, patterns,
randomness, correlations) into a stream. There are three main tasks to consider:
Scheduling Each pattern has a predefined frequency of instantiation, which can be understood
as an m-vector ~w ∈ R
m. σp determines how much the appearance intervals
vary.
Noise Noise duration and variety are defined by lnoise,
¯lnoise, σu and σo.
Modifications The variance between instances of the same pattern is defined by σr ∈ R
n
.
Scheduling is managed in the following way:
1. During the first run, ~w
0 = ~w is created in order to track changes to ~w without
losing the original information.
2. The pattern Xmin]( ~w0)
is selected and inserted into the stream, where min]( ~w
0
) is
the index of the minimal component of ~w
0
:
min
]
( ~w
0
) = i|∀| ~w0
|
j=1 : w
0
i ≤ w
0
j
.
If multiple components share the same smallest value, the value of min]
is picked
at random from the corresponding indices.
3. The vector ~w
0
is updated by adding ~wmin]( ~w0) + r to the component pertaining to
Xmin]( ~w0)
: w
0
min]( ~w0) = w
0
min]( ~w0) + wmin]( ~w0) + r
81Algorithm 4.1 Scheduling pattern instances
input : The scheduling vector ~w ∈ R
m
output: A scheduled stream
~w
0 ← ~w;
l ← 0;
while l < lstream do
jins ← min]( ~w
0
) = i|∀| ~w0
|
j=1 : w
0
i ≤ w
0
j
;
append pattern Xjins to stream;
increment l by the length of Xjins ;
w
0
jins ← w
0
jins
+ wjins + r; // update minimal value in ~w
0
for j ← 1 to m do // update other values in ~w
0
if j 6= jins then
w
0
j ← w
0
j −
wjins
m−1
end
end
append noise interval of length min((lnoise + u),
¯lnoise) to stream;
l ← l + min((lnoise + u),
¯lnoise)
end
4. ∀j=1,...,m,j6=min]( ~w0)
: w
0
j = w
0
j −
wmin]
( ~w0)
m−1
, which avoids under- and overflows due to
incrementation and decrementation, as the decrement of each step is equal to its
increment, and E(r) = 0.
5. A noise interval of the length of min((lnoise + u),
¯lnoise) is injected into the stream,
containing random values that adhere to the dependencies defined by ξ0.
This is also formulated in pseudocode in algorithm 4.1.
Within the frame of our example, this has the following effects: First, an interval of
noise of length 5 is appended to the stream based on the assumption that the average
value of 4.8 is not significantly impacted by the random effects of u. Then, pattern X2
is appended to the stream, as the smallest value in ~w
> (30), is in the second position.
~w
0
is then updated as follows:
~w
0 =
w
0
1 −
w2
2
w
0
2 + w2 + r
w
0
3 −
w2
3
=
45 − 15
30 + 30 + r
50 − 15
=
30
60 + r
35
The contents of a noise interval cell are generated by determining the index of the
smallest component of the distance ∆o,i = |φi − vˆ0|, where φi ∈ R
si+2 is a set of vectors
of subsequent results of the event at the base of o, modified according to the method
82proposed in equation 4.1.1 (replacing ξ1 with ξ0 and adjusting sizes) and ˆv0 ∈ R
si+2 is
~b appended by the last entries of ~d and ~e respectively:
vˆ0 =
b1
b2
.
.
.
bsi
dsi+1
esi+1
Thus, the symbol added to the stream is:
y = min]
|φ − vˆ0|
In the case of y = si + 2, the control value ins is generated: a new φ is randomly
obtained, ∆o,i re-evaluated, and a new value is inserted after the current position using
this very same algorithm. If the minimum index obtained is si + 1, a del control value
is generated and no value is written into the i-th row of the stream during this iteration.
For all other indices, the resulting index corresponds directly to the symbol of the
corresponding alphabet to be written into the stream. Once this is done, the algorithm
continues, by performing the same actions on the symbol in the cell to the right, for all
columns that are to be generated.
The modifications applied to instances of patterns in the stream are calculated in
the same way for non-defined cells. For cells of patterns containing symbols, the above
algorithm is adapted by calculating min] ∆p,i = min]
|ρ − vˆx|, with ρ ∈ R
si+2 a vector
of random values obtained by sampling p (si + 2)-times, and x being the value in the
pattern cell and hence ˆvx being the x-th column of Ti appended by the x-th elements of
~d and ~e:
vˆx :=
ti,1,x
ti,2,x
.
.
.
ti,si,x
dx
ex
In Figure 4.1.5, we show how the element x2,1,1 = 2 is instantiated into the stream,
modified by noise to become the sensor value 4.
83pattern element x = 2 є A1 1 2 3 4
5 ins del
*
3
9
5
9
2
5
5
1
0
7
5
4
8
2
2
2
7
0
2
5
3
3
4
3
5
2
0
1
2
9
7
4
4
5
1
0
3
7
6
5
8
3
2
3
0
4
6
4335207
1-204-423
35316-24
output symbol y = 4
T1
0
zero mean
noise
Gaussian
d
e
b
Figure 4.1.5.: Noise is applied to symbol x from alphabet A1 using transition cost matrix T1 and transition cost vectors
b
~
1, d
~
1, ~e1. The resulting value is y = 4. This example uses integer values for easier reading and comprehension,
in general the random values are real values. The process starts with value x2,1,1 = 2 from pattern X2, extracts
the corresponding row from T1 and selects the smallest absolute value in the sum of the extracted row and a
random vector, to determine the index of the element to replace x.
84I D
D I
I
I
I I D I
time
Figure 4.1.6.: Extract of a possible resulting stream with n = 4 and m = 3 different
patterns (blue, yellow and green) and noise (red). I and D indicate cells
in which insertions or deletions have happened. y is the symbol that has
been generated in Fig. 4.1.5.
This process (schedule - noise - pattern) is repeated until the sum over all noiseinterval-lengths
and pattern-instance-lengths is equal or larger than lstream. A schematic
example of a resulting stream is given in Fig. 4.1.6.
With regard to our initially targeted model, this allows us to control most variables
precisely. We can generate data that locally or progressively desynchronises, data that
has controlled amounts of noisy variation and in any size or shape desirable. To help
this latter fact, we also permit the handcrafting and loading of pre-defined patterns.
We currently identify the following weaknesses to our approach: we limit ourselves to
normally distributed noise for all random aspects of the generation process. We consider
this as a safe default choice, especially to model sensor measurement noise, but it may
not be an accurate model for variations caused by human actions. In the absence of a
better model for this kind of variation, we restricted ourself to Gaussian distributions.
Our correlation algorithm between two data sources with different numbers of symbols
is not correct, in the sense that we linearise across dimensions which have no actual linear
relationship. On the other hand, we see this as the only way to implement correlation.
Due to the difficult nature of this feature, we do not use it for the generation of our
data, based on the assumption that strongly correlated data is unified to a single sensor
reading in real world context data.
85A final problematic issue is that of our multidimensional noise issue, which makes the
link between a chosen variance value and the actual effect on value transitions rather
unintuitive. Although a probability interval based approach may have had more predictable
results, it would be more complex to integrate with the notion of data source
correlation, and would require a rather complex calculation of interval limits for each of
the possible transitions.
Taking into account these limitations, we feel nonetheless confident that it allows us
to generate a number of well understood datasets. The ability to retain the information
of which pattern is instantiated in which cells of the output stream allows us to evaluate
our alignment algorithm against this ground truth.
4.1.1.5 Dataset Generation
For the evaluation procedure, we generate 135 datasets, which can be characterised
by five different scenarios, each of which has 27 different variations by adjusting three
variables. Each scenario serves to link a configuration of the data generator, to a specific
type of behaviour of a simulated human exhibiting a certain way of life. These five
scenarios are:
1. A scenario without random influences, outside the order of pattern instantiation.
This corresponds to a human who reproduces the exact same set of context data
every time a certain activity is performed, and always performs activities that are
repeated eventually.
2. A scenario with an interval (of length 10) of random data between each two pattern
instances. This could represent a person that performs some activities exactly the
same way, between which there are intervals of irregular activity.
3. A scenario where each pattern instance is heavily treated with noise. This correspond
to a person that acts with regularity, but is insufficiently instrumented to
give trustworthy data, or does the same activity in a different way.
4. A scenario where each pattern is instantiated in varying intervals. A user profile
exhibiting this behaviour would be a from a person performing activities identically
each time, but not in the same order or at the same frequency.
5. A scenario where 75% of the cells of each pattern are undefined. These sparse patterns
represent a faulty sensor suite or someone who only has a few key detectable
regularities in their daily activities.
86These configurations are summarised in Table 4.1.
A number of other configurations parameters are equal across all configurations and
scenarios:
❼ All patterns have length 10;
❼ Each simulated sensor has an alphabet size of 10 – a realistic compromise between
separation and resolution;
❼ Transition costs are equal for all configurations;
❼ The inter-pattern variance is infinite across all configurations – each pattern is
generated independently from the others.
Furthermore, we vary three properties in three ways each:
❼ Number of patterns: 2, 5 or 10;
❼ Number of rows: 2, 5 or 10;
❼ Number of columns: 100, 200 or 500 (cf. Table 4.2).
In Table 4.2, advancing a column increments from the base index given in the first
column. For example, the 15th configuration can be found in the column denoted +5 in
the row denoted 10.
These latter give us the 27 variations of each of the five principal scenarios and thus
we obtain the number of 135 configurations. For each scenario, a set of ten patterns is
defined, of which suitable subsets are used for each of the configurations.
We define the transition costs for the generator such that the identity transition is
assigned a zero cost, whereas a substitution with any other symbol is assigned a cost of
one. Substituting a symbol with an insertion or a deletion is given a cost of two (using
the classic model of fixed indel scores), and substituting a don’t care symbol with any
alphabet symbol is given a cost of one as well. Table 4.3 contains the entire transition
cost matrix.
Table 4.1.: Configuration of the five datasets.
Dataset 1 2 3 4 5
noise interval length (count) 0 10 0 0 0
pattern noise distribution (σ
2
) 0 0 9 0 0
pattern repetition distribution (σ
2
) 0 0 0 9 0
gappiness (ratio) 0 0 0 0 0.75
87Table 4.2.: Configuration values for the 27 experiments making up a dataset.
index +0 +1 +2 +3 +4 +5 +6 +7 +8
2 5 10 2 5 10 2 5 10 num. of patterns (m)
1 2 2 2 5 5 5 10 10 10 num. of rows (n)
100 100 100 100 100 100 100 100 100 num. of columns (l)
2 5 10 2 5 10 2 5 10 num. of patterns (m)
10 2 2 2 5 5 5 10 10 10 num. of rows (n)
200 200 200 200 200 200 200 200 200 num. of columns (l)
2 5 10 2 5 10 2 5 10 num. of patterns (m)
19 2 2 2 5 5 5 10 10 10 num. of rows (n)
500 500 500 500 500 500 500 500 500 num. of columns (l)
Table 4.3.: Transition matrix T used for the generation of the test datasets.
ins del 0 1 2 3 4 5 6 7 8 9 *
* 2 2 1 1 1 1 1 1 1 1 1 1 0
0 2 2 0 1 1 1 1 1 1 1 1 1 1
1 2 2 1 0 1 1 1 1 1 1 1 1 1
2 2 2 1 1 0 1 1 1 1 1 1 1 1
3 2 2 1 1 1 0 1 1 1 1 1 1 1
4 2 2 1 1 1 1 0 1 1 1 1 1 1
5 2 2 1 1 1 1 1 0 1 1 1 1 1
6 2 2 1 1 1 1 1 1 0 1 1 1 1
7 2 2 1 1 1 1 1 1 1 0 1 1 1
8 2 2 1 1 1 1 1 1 1 1 0 1 1
9 2 2 1 1 1 1 1 1 1 1 1 0 1
The similarity score table for the local alignment algorithm is derived from these
values. The identity score is set to 10. The substitution of one symbol with a different
one is assigned a penalty of -15. This value is chosen as an optimisation for scenario 2,
based on the following consideration:
The chance of a random match is 1/10 for each cell. In the two row case, completely
bridging the noise interval between two patterns requires an alignment of the 20 cells
between two patterns. The expected value of random matches in this interval is two. To
improve pattern separation, the penalty value is chosen to prevent over-alignment even
for four instances of matches in the interval of noise. This covers 95% of all cases in the
two-row configuration.
The insertion and deletion penalty are chosen twice as high (-30) as the substitution
penalty, mirroring the generation configuration.
88For each one of the 135 configurations, a dataset consisting of ten sequences is generated.
Next, we evaluate our alignment approach on this generated data.
4.1.2 Synthetic Data Pattern Extraction Evaluation
This subsection presents the results obtained from using our local alignment algorithm
(as introduced in Chapter 3) on synthetic data generated according to a number of
different scenarios. We have generated a total of 135 different datasets, and use the
alignment approach to extract patterns, which are then compared to the actual patterns
– as generated – in the test data. We decided to limit ourselves to 135 datasets, as we
assume this to be a good compromise between covering some of the breadth of possible
configurations, and also allowing us to present all the results.
4.1.2.1 Evaluation Criteria
We evaluate the alignments on four criteria.
Number How many alignments are made, with regard to the expected number of possible
pairings of patterns between the two sequences?
Precision How much of an alignment actually covers a pattern?
Recall What part of a pattern is covered by an alignment?
Alignment size How big are the alignments that are found, compared to the size of the
patterns present?
We average precision and recall across all alignments for a configuration. If an alignment
covers multiple patterns, we only consider the best-covered pattern. In Fig. 4.1.7, the
precision and recall measures are presented on an example.
4.1.2.2 Hypotheses
With regard to the five scenarios characterising each dataset laid out in the previous
section, we can expect the following results:
1. The first dataset, especially in conjunction with low numbers of patterns, should
develop “macro-pattern” artefacts (i.e. series of patterns with the same order of
individual patterns) and few, but overly large alignments can be expected.
89Aligned cells outside pattern
Unaligned pattern cells
Total pattern cells: 24
Total aligned cells: 20
Aligned pattern cells = 16
Precision = 16/20 = 4/5
Recall = 16/24 = 2/3
Size ratio = 20/24 = 5/6
Unaligned non-pattern cells
Aligned pattern cells
Figure 4.1.7.: Evaluation scoring example.
2. The second dataset should have a low incidence rate for complete over-alignments.
These occur when two patterns appear in the same order in two input matrices
and the random values between patterns are sufficiently similar. Patterns should
otherwise be well discerned. Single-row over-alignments can be expected to be more
common (over one third for configurations with only two patterns), especially for
larger row numbers.
3. Dataset three can be expected to be a case where the algorithm would not be able
to identify most of the patterns. The selected configuration means that almost 80%
of all values are changed during instantiation. This makes alignable patterns rare.
Despite a minimal admissible score of only 60% compared to datasets one, three
and four, complete and correct alignments of patterns are unlikely to be made.
The contiguous characteristics of the alignments mean that some changed cells of
patterns can be included in the alignments.
4. Results on dataset four should also be similar to those on dataset one, but with –
on average – shorter alignments, as macro-patterns should be less likely to emerge,
when the order of pattern instantiation is less regular. The impact of this is expected
to be more noticeable with configurations with a higher number of patterns.
Alignments are more likely to match well with patterns.
905. In the fifth dataset finally, the scoring system in place and the extreme gappiness
should have a large percentage of false positives among very few, partial alignments
of actual patterns. It can be seen to serve as a negative control experiment. In
contrast to set three, the alignments should be more likely to span non-pattern
cells.
4.1.2.3 Results
The average evaluation results for each scenario are contained within Table 4.4. This
table contains the ratio of detected alignments to expected number of pairs of patterns
in the data, the average precision and recall values across all 27 configurations (which are
themselves the averages across all alignments for each configuration) and the size ratio.
The values for Dataset 3 and Dataset 5 are not directly comparable to the others, as we
used a different MASS base score, to account for the noise in Dataset 3 and the missing
data in the case of Dataset 5. MASS in these cases have been reduced to 0.6 (a value we
consider to be similar to what may pass as a real world noise tolerance value) and 0.25
(three-quarters of the cells of a pattern are undefined) respectively of the corresponding
MASS in the other configurations. For these, MASS is equal to the size of the pattern,
as we assign a similarity score of one per identical cell.
Table 4.4.: Key results: averages and standard deviations across all configurations.
Measure Dataset 1 Dataset 2 Dataset 31 Dataset 4 Dataset 52
#alignments
#pairs of pat. 0.31 ± 0.26 0.69 ± 0.29 0.041 ± 0.054 0.31 ± 0.26 0.22 ± 0.32
precision 0.54 ± 0.22 0.77 ± 0.20 0.13 ± 0.06 0.52 ± 0.24 0.54 ± 0.18
recall 1.00 ± 0.00 1.00 ± 0.00 0.56 ± 0.19 1.00 ± 0.01 0.20 ± 0.06
alignment size
pattern size 5.66 ± 4.48 2.45 ± 2.51 6.72 ± 3.96 6.65 ± 6.08 1.60 ± 0.24
The runtime for the complete set of alignments is around 4 minutes of real time on
a pair of Intel➤ Xeon➤ E5-2560. Across all 135 configurations, we obtained 214,963
alignments.
In Fig. 4.1.8, we present the ratios of alignments to expected pairs of patterns per
configuration. The most striking trend is that datasets 1 and 4, and to a lesser extent
dataset 2, show a series of this measure rising in patterns of three. This can
be directly attributed to the macro-patterns that are created, which are obviously
more numerous when the number of patterns in the data is low, and simultaneously
1The results for Sets 3 have been obtained with a MASS of 60% of those of Sets 1,2 and 4.
2The results for Sets 5 have been obtained with a MASS of 25% of those of Sets 1,2 and 4.
91the lack of noise does not allow segmentation of the patterns into their components.
Table 4.5.: Average Pattern Size
for Dataset One
config. mean error
0 4.13 ±2.73
1 1.32 ±0.93
2 1.82 ±1.99
3 1.29 ±0.81
4 5.86 ±5.50
5 5.25 ±5.31
6 2.81 ±3.25
7 8.92 ±5.61
8 8.99 ±5.64
9 4.69 ±5.07
10 1.53 ±1.27
11 1.23 ±0.73
12 3.70 ±2.86
13 3.09 ±2.53
14 1.89 ±1.60
15 4.35 ±2.68
16 3.72 ±2.75
17 2.98 ±2.22
18 8.68 ±10.54
19 2.22 ±3.11
20 11.26 ±12.35
21 8.45 ±11.74
22 4.50 ±8.19
23 17.55 ±14.69
24 17.89 ±14.89
25 8.88 ±12.30
26 5.83 ±4.86
A more subtle trend lies in the reduced number
of alignments made, when there are more sensors
in the data. This can possibly be ascribed to the
higher MASS in use for those scenarios.
For dataset one, almost all patterns are covered
by alignments and average alignment size is 5.66
times the pattern size (validating our macropattern
hypothesis), two outlier configurations (16
and 17) reach an average pattern size over 17 times
larger than patterns, with very large deviations in
the samples (cf. detailed results in Annex B.1.2
and an extract in Table 4.5). Mean precision across
all configurations is 0.55 (standard deviation across
means of each configuration: 0.22).
Dataset two benefits from the fact that it is the
reference for the score matrix. This means good
separation of patterns due to the noise between
them (alignment size on average 2.45 times the pattern
size). The average number of alignments is
0.69 times the number of pairs of patterns. Precision
is relatively high, and almost all patterns
are completely covered by at least one alignment.
Problems with over-alignment arise when a low
number of patterns is combined with a high number
of sensors. Here the score obtained by aligning
a pattern with another is high, and the chance
that the following patterns match is also high;
this means that an alignment stretches over multiple
patterns when the score penalty incurred by
the noise interval is not sufficient to prevent overalignment.
Dataset three highlights the detrimental effects
of noise on alignment quality and quantity. Especially
with the equidistant layout of the value
space, there are very few alignments made with the provided score matrix. The preci-
920
0,2
0,4
0,6
0,8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Dataset 1
0
0,2
0,4
0,6
0,8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Dataset 2
0
0,05
0,1
0,15
0,2
0,25
0,3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Dataset 3*
0
0,2
0,4
0,6
0,8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Dataset4
0
0,2
0,4
0,6
0,8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Dataset 5
Figure 4.1.8.: The ratios of the number of alignments to the combinatorially expected
number of identical pairs of patterns in two different files, for all five
datasets and all 27 experiments. As the number of patterns rises, the
expected number of pairs gets lower, and the rate of alignments gets closer
to the number of pairs.
*Note: The values for dataset 3 are on another scale than the others.
93sion score is very low, alignment size varies wildly, but is on average very large, despite
a 40% reduction in minimal admissible scores, which should favour smaller alignments.
The pattern coverage metric is no longer accurate for this case, as its implementation
depends on the simultaneous start of a pattern which is no longer guaranteed once insertions
and deletions appear. Notably, some patterns were found in all configurations.
The results from dataset four are in most aspects very similar to those from dataset
one. In comparison, the average size of patterns is higher; recall and precision are lower,
and show a slight increase in variability.
Dataset five – serving as negative control – has the minimal admissible score of the
alignments reduced to one quarter of those of dataset one, to offset the three-quarter
loss of information induced by the gappiness value. This visibly does not even out the
loss of information due to gappy patterns. The score matrix punishes inequality too
heavily for but a few chance alignments to arise, if any at all. Precision is no lower
than for datasets one and four, as the low scores of the alignments do not allow the
inclusion of a large number of non-matching values in alignments. The average recall for
patterns covered by alignments is very low. Alignment sizes reflect the reduced scores and
are similar across all configurations (0.05 standard deviation, excluding configurations
without alignments).
4.1.2.4 Performance Comparison
Our key contributions having as goal performance improvements of an existing algorithm,
we compare these results with those obtained with the original algorithm. Where the
previous results – with the new algorithm – were obtained in just over 4 minutes, the
original algorithm (as described by Lecroq et al., 2012) gave most results after around
10 hours, but eight configurations with large alignments (particularly configurations of
datasets 1 and 3 with long sequence lengths and few different patterns) took over a week
to give results, under the same testing configuration.
To verify that this drastic increase in performance did not negatively influence our
performance metrics, they are presented in Table 4.6. Even if initially the values appear
better (especially precision for datasets one and four) than what we obtained from the
faster algorithm, we argue that this is possibly due to an undesired effect. The key
difference in results, is that a total of 291,858 alignments are made using the slower
approach. Since these alignments can be assumed to be smaller than the ones we obtain
using the fast variant (due to the score maximisation effort), they reduce the impact of
macro-patterns on the evaluation scores. On the other hand, they are also likely to be
redundant, as they should be covered by or similar to another alignment of the same pair
94Table 4.6.: Key results: averages and standard deviations across all configurations for
the state of the art algorithm
Measure Dataset 1 Dataset 2 Dataset 33 Dataset 4 Dataset 54
#alignments
#pairs of pat. 0.57 ± 0.27 0.867 ± 0.15 0.022 ± 0.024 0.55 ± 0.27 0.15 ± 0.23
precision 0.70 ± 0.24 0.93 ± 0.06 0.22 ± 0.10 0.69 ± 0.26 0.64 ± 0.21
recall 0.98 ± 0.03 1.00 ± 0.00 0.72 ± 0.32 0.95 ± 0.14 0.20 ± 0.05
alignment size
pattern size 2.82 ± 2.20 1.12 ± 0.11 6.48 ± 4.21 3.19 ± 3.37 1.40 ± 0.16
of input sequences. The improved average recall values of our new algorithm compared
to the older one also are indicative of this. Additionally, our results for the more difficult
datasets (three and five) actually show an improvement with regard to the number of
alignments found using our new approach over the state of the art algorithm.
We therefore claim that the reduction in results and much decreased time required for
the calculation make the resulting reduction in average precision an acceptable trade off,
especially because there is evidence that the decrease is due to additional, non-maximal
patterns in the data, which are of less interest.
4.1.3 Analysis
Overall, this evaluation shows that the algorithm works largely as expected, and allows
us to judge system constraints. Our optimisations on the state of the art algorithm have
reduced run time massively. This renders it capable of realistically dealing with data
that has a much larger scale than previously possible. On the dataset for which the
algorithm was tuned, the results are acceptable, especially when the presence of many
patterns inhibits the formation of macro patterns. Recall values in particular indicate
that most of the time an alignment corresponds to a pattern.
The results also show the limits of our approach. Although in the ideal case we
observe many perfect fits of alignments to patterns, we also observe the tendency of
the current configuration to extend alignments beyond pattern boundaries, if identical
pattern sequences are present. In sparse data or in noisy data, the simple model we use
here prevents reliable extraction of patterns, because all substitutions are equiprobable.
This is especially characterised by the low recall values, indicating that most alignments
are made from data that is randomly similar to other data.
One of the key observations on these results is that the length of the sequence has
a detrimental effect on almost all performance measures. This is due to combinatorial
3The results for Sets 3 have been obtained with a MASS of 60% of those of Sets 1,2 and 4.
4The results for Sets 5 have been obtained with a MASS of 25% of those of Sets 1,2 and 4.
95effects which create macro-patterns in a higher number in these long sequences. Minimising
length – so that only a few patterns are included in a sequence – allows for
better precision. Especially in real world data, when examining data from people with a
routine-heavy lifestyle, one would expect to find larger patterns if the search window is
sufficiently large. This is reinforced by the number of different patterns countering this
combinatorial effect.
Another observation is that the wider the dataset, the worse the impact of macropatterns.
This is due to the higher accumulated similarity score after each block of
identical data, and therefore increased tendency to bridge the gaps between identical
blocks. Although this is a problem with ideally replicated pattern instances, in noisy data
this increased resiliency might be beneficial. The effect can be controlled by adjusting
the similarity scores for the various edit operations.
On the other hand, the actual behaviour on context data can only be determined by
testing the approach on real world data. This is explored in the next section.
4.2 Real World Data Evaluation
The previous synthetic data based evaluation of our algorithm allowed us to determine
the runtime of our algorithm under specific, controlled conditions, as well as gain some
initial insights on how it performs with regard to our accuracy measures. To truly
validate our approach, further evaluation on real data is required. In the following we
describe how we obtained the real data we use, present our results and then analyse
them for potential conclusions.
4.2.1 Data Collection Campaign
The validation of our approach on real world data is a key part of this work. After an
examination of available context datasets (cf. section 2.4 on page 46), we come to the
conclusion that none of these is suitable for the specific aims of this work. Hence, we
designed a specific data collection protocol and launched a data collection campaign in
late 2011. This section documents the process of this campaign from conception to an
annotated dataset that is in a suitable format for the alignment approach introduced in
the previous chapters.
964.2.1.1 Motivation
The key limitations we identified in existing datasets, were the absence of ground truth
data and the limited scope of the available context data. Our key goal therefore was to
address these shortcomings, by including more physical context data and simultaneously
maintaining a reasonable volume of data – so that manual annotation with ground truth
data would be possible.
The key design imperative is a small footprint, in the sense of the context data capture
mechanism not impeding the daily routine of the test subjects. Additionally, it is
important for the data collection mechanism to maximize the amount of data available,
both by implementing safeguards to prevent the loss of already recorded data, and by
allowing the subjects to selectively disable individual sensors. The latter follows our
reasoning that users would be more open to gathering data if they could selectively
disable sensors. It is better to lose some data for an interval, than to lose all of it, in
case a user wants to disable tracking. This approach – coupled with visible feedback of
the current sensor values – aligns our data capture philosophy with the one proposed by
K¨arkk¨ainen et al. [2010].
4.2.1.2 Data Collection Campaign
We decided to use an Android application as mobile segment of our data collection
software. This application regularly records sensor data and transmits this data in
aggregated batches to a storage database server. The following values are being recorded
every ten seconds:
❼ Local time and date,
❼ Geolocation (via the Android Location API: Based on GPS and radio network
fingerprints),
❼ Linear acceleration forces (3D Accelerometer),
❼ Angular velocity (3-axis gyroscope),
❼ Magnetic field (3-axis magnetometer),
❼ Luminance,
❼ State of the handset proximity sensor,
❼ Type of data network currently available,
97❼ Signal strength of cellular network and
❼ Remaining battery charge.
These values are first written to a local database on each of the phones, and then automatically
sent to a central database server every 24 hours, if a wireless LAN connection
is available. Otherwise a retransmission is attempted every six hours. A participant
in the data collection campaign can also manually trigger a transmission of the locally
stored data.
Our campaign was centred around Rouen (a major regional town in northern France)
and Grenoble (a university town in south-eastern France). We recruited a total of 20
test subjects, from 5 of which we obtained useful amounts of data. The other test
subjects did not participate over the entire term of the campaign, possibly due to lack of
incentive or usability issues caused by the increased battery drain of their phones. The
campaign ran for a duration of two months, from November 2011 until January 2012.
The total amount of data we accumulated was around 430 MB, most of which was from
3 of these 5 users, with the remaining users contributing much less data. Most of this
variation is either due to early termination of participation in our campaign, or because
many sensors were either disabled by the participant or not available on the participant’s
hardware.
Besides the obvious privacy concerns of such a campaign, one other issue that presented
itself to participants was the high battery usage, particularly of the GPS and microelectromechanical
sensors (e.g. accelerometer, gyroscope, magnetometer). This reduced
the battery run time of most of the handsets used in the campaign to significantly less
than 24 hours, meaning that recharging the device every night was recommended and
necessary.
With regard to the design goals, this was the principal concession we had to make. Using
the smart phone as capture platform for the context data, allowed for less disruption
in the daily lives than a separate device would have generated. Our other criterion, of
capturing a wide variety of physical context data, has been mostly met. Unfortunately
many phones lacked gyroscopes and some device specific issues when using the microphone
prevented us from reliably capturing environmental noise levels, which ultimately
prevented us from including this in our data. Meteorological information also appeared
as a promising aspect of context data to us, but at the time of development, thermometers,
barometers and hygrometers were not available on phone platforms, and using real
time data from a nearby weather station is both unreliable and difficult to implement.
Getting this data after the end of the campaign was also an option, but historical data is
98only available at low temporal resolutions and from services implementing strict quotas
on queries.
4.2.1.3 Data Preparation
The data we collected requires some amount of pre-treatment to fit to the model we
have laid out earlier. Although the ten-second acquisition interval gave us a regular
time-discrete source of data, most values were still quasi-continuous.
Due to the amount of manual intervention required at this stage, we reduce our test
dataset to the data of the test subject which contributed the largest amount of data.
Examination of this data reveals that this participant’s device lacked a gyroscope, so
no angular velocity data is available. Other sensors contain obviously “troublesome”
(false readings, singleton outliers) values, which we eliminate. We also discard network
type and signal strength data, as they are highly correlated with geolocation. To further
reduce the amount of data present – to facilitate manual annotation of patterns – we
fuse magnetic and accelerometric orientation data into one single 6-axis sensor. This
leaves us with five context data sources:
1. light intensity on a logarithmic scale
2. state of the proximity sensor
3. location
4. battery charge level
5. orientation with regard to the magnetic North Pole and the gravitational centre of
the earth.
The next step is the actual discretisation, which is performed manually. Clustering
algorithms (such as k-means and X-means [Pelleg and Moore, 2000]) serve as an aid to
assign 14 place-IDs to all pairs of longitude and latitude values (see Fig. 4.2.1 for an
example), 8 orientation IDs to all 6-tuples of accelerometer and magnetometer readings
and 8 discrete battery charge levels. The luxmeter only gives 10 different levels of
luminance, which are used directly and the proximity sensor returns a binary reading.
We then reduce the sampling frequency to one measurement every one hundred seconds,
and cut the data into 24-hour segments, from 4 a.m. to 4 a.m. the following day. These
segments are around 850 5-tuples long, which renders them tractable both for the alignment
algorithm (cf. the runtime of our initial experiments in subsection 4.1.2.4) and –
to a much larger degree – manual annotation. The latter is a necessary step to allow
99Figure 4.2.1.: Clustering of locations into places of the data gathered by one subject over
a one week timespan. Artificial jitter has been introduced to the data, to
better visualise data density. Note how nine incidences in the top left are
clustered together with the other points towards the top left. The low
number of incidences renders this error negligible.
proper evaluation of discovered alignments: Three key patterns (cf. Annex B.1.3) have
been selected by visual analysis of graphs of the sensor data (cf. Fig. 4.2.2), and then
each occurrence has been labelled by hand, by annotating the raw data with a pattern
ID for the sensors and intervals that visually resembled one another.
Although this is an inaccurate practice, it does allow us to roughly label some of the
features we expect the algorithm to correctly identify and inter-align. As the choice
of “ground truth” is somewhat arbitrary, especially with regard to the vast amount of
data present even after the sweeping reductions in data volume, it cannot be understood
to be a truly ideal measure. Nonetheless, it is the best measure available under the
circumstances, especially considering that the envisioned application is as a decision aid.
Being able to detect these key features is a good benchmark of whether this capability
of the algorithm also persists for similar data.
4.2.1.4 Post Processing
Once the discretised data is available, the next step is to determine the additional information
required to obtain the metadata information (substitution score tables and
indel penalties). We assign each pair of states for each sensor a similarity value, using
10086420
12
10
5:38 5:47 5:57 6:06 6:17 6:28 6:37 6:48 7:01 7:10 7:20 7:31 7:42 9:42 9:53 10:04 10:13
86420
12
10
6:33 6:44 6:55 7:03 7:14 7:23 7:36 7:45 7:56 8:07 8:15 8:26 8:37 8:46 8:57 9:06 9:17
loglux
prox
place
batt
ori
time
Figure 4.2.2.: Visualisation of an extract of the captured data, with similar intervals marked. This extract covers the morning
period of two consecutive days. The y-axis represents the different discretised context values. The values shown
in this extract are light intensity on a logarithmic scale (loglux), the state of the proximity sensor (prox), the
location cluster id (place), the battery level (batt) and the orientation of the phone (ori).
101the approach laid out in the following.
For this evaluation, we create a set of similarity scores derived from both external
knowledge of the data sources and transition probabilities between each of the different
values. Specifically: In the case of the battery level, we used a linear distance function
between the discrete levels, and for everything else we based the similarity measure
on the transition probability, and then symmetrised these values. The negative values
in the latter case correspond to a projection of the transition probabilities onto a
quasi-logarithmic scale, with a score of -10 penalizing less than one transition in 10,000
observations, and a score of -4 corresponding to one transition in five observations. The
positive values are around 5 times the transition probability. The special case of the missing
reading is dealt with, by assigning a weak malus to any substitution of this value
with another and a weak bonus when matched, as we do not consider sensor malfunction
and deactivation to be a reliable context information, despite the potential significance.
For this data, we expect many temporal extensions and compressions of patterns, and
therefore wish to align constant similar sections of different length. Due to the combined
insertion/deletion+substitution approach, we set a relatively low negative supplement
score for insertion and deletion of -2, compared to the maximum negative score of -10
for transition probabilities smaller than 10−5
. The full substitution score tables can be
found in Appendix B.1.1.
One key relationship in these tables is that of positive scores to negative scores, as it
defines the tolerance of alignments to differences in data. Due to the weakly positive to
weakly negative effect of “constant” insertions and deletions, as well as the width of the
data we are using and the long periods of constant values in the data, it is preferable to
penalize non-identical substitutions heavily. This also shapes more compact alignments,
preventing “over-alignment”.
With the dataset now laid out, we can use it for the evaluation process.
4.2.2 Evaluation of Alignment Approach on Real Data
This section quantifies how well the alignment approach works to match the manually
selected patterns to the instances of these patterns in the dataset. The key parameters
are the substitution score tables, as well as the insertion and deletion scores, and finally
the minimal accumulated similarity score (MASS, cf. section 3.2). The generation of
the tables is described in the previous section, and the choice of MASS is discussed in
the following section. Thereupon follow the results we have obtained.
1021 2 3
campaign data
patterns
find local alignments
for each pairing with
different MASS
#58
Figure 4.2.3.: Alignment of three pre-selected patterns with campaign data in 58 slices
corresponding to 24-hour periods of 5-tuples.
4.2.2.1 Experimental Setup
Besides the model parametrisation, the other parameter that we can control is the minimal
accumulated similarity score. This has a key impact in this context, as it affects the
minimum size of alignments and the tolerance to differences between two aligned pieces
of data. To show the effect of different MASS values, in the following we perform an
alignment of the three identified patterns (cf. Annex B.1.3) with all 58 days worth of data
from the campaign participant we isolated in the previous subsection, with eight different
values for MASS. This process is illustrated in Fig. 4.2.3. The number of manually
annotated instances per pattern is as follows:
❼ Pattern 1: 13 instances,
❼ Pattern 2: 18 instances,
❼ Pattern 3: 27 instances.
As a starting point, we examine the three patterns, and expected accumulated similarity
scores. The first pattern is 190 5-tuples in size. By analysing the representing
sample that is used for searching instances in the remaining data, we can obtain the
103score of a perfect match with itself, which gives an upper bound. This score is 2,962 for
the first pattern, 3,271 for the second (199 5-tuples) and 1,441 for the third (197 2-tuples
– this pattern only covers proximity and location data).
Our choice of a useful lower bound is based on the assumption that an hour of similar
values is the minimum scale of interest. As one hour corresponds to 36 5-tuples, and
assuming that we require perfect matches during this hour to meet our minimal criterion
of similarity, then the target value is around 500, which corresponds to an average
similarity row score of ∼ 2.78; the average score per row – assuming uniform distribution
of all symbols – is ∼ 2.65.
Using these two extrema as starting points, we select the following values as our
reference points: 500 as lower bound, 700, 850, 1000, as a range that should give expected
results for the smaller pattern, and 1,300, 1,700 and 2,200 as a spread more useful for
the larger patterns; finally, we choose 3,000 as the upper boundary, which can only be
expected to give a single alignment – namely the alignment of the extracted pattern 2
with itself in the corpus.
4.2.2.2 Results
We use precision and recall (i.e. the ratio of cells correctly aligned in an alignment and
ratio of cells of an annotated pattern covered by an alignment) for each of the pair of
5-tuple sequences to be aligned, similarly to the evaluation of the synthetic data results.
Additionally we determine the number of alignments made, and for each pattern the
number of instances we have manually annotated. For the four values of precision and
recall, we calculate mean and standard deviation across all alignments for each MASSconfiguration.
These values can be found in table 4.7.
An alignment consists of two elements: one in the predefined pattern, and one in one
of the 58 day-slices of the campaign data. In this table, “A” identifies the part of the
alignment in the search sequence, and “B” represents the corresponding aligned part in
a sequence from the corpus. Fig. 4.2.4 visualises these results, by plotting recall and
precision across each MASS-value and the B-parts of each pattern. When looking at
“B” recall values, it is important to note, that alignments of non-annotated data result
in a zero value, which then impacts the mean recall and precision for a result. This is
reflected in the high standard error for these values.
104Table 4.7.: Evaluation results. A is the search pattern, B is the instance in the corpus.
Dataset Pattern 1
Measure prec. A. rec. A. prec. B. rec. B num.
MASS = 500 1 0.277±0.158 0.024±0.114 0.013±0.083 5011
MASS = 700 1 0.397±0.158 0.072±0.208 0.050±0.171 1049
MASS = 850 1 0.440±0.163 0.100±0.242 0.071±0.200 734
MASS = 1000 1 0.514±0.151 0.138±0.290 0.107±0.245 462
MASS = 1300 1 0.585±0.128 0.201±0.332 0.158±0.285 306
MASS = 1700 1 0.657±0.104 0.329±0.379 0.267±0.336 171
MASS = 2200 1 0.802±0.071 0.712±0.247 0.633±0.288 38
MASS = 3000 X X X X 0
5
Dataset Pattern 2
Measure prec. A. rec. A. prec. B. rec. B num.
MASS = 500 1 0.358±0.157 0.045±0.184 0.031±0.129 5201
MASS = 700 1 0.432±0.149 0.070±0.227 0.048±0.160 3206
MASS = 850 1 0.486±0.131 0.078±0.245 0.057±0.176 2240
MASS = 1000 1 0.524±0.125 0.085±0.268 0.064±0.195 1516
MASS = 1300 1 0.566±0.138 0.190±0.385 0.137±0.281 563
MASS = 1700 1 0.605±0.138 0.277±0.442 0.193±0.321 286
MASS = 2200 1 1 1 1 1
MASS = 3000 1 1 1 1 1
Dataset Pattern 3
Measure prec. A. rec. A. prec. B. rec. B num.
MASS = 500 0.965±0.059 0.574±0.189 0.596±0.387 0.380±0.324 387
MASS = 700 0.955±0.067 0.680±0.146 0.602±0.376 0.357±0.253 248
MASS = 850 0.966±0.054 0.750±0.060 0.744±0.283 0.433±0.209 185
MASS = 1000 0.992±0.014 0.774±0.046 0.820±0.239 0.505±0.216 46
MASS = 1300 1 1 1 1 1
MASS = 1700 X X X X 0
5
MASS = 2200 X X X X 0
5
MASS = 3000 X X X X 0
5
Across all 7,771 alignments made in search for pattern 1 in the corpus, 6,891 alignments
are false positives (i.e. with not even partial coverage of the instances). For pattern 2 this
is 11,504 out of 13,014 total, and for the third pattern 186 out of 867 alignments do not
even partially cover an annotated instance. This allows us to determine an upper bound
for the number of partial false positives (880, 1510, 681) – alignments that intersect with
annotated pattern instances, consist of subsequences of such instances or are partially
5X denotes the absence of data
105covered by other alignments. These numbers also include the alignments that best cover
a pattern, which can not exceed eight times the number of instances per pattern (104,
144, 216) due to the accumulation of the values across all repetitions of the experiment,
and the perfectly matching alignments, which number 20 in total (7, 8, 5).
Even when the MASS is set to 1,700, we still find 205 alignments of pattern 2 within the
corpus, that in fact do not correspond to an annotated instance. Some of the excess can
be explained by multiple locally optimal alignments, that partially cover a ground-truth
annotated interval, other is in sequences that are simply sufficiently similar according to
our measure, but in non-annotated parts of the corpus.
The “A” part of the results is less interesting, as the precision values for the first two
patterns are necessarily equal to one, due to every element in the search sequence being
part of the pattern. In the third pattern, this value indicates how much of the alignment
covers the undetermined part of the pattern. Recall values for the first two patterns are
directly the ratio of alignment size to pattern size. For the third pattern, this does not
hold true, as the alignment can cover non-determined cells.
An additional factor to consider is that some of the alignments might qualify as patterns
to an expert, when they are discovered by alignment, despite not having been
selected in the non-aided, manual annotation process, due to the fuzzy nature of the
latter.
4.2.3 Analysis
The initial observation on these results is that finding pre-identified patterns by means of
aligning n-tuples requires extensive pre-analysis by the expert user to formulate a reasonable
expectation of MASS and number of pattern instances in the corpus, based on the
scoring tables, size of the pattern and variability between pattern instances. Nonetheless,
given the reasonable time of execution for our example (6 minutes for the sequential
execution of the 24 samples of this experiment, on an Intel➤ Xeon➤ E5-2650), it is
possible to quickly perform a number of alignment processes with different MASS, and
discard those that appear to be too inclusive or too restrictive. If the parameters are
chosen fortuitously, then the alignments closely match the expert’s expectation of what
constitutes a pattern instance, or at the very least point to areas of interest.
We also note that although pattern one and pattern two share almost the same amount
of alignments made at the base score of 500, the elimination of false positives with
increasing MASS differs greatly between them. The number of alignments for pattern
one drops drastically at the step from 500 to 700 and then is reduced more gradually,
whereas for pattern two the number of alignments drops more evenly at the lower MASS
1060
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,11
500 700 850 1000 1300 1700 2200 3000
prec 1
rec 1
prec 2
rec 2
prec 3
rec 3
MASS
score
Figure 4.2.4.: Mean precision and recall for the instances in the corpus (“B” - part of the alignment) for the 24 test configurations.
From left to right are the different values of MASS used. With rising MASS, both precision and recall
increase. The rightmost bars are fewer, as no alignments were made with MASS values 1,700 and above for
pattern 3, and no alignments were made with MASS values 3,000 for pattern 1. Due to the smaller number of
elements contained in pattern 3, it has higher values than patterns 1 and 2 for the same MASS.
107samples, but then very abruptly at a higher score level. And even though the maximum
score is higher for pattern two, at MASS 1,700 there are fewer alignments made than
for pattern one. This observation suggests that the larger instances of pattern two are
also more varied. The consequence is, that as similarity values are accumulated by the
alignment algorithm, they stay lower due to constant penalties. Conversely, instances
of pattern one have higher local similarity, leading to a better separation of patterns
from lower scoring false positives, as penalty scores are fewer and further between. The
similarity based approach can therefore also be used to make qualitative observations
on sensor data, especially when using a denser sampling of MASS values, for added
precision.
Although this evaluation does not cover the alignment of entire day sequences with one
another, together with the synthetic evaluation it gives a clear notion of the characteristics
of our proposed alignment algorithm, when it is applied on context data. The main
challenge to evaluating the algorithm on real data is that this evaluation cannot be done
with objective measures, as the notion of what constitutes a “pattern” in context data is
not universal, and determining whether an actual routine activity is taking place requires
activity diary data in parallel to the data collection campaign, which is unrealistic at
relevant scales. Therefore we limit our experimentation to these two aspects.
108Conclusions and Future Work
The aim of this work is to determine whether it is possible to detect routine in the dayto-day
lives of mobile phone users. We come to the conclusion, that indeed it is possible
– if such routine elements are present. We consider this result an extension, refinement
and affirmation of existing approaches that detect routine in context data, such as the
works of Clarkson [2003] and Eagle and Pentland [2009]. Our results align themselves
particularly well with Clarkson’s work, in that our approach uses high resolution data,
but is only validated against a single person’s real world data. What we present is to be
seen as a proof of concept, as it lacks additional evaluation against a broader dataset.
Before we continue to discuss the advantages and limitations to our approach, we
briefly resume our contribution and results.
We presented in this work an alignment algorithm for sequences of context data, that
has been derived from an existing two-dimensional alignment approach, but optimised
to take advantage of the characteristics of the data and the desired results, to decrease
total calculation time by several orders of magnitude in some cases. To achieve this
increased performance, we took into account the structure of context data as a sequence
of n-tuples, which allowed us to decrease the original alignment problem complexity by
one dimension, and gave a theoretical speed-up of n. Additionally, we used an early
discard approach to finding locally optimal alignments in the data, greatly increasing
real-wold performance by reducing the amount of backtracking operations required for
the dynamic programming algorithm.
This algorithm is then evaluated against two types of datasets, one generated by a
specially developed simulator, the other an annotated subset of data recorded during a
collection campaign. The results on the former show that our approach works largely as
expected, with a weakness when attempting to segment patterns that appear in the same
109sequential order in two different input files. On the real world dataset, we used a different
evaluation approach to account for the difficulty of obtaining a ground truth reference.
The algorithm was used to align known routines with sequences that contained the data
of one day each. This result showed that the quality of the results depends directly
on the choice of the minimal admissible similarity score, which needs to be optimised
to within a small fraction of the ideal value, to obtain results that closely match one’s
expectations.
One of the main advantages of our approach, is that it can point out from a dataset
some candidate intervals that should correspond to pairs of routine elements in context.
Our evaluation on synthetic data shows that – if naively configured – the algorithm
has a strong tendency to cover multiple patterns, if they appear in the same sequence.
It is disputable whether this is always desirable – as it reduces the segmentation of the
results – but it follows from our choice to search optimal alignments to reduce the overall
number of patterns extracted. An example of where this could be problematic, is when a
person frequently does two activities in sequence, but occasionally only one individually.
Then – numerically – one routine activity happens more often than the other, but this is
not reflected in the result: when aligning two samples that contain the sequence of pairs,
the result is a single alignment, with no direct relation to other alignments comprising
only one activity.
Our real data evaluation was limited in that we only checked for a set of pre-determined
patterns – primarily due to the challenge of manually determining a desirable evaluation
target, without a specific target application. Nonetheless, we were able to display how
the minimal accumulated similarity score is related to the results. Good accuracy can
be expected, if one is capable of expressing one’s expectation of what constitutes an
alignment in the terms of individual per-element similarity scores and lower accumulated
similarity score limits.
In the introduction, we listed a wide variety of applications. When comparing the
breadth of requirements different applications may have with regards to models of activity
routine with our algorithmic results, we realise that our approach is not an all-in
one solution to providing a better understanding of context. This is mostly due to the
genericness of our approach, linked with the lack of a common, inherent understanding
of what truly makes up a routine activity. What we provide then, is primarily an exploratory
tool, enabling domain experts – for example application developers – to gauge
across large datasets where there is detectable routine in sensor logs and what the general
characteristics of the present routine activities are. They can then iteratively adapt
110and parametrise our approach, until they can accurately express their notion of what
makes up a routine activity within the design space the alignment paradigm provides.
Other potential interest groups include the people generating the data themselves (as a
means of introspection and reflection) and researchers in social sciences. Usage in the
advertisement industry or intelligence field could also be imagined.
Although such a usage entails some preparation of the context data, the process is relatively
straightforward: the first step is synchronisation of the different context streams.
Next, the data is discretised, which often requires some manual intervention, to estimate
a good number of clusters in the data, or determine a set of criteria to evaluate a
clustering result. Based on this step, the meta-data (in the form of substitution score
tables) is generated. A statistical approach to this can be mostly automated, a semantic
approach requires direct intervention, and may provide better results. In each case, subsequent
refinements may be necessary, depending on the first alignment results which
reveal some consistency characteristics of the data. This iterative approach can provide
a flexible – but complex – tool to extract specifically the patterns a user is interested
in. False positives are a frequent occurrence which may have to be rejected by hand.
Considering the scale of the raw data, this reduction of the problem of finding routine
is a significant step forward, even despite the setup complexity.
We already touched upon three limitations: the iterative, supervised approach is not
completely automatable; there may be unexpected alignments among the results, which
are classified as false positives; alignments are always maximised and may not extract
discrete smaller patterns. Additionally, there are some limitations on the algorithmic
level. Currently, our algorithm produces results which are dependent on the order in
which the sensor data is arranged; an artefact carried over from the algorithm upon
which we developed our adapted approach. We are also faced with a similar “multilevel”-problematic
as Clarkson encountered, in that a single accumulated similarity value
may be insufficient to characterise all kinds of patterns as alignments. The value may for
example be equal for a large alignment with some errors and a small perfect alignment
– no qualitative information, besides the number of aligned symbols and maximum
similarity score, is retained.
The future work we suggest is threefold. Firstly, there are some ways of modifying the
algorithm to improve results and enhance performance. Secondly, there are some means
of evaluation that can still be explored to gain an even better understanding of how our
approach interacts with context data. Finally, we point to some pre- and post-treatment
methods that could render this approach more powerful and simpler to use.
111Although we did improve and adapt the algorithm to our use case from a time and
space performance standpoint, a weakness still persists: the in-tuple order of elements
remains a factor in the alignments found. Correcting this by calculating and memorising
the order in which each tuple element is accessed would result in order-independent
alignments, at the cost of increased time and space requirements.
A possible solution to the issue of large patterns obscuring smaller ones, can be approached
by performing a further pattern extraction step on the results of the first extraction,
using a lower MASS. This should reveal whether smaller patterns are present
within the larger ones.
The algorithm can be parallelised in its implementation in many ways, which can
provide great speed-ups. The one-dimensional string alignment approaches exist in versions
optimised for stream processing, porting the ideas of these implementations to
our methods could increase performance on specialised hardware, such as graphics processors
and processors with streaming extensions. Ultimately, the memory limitation
will persist.
We currently lack evaluation of actual pattern extraction on real world data, due the
reasons we stated earlier in this chapter. A possible way to evaluate our approach, as a
decision aid, would be to undertake user studies, to see how potential users – interested
in finding patterns in context data – would be able to parametrise a model that enables
them to do just that.
Furthermore, a comparative evaluation against the approach of Plantevit et al. [2010]
would be of interest, to see how the ultimate parametrisation efforts compare, as well as
to be able to judge the results against a similar approach.
Lastly, evaluating the extraction performance against a dataset supported with diary
entries would be able to provide further insights – but ultimately be limited by the flexible
notion of what makes up a routine activity. Each test subject providing a diary may have
a different notion of routine from the other test subjects, or the experimenter ultimately
constructing a model, which can lead to data that is nearly impossible to correctly
interpret. As a result, either a naive model would be used, with results probably similar
to those we obtained on synthetic data, or a properly developed, supervised model, which
would again only demonstrate how well the model can be parametrised to correspond
to a consistent but arbitrary notion of routine.
We have already proposed some pre-treatment methods, to obtain a model that is
partly automatically generated from a corpus of known data. Using advanced clustering
algorithms, and defining a set of heuristics for the permissible error rates for specific
sensors, as well as filtering rules, would further simplify the pre-treatment. From a post-
112treatment perspective, it is interesting to reduce the vast amount of pairs of results into
representatives of actual routine activities. This has been done in the work of Pauchet
et al. [2013], using a clustering approach. This approach can be extended, by using
a variation of Hirschberg’s algorithm [Hirschberg, 1975] to obtain a local cumulative
edit distance function across the different aligned elements. This would allow us to
cluster multiple inter-similar context episodes to clusters of routine contexts, while also
finding similar subsegments. Alternatively, a global alignment can be used, if the further
segmentation has already been performed separately.
113Bibliography
Mohamed Abouelhoda and Moustafa Ghanem. String Mining in Bioinformatics. In
Mohamed Medhat Gaber, editor, Scientific Data Mining and Knowledge Discovery:
Principles and Foundations, pages 207–247. Springer Berlin Heidelberg, Berlin,
Heidelberg, 2010. ISBN 978-3-642-02787-1. doi: 10.1007/978-3-642-02788-8. URL
http://www.springerlink.com/index/10.1007/978-3-642-02788-8.
Ramesh C. Agarwal, Charu C. Aggarwal, and V. V. V. Prasad. A Tree Projection
Algorithm for Generation of Frequent Item Sets. Journal of Parallel
and Distributed Computing, 61(3):350–371, March 2001. ISSN 0743-7315. doi:
10.1006/jpdc.2000.1693. URL http://www.sciencedirect.com/science/article/
pii/S0743731500916939.
Rakesh Agrawal and Ramakrishnan Srikant. Fast Algorithms for Mining Association
Rules. In Jorge B. Bocca, Matthias Jarke, and Carlo Zaniolo, editors, Int’l Conf. Very
Large Databases (VLDB ’94), pages 487–499, Santiago de Chile, Chile, 1994. Morgan
Kaufmann Publishers Inc. San Francisco, CA, USA.
Rakesh Agrawal and Ramakrishnan Srikant. Mining sequential patterns. In Proceedings
of the Eleventh International Conference on Data Engineering, pages 3–14. IEEE
Comput. Soc. Press, 1995. ISBN 0-8186-6910-1. doi: 10.1109/ICDE.1995.380415.
Rakesh Agrawal, Tomasz Imielinski, and Arun Swami. Mining association rules between
sets of items in large databases. In Proceedings of the 1993 ACM SIGMOD international
conference on Management of data, pages 207–216, Washington, D.C., 1993.
ACM New York, NY, USA.
Stephen F. Altschul and Bruce W Erickson. Optimal sequence alignment using af-
114fine gap costs. Bulletin of Mathematical Biology, 48(5-6):603–616, 1986. ISSN 0092-
8240. doi: 10.1016/S0092-8240(86)90010-8. URL http://www.sciencedirect.com/
science/article/pii/S0092824086900108.
Stephen F. Altschul, Warren Gish, Webb Miller, Eugene W. Myers, and David J. Lipman.
Basic local alignment search tool. Journal of Molecular Biology, 215:403–410,
1990. URL http://www.cmu.edu/bio/education/courses/03510/LectureNotes/
Altschul1990.pdf.
Amihood Amir and Martin Farach. Efficient 2-dimensional approximate matching of
non-rectangular figures. In SODA ’91 Proceedings of the second annual ACM-SIAM
symposium on Discrete algorithms, number 908, pages 212–223. Society for Industrial
and Applied Mathematics Philadelphia, PA, USA, 1991. URL http://dl.acm.org/
citation.cfm?id=127829.
Sarabjot Singh Anand and Bamshad Mobasher. Contextual Recommendation. In Bettina
Berendt, Andreas Hotho, Dunja Mladenic, and Giovanni Semeraro, editors, From
Web to Social Web Discovering and Deploying User and Content Profiles, volume
4737 of Lecture Notes in Computer Science, chapter 8, pages 142–160. Springer Berlin
Heidelberg, 2007. ISBN 9783540749509. doi: 10.1007/978-3-540-74951-6 8. URL
http://www.springerlink.com/content/r28874294253q051.
Alberto Apostolico, Laxmi Parida, and Simona E. Rombo. Motif patterns in 2D.
Theoretical Computer Science, 390(1):40–55, January 2008. ISSN 0304-3975. URL
http://www.sciencedirect.com/science/article/pii/S0304397507007645.
Daniel Ashbrook and Thad Starner. Learning significant locations and predicting
user movement with GPS. In Proceedings of the 6th IEEE International Symposium
on Wearable Computers, pages 101–108, Seattle, WA, USA, 2002. IEEE Computer
Society, Washington, DC, USA. ISBN 0-7695-1816-8. doi: 10.1109/ISWC.
2002.1167224. URL http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?
arnumber=1167224.
Jay Ayres, Jason Flannick, Johannes Gehrke, and Tomi Yiu. Sequential Pattern mining
using a bitmap representation. In Proceedings of the eighth ACM SIGKDD international
conference on Knowledge discovery and data mining - KDD ’02, page 429, New
York, New York, USA, 2002. ACM Press. ISBN 158113567X. doi: 10.1145/775107.
775109. URL http://portal.acm.org/citation.cfm?doid=775047.775109.
115Ricardo A. Baeza-Yates and Gonzalo Navarro. Fast two-dimensional approximate pattern
matching. In Claudio L. Lucchsei and Arnaldo V. Moura, editors, LATIN’98
Proceedings of the Third Latin American Symposium on Theoretical Informatics,
pages 341–351, Campinas, Brazil, 1998. Springer-Verlag London, UK. URL http:
//link.springer.com/chapter/10.1007/BFb0054334.
Brenda S. Baker. A program for identifying duplicated code. In Computing Science and
Statistics, pages 24:49–57, College Station, TX, USA, 1992.
Theodore P. Baker. A Technique for Extending Rapid Exact-Match String Matching
to Arrays of More than One Dimension. SIAM Journal on Computing, 7(4):533–541,
November 1978. ISSN 0097-5397. doi: 10.1137/0207043. URL http://dx.doi.org/
10.1137/0207043.
Matthias Baldauf, Schahram Dustdar, and Florian Rosenberg. A survey on contextaware
systems. International Journal of Ad Hoc and Ubiquitous Computing, 2(4):
263–277, 2007.
Leonard E. Baum, Ted Petrie, George Soules, and Norman Weiss. A maximization
technique occurring in the statistical analysis of probabilistic functions of Markov
chains. The annals of mathematical statistics, 41(1):164–171, 1970.
Victoria Bellotti, Bo Begole, Ed H. Chi, Nicolas Ducheneaut, Ji Fang, Ellen Isaacs,
Tracy King, Mark W. Newman, Kurt Partridge, Bob Price, Paul Rasmussen, Michael
Roberts, Diane J. Schiano, and Alan Walendowski. Activity-based serendipitous
recommendations with the Magitti mobile leisure guide. In Proceeding of the
twenty-sixth annual SIGCHI conference on Human factors in computing systems,
pages 1157–1166, New York, NY, USA, 2008. ACM. ISBN 9781605580111. doi:
10.1145/1357054.1357237.
Martin Berchtold, Matthias Budde, Hedda R. Schmidtke, and Michael Beigl. An extensible
modular recognition concept that makes activity recognition practical. In R¨udiger
Dillmann, J¨urgen Beyerer, Uwe Hanebeck, and Tanja Schultz, editors, Proceedings of
the 33rd annual German conference on Advances in artificial intelligence, pages 400–
409. Springer-Verlag Berlin, Heidelberg, 2010. ISBN 3-642-16110-3 978-3-642-16110-0.
doi: 10.1007/978-3-642-16111-7 46.
Kevin Beyer and Raghu Ramakrishnan. Bottom-up computation of sparse and Iceberg
CUBEs. In SIGMOD ’99 Proceedings of the 1999 ACM SIGMOD international con-
116ference on Management of data, pages 359–370, Philadelphia, PA, 1999. ACM New
York, NY, USA.
V Boonjing and P Songram. Efficient Algorithms for Mining Closed Multidimensional
Sequential Patterns, 2007.
A. J. Bernheim Brush, Amy K. Karlson, James Scott, Raman Sarin, Andy Jacobs, Barry
Bond, Oscar Murillo, Galen Hunt, Mike Sinclair, Kerry Hammil, and Steven Levi. User
experiences with activity-based navigation on mobile devices. In Proceedings of the
12th international conference on Human computer interaction with mobile devices and
services, pages 73–82, 2010. doi: 10.1145/1851600.1851616. URL http://portal.
acm.org/citation.cfm?id=1851616.
Matthew Chalmers. A Historical View of Context. Computer Supported Cooperative
Work (CSCW), 13(3-4):223–247, August 2004. ISSN 0925-9724. doi:
10.1007/s10606-004-2802-8. URL http://www.springerlink.com/index/10.1007/
s10606-004-2802-8.
Tanzeem Choudhury, Gaetano Borriello, Sunny Consolvo, Dirk Haehnel, Beverly Harrison,
Bruce Hemingway, Jeffrey Hightower, Predrag ”Pedja” Klasnja, Karl Koscher,
Anthony Lamarca, James A. Landay, Louis LeGrand, Jonathan Lester, Ali Rahimi,
Adam Rea, and Denny Wyatt. The mobile sensing platform: An embedded activity
recognition system. Pervasive Computing, 7(2):32–41, 2008.
Brian Clarkson and Alex (Sandy) Pentland. Unsupervised clustering of ambulatory audio
and video. In Proceedings of the 1999 International Conference on Acoustics,
Speech, and Signal Processing, pages 3037–3040 vol. 6, Phoenix, Arizona, United
States, 1999. IEEE. doi: 10.1109/ICASSP.1999.757481. URL http://ieeexplore.
ieee.org/xpls/abs_all.jsp?arnumber=757481.
Brian Patrick Clarkson. Life Patterns : structure from wearable sensors. PhD thesis,
MIT, 2003.
Diane J. Cook, Michael Youngblood, Edwin O. Heierman, Karthik Gopalratnam, Sira
Rao, Andrey Litvin, and Farhan Khawaja. MavHome : An Agent-Based Smart Home.
In Proceedings of the First IEEE International Conference on Pervasive Computing
and Communications (PerCom 2003), pages 521–5244, Fort Worth, TX, 2003. IEEE.
ISBN 0769518931.
Brian A. Davey and Hilary A. Priestley. Introduction to Lattices and Order (2. ed.).
Cambridge University Press, 2002. ISBN 978-0-521-78451-1.
117Pedro Domingos and Geoff Hulten. Mining high-speed data streams. In Proceedings of
the sixth ACM SIGKDD international conference on Knowledge discovery and data
mining, KDD ’00, pages 71–80, New York, NY, USA, 2000. ACM. ISBN 1-58113-233-6.
doi: 10.1145/347090.347107. URL http://doi.acm.org/10.1145/347090.347107.
Paul Dourish. What we talk about when we talk about context. Personal
and Ubiquitous Computing, 8(1):19–30, February 2004. ISSN 1617-4909. doi:
10.1007/s00779-003-0253-8. URL http://www.springerlink.com/openurl.asp?
genre=article&id=doi:10.1007/s00779-003-0253-8.
Nathan Eagle and Alex (Sandy) Pentland. Reality mining: sensing complex social systems.
Personal and Ubiquitous Computing, 10(4):255–268, November 2005. ISSN
1617-4909. doi: 10.1007/s00779-005-0046-3. URL http://link.springer.com/10.
1007/s00779-005-0046-3.
Nathan Eagle and Alex (Sandy) Pentland. Eigenbehaviors: identifying structure in
routine. Behavioral Ecology and Sociobiology, 63(7):1057–1066, April 2009. ISSN
0340-5443. doi: 10.1007/s00265-009-0739-0. URL http://www.springerlink.com/
index/10.1007/s00265-009-0739-0.
Vincent Etter, Mohamed Kafsi, and Ehzan Kazemi. Been There, Done That : What
Your Mobility Traces Reveal about Your Behavior. In Nokia Mobile Data Challenge
- Next Place Prediction, 2012.
Simone Faro and Thierry Lecroq. The Exact Online String Matching Problem : a Review
of the Most Recent Results. ACM Computing Surveys (CSUR), 45(2):Article No. 13,
2013. doi: 10.1145/0000000.0000000.
Huiji Gao, Jiliang Tang, and Huan Liu. Mobile Location Prediction in Spatio-Temporal
Context. In Nokia Mobile Data Challenge - Next Place Prediction, number 2, 2012.
Fosca Giannotti, Mirco Nanni, and Dino Pedreschi. Efficient mining of temporally annotated
sequences. In In Proc. SDM’06, pages 348–359, 2006.
Fosca Giannotti, Mirco Nanni, Dino Pedreschi, and Fabio Pinelli. Trajectory pattern
mining. In Proceedings of the International Conference on Knowledge Discovery and
Data Mining (KDD), pages 330–339, San Jose, CA, 2007. ISBN 9781595936097.
Marta C. Gonzalez, Cesar A. Hidalgo, and Albert-Laszlo Barabasi. Understanding individual
human mobility patterns. Nature, 453(7196):779–782, June 2008. ISSN 0028-
0836.
118G¨osta Grahne and Jianfei Zhu. Efficiently Using Prefix-trees in Mining Frequent
Itemsets. In Proceedings of the ICDM’03 international workshop on requent itemset
mining implementations (FIMI ’03), volume 15, pages 123–132, Melbourne,
FL, 2003. URL http://ftp.informatik.rwth-aachen.de/Publications/CEUR-WS/
Vol-90/grahne.pdf.
M A Hall. Correlation-based feature selection for machine learning. PhD thesis, The
University of Waikato, 1999.
Mark Hall, Eibe Frank, Geoffrey Hilmes, Bernhard Pfahringer, Peter Reutemann, and
Ian H Witten. The WEKA Data Mining Software: An Update. SIGKDD Explorations,
11(1), 2009.
Jiawei Han and Yongjian Fu. Discovery of multiple-level association rules from large
databases. In Proceeding of the 21st international conference on very large data bases
(VLDB’95), pages 420–431, Zurich, Switzerland, 1995.
Jiawei Han, Jian Pei, Behzad Mortazavi-Asl, Qiming Chen, Umeshwar Dayal, and MeiChun
Hsu. FreeSpan: frequent pattern-projected sequential pattern mining. In KDD
’00 Proceedings of the sixth ACM SIGKDD international conference on Knowledge
discovery and data mining, pages 355–259. ACM New York, NY, USA, 2000a.
Jiawei Han, Jian Pei, and Yiwen Yin. Mining frequent patterns without candidate
generation. In SIGMOD ’00 Proceedings of the 2000 ACM SIGMOD international
conference on Management of data, pages 1–12, Dallas, TX, 2000b. ISBN 1581132182.
doi: 10.1145/335191.335372.
Jiawei Han, Micheline Kamber, and Jian Pei. Data mining: concepts and techniques.
Morgan kaufmann, 2006. ISBN 0080475582.
Jiawei Han, Hong Cheng, Dong Xin, and Xifeng Yan. Frequent pattern mining: current
status and future directions. Data Mining and Knowledge Discovery, 15(1):55–86,
January 2007. ISSN 1384-5810. doi: 10.1007/s10618-006-0059-1. URL http://link.
springer.com/10.1007/s10618-006-0059-1.
Martin Heidegger. Sein und Zeit. Max Niemayer Verlag, T¨ubingen, 10 (1963) edition,
1927.
Steven Henikoff and Jorja G. Henikoff. Amino acid substitution matrices from protein
blocks. Proceedings of the National Academy of Sciences of the United States of
America, 89(22):10915–10919, November 1992. ISSN 0027-8424.
119Johan Himberg, Kalle Korpiaho, Heikki Mannila, Johanna Tikanm¨aki, and Hannu T. T.
Toivonen. Time series segmentation for context recognition in mobile devices. In
Proceedings 2001 IEEE International Conference on Data Mining, volume c, pages
203–210. IEEE Comput. Soc, 2001. ISBN 0-7695-1119-8. doi: 10.1109/ICDM.
2001.989520. URL http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?
arnumber=989520.
Daniel S. Hirschberg. A Linear Space Algorithm for Computing Maximal Common
Subsequences. Communications of the ACM, 18(6):341–343, 1975.
Wassily Hoeffding. Probability Inequalities for Sums of Bounded Random Variables.
Journal of the American Statistical Association, 58(301):13–30, March 1963.
ISSN 0162-1459. doi: 10.1080/01621459.1963.10500830. URL http://amstat.
tandfonline.com/doi/abs/10.1080/01621459.1963.10500830.
Geoffrey Holmes, Bernhard Pfahringer, Richard Kirkby, Eibe Frank, and Mark Hall.
Multiclass alternating decision trees. In ECML, pages 161–172. Springer, 2001.
Geoffrey Holmes, Bernhard Pfahringer, Richard Kirkby, Eibe Frank, and Mark Hall.
Multiclass Alternating Decision Trees. In Proceedings of the 13th European Conference
on Machine Learning, ECML ’02, pages 161–172, London, UK, UK, 2002. SpringerVerlag.
ISBN 3-540-44036-4. URL http://dl.acm.org/citation.cfm?id=645329.
650070.
George H. John and Pat Langley. Estimating Continuous Distributions in Bayesian
Classifiers. In Eleventh Conference on Uncertainty in Artificial Intelligence, pages
338–345, San Mateo, 1995. Morgan Kaufmann.
Juyoung Kang and Hwan-Seung Yong. Mining spatio-temporal patterns in trajectory
data. Journal of Information Processing Systems, 6(4):521–536, 2010.
Tuula K¨arkk¨ainen, Tuomas Vaittinen, and Kaisa V¨a¨an¨anen-Vainio-Mattila. I Don’t
Mind Being Logged, but Want to Remain in Control: A Field Study of Mobile Activity
and Context Logging. In Proceedings of the 28th international conference on Human
factors in computing systems - CHI ’10, pages 163–172, Atlanta, GA, USA, 2010.
ACM New York, NY, USA. ISBN 9781605589299.
Richard M Karp and M O Rabin. Efficient randomized pattern-matching algorithms,
1987.
120Dimitrios Katsaros and Yannis Manolopoulos. A Suffix Tree Based Prediction Scheme
for Pervasive Computing Environments. In Panayiotis Bozanis and Elias N. Houstis,
editors, 10th Panhellenic Conference on Informatics, PCI 2005, pages 267–277, Volos,
Greece, 2005.
Dimitrios Katsaros, Alexandros Nanopoulos, Murat Karakaya, Gokhan Yavas, Ozg ur
Ulusoy, and Yannis Manolopoulos. Clustering mobile trajectories for resource allocation
in mobile environments. In Proceedings of the 5th International Symposium on
Intelligent Data Analysis, IDA 2003, number 102, pages 319–329, Berlin, Germany,
2003. Springer Berlin Heidelberg.
Eamonn Keogh, Jessica Lin, and Wagner Truppel. Clustering of time-series subsequences
is meaningless: implications for previous and future research. In Proceedings of the
Third IEEE International Conference on Data Mining (ICDM’03), pages 115–122,
2003. ISBN 0769519784.
Niko Kiukkonen, Jan Blom, Olivier Dousse, Daniel Gatica-Perez, and Juha K. Laurila.
Towards rich mobile phone datasets: Lausanne data collection campaign. In Proceedings
of ACM international conference on pervasive services (ICPS), Berlin, 2010.
Donald E. Knuth, James H. Morris, Jr, and Vaughan R. Pratt. Fast pattern matching in
strings. SIAM journal on computing, 6(2):323–350, 1977. URL http://epubs.siam.
org/doi/abs/10.1137/0206024.
David Kotz and Kobby Essien. Analysis of a campus-wide wireless network. Wireless
Networks, 11(1-2):115–133, 2005. ISSN 1022-0038.
Kamala Krithivasan and R Sitalakshmi. Efficient two-dimensional pattern matching in
the presence of errors. Information Sciences, 43(3):169–184, December 1987. ISSN
0020-0255. doi: 10.1016/0020-0255(87)90037-5. URL http://www.sciencedirect.
com/science/article/pii/0020025587900375.
Hye-Chun Kum, Jian Pei, Wei Wang, and Dean Duncan. ApproxMAP: Approximate
mining of consensus sequential patterns. In Third SIAM International Conference on
Data Mining (SIAM-DM), pages 311–315, San Francisco, CA, 2003.
Kari Laasonen. Clustering and prediction of mobile user routes from cellular data. In
Knowledge Discovery in Databases: PKDD 2005, pages 569–576, Porto, Portugal,
2005.
121Philip Laird. Identifying and using patterns in sequential data. In KlausP. Jantke,
Shigenobu Kobayashi, Etsuji Tomita, and Takashi Yokomori, editors, Algorithmic
Learning Theory SE - 1, volume 744 of Lecture Notes in Computer Science, pages
1–18. Springer Berlin Heidelberg, 1993. ISBN 978-3-540-57370-8. doi: 10.1007/
3-540-57370-4 33.
Juha K. Laurila, Daniel Gatica-Perez, Imad Aad, Jan Blom, Olivier Bornet, TrinhMinh-Tri
Do, Olivier Dousse, Julien Eberle, and Markus Miettinen. The mobile data
challenge: Big data for mobile computing research. In Mobile Data Challenge by Nokia
Workshop in Conjunction with Int. Conf. on Pervasive Computing, Newcastle, UK,
2012.
Thierry Lecroq, Alexandre Pauchet, Emilie Chanoni, and Gerardo Solano Ayala. Pattern ´
discovery in annotated dialogues using dynamic programming. International Journal
of Intelligent Information and Database Systems, 6(6):603–618, 2012.
Philip I. S. Lei and Angus K. Y. Wong. The Multiple-Touch User Interface Revolution.
IT Professional, 11(February):42–49, 2009.
Jonathan Lester, Tanzeem Choudhury, and Gaetano Borriello. A practical approach to
recognizing physical activities. Pervasive Computing, pages 1–16, 2006. doi: 10.1.1.
138.6972.
Chao Li and Katharine Willis. Modeling context aware interaction for wayfinding using
mobile devices. In Proceedings of the 8th conference on Human-computer interaction
with mobile devices and services - MobileHCI ’06, page 97, New York, New York,
USA, 2006. ACM. ISBN 1595933905. doi: 10.1145/1152215.1152235. URL http:
//portal.acm.org/citation.cfm?doid=1152215.1152235.
David J. Lipman and William R. Pearson. Rapid and sensitive protein similarity
searches. Science, 227(4693):1435–1441, March 1985. doi: 10.1126/science.2983426.
URL http://www.sciencemag.org/content/227/4693/1435.abstract.
H Liu and R Setiono. A probabilistic approach to feature selection - A filter solution.
In 13th International Conference on Machine Learning, pages 319–327, 1996.
Nizar R. Mabroukeh and C. I. Ezeife. A taxonomy of sequential pattern mining algorithms.
ACM Computing Surveys, 43(1):3:1–3:41, November 2010. ISSN 03600300.
doi: 10.1145/1824795.1824798. URL http://portal.acm.org/citation.cfm?doid=
1824795.1824798.
122Heikki Mannila, Hannu Toivonen, and A. Inkeri Verkamo. Efficient Algorithms for Discovering
Association Rules. In AAAI Workshop on Knowledge Discovery in Databases
(KDD-94), number July, pages 181–192. AAAI Press, 1994.
Jani M¨antyj¨arvi, Johan Himberg, Petri Kangas, Urpo Tuomela, and Pertti Huuskonen.
Sensor Signal Data Set for Exploring Context Recognition of Mobile Devices. In
Workshop ”Benchmarks and a database for context recognition” in conjuction with the
2nd Int. Conf. on Pervasive Computing (PERVASIVE 2004), Linz/Vienna, Austria,
2004.
Edward M. McCreight. A space-economical suffix tree construction algorithm. Journal of
the ACM (JACM), 23(2):262–272, 1976. URL http://dl.acm.org/citation.cfm?
id=321946.
Carl H. Mooney and John F. Roddick. Sequential Pattern Mining - Approaches and
Algorithms. ACM Computing Surveys (CSUR), 45(2):19:1–19:39, 2013. doi: 10.1145/
2431211.2431218.
Cory S. Myers and Lawrence R. Rabiner. A Comparative Study of Several Dynamic
Time-Warping Algorithms for Connected-Word. Bell System Technical Journal, 60
(7):1389–1409, 1981.
Eugene W. Myers and Webb Miller. Optimal alignments in linear space. Computer
applications in the biosciences : CABIOS, 4(1):11–17, March 1988. doi: 10.
1093/bioinformatics/4.1.11. URL http://bioinformatics.oxfordjournals.org/
content/4/1/11.abstract.
Mirco Nanni, Roberto Trasarti, Chiara Renso, Fosca Giannotti, and Dino Pedreschi.
Advanced Knowledge Discovery on Movement Data with the GeoPKDD system. In
Proceedings of the 13th International Conference on Extending Database Technology
EDBT ’10, pages 693–696. ACM New York, NY, USA, 2010. ISBN 9781605589459.
Gonzalo Navarro. A guided tour to approximate string matching. ACM Computing
Surveys, 33(1):31–88, March 2001. ISSN 03600300. doi: 10.1145/375360.375365. URL
http://portal.acm.org/citation.cfm?doid=375360.375365.
Saul B. Needleman and Christian D. Wunsch. A general method applicable to the search
for similarities in the amino acid sequence of two proteins. Journal of molecular biology,
48(3):443–453, 1970.
123Kurt Partridge and Bob Price. Enhancing Mobile Recommender Systems with Activity
Inference. User Modeling, Adaptation, and Personalization, pages 307–318, 2009.
Nicolas Pasquier, Yves Bastide, Rafik Taouil, and Lotfi Lakhal. Discovering Frequent
Closed Itemsets for Association Rules. In Catriel Beeri and Peter Buneman, editors,
Database Theory – ICDT ’99 SE - 25, volume 1540 of Lecture Notes in Computer Science,
pages 398–416. Springer Berlin Heidelberg, 1999. ISBN 978-3-540-65452-0. doi:
10.1007/3-540-49257-7\ 25. URL http://dx.doi.org/10.1007/3-540-49257-7_25.
Alexandre Pauchet, Abed Mohamad El, Tayeb Merabti, Elise Prieur, Thierry Lecroq, ´
and St´efan Darmoni. Identification de r´ep´etitions dans les navigations au sein d’un
catalogue de sant´e. Revue d Intelligence Artificielle, 23(1):113–132, 2009. URL http:
//hal.archives-ouvertes.fr/hal-00450114.
Alexandre Pauchet, Fran¸cois Rioult, Emilie Chanoni, Zacharie Ales, and Ovidiou Serban. ´
Advances on Dialogue Modelling Interactive Narration Requires Prominent Interaction
and Emotion. In International Conference on Agents and Artificial Intelligence, pages
527–530, Barcelona, Spain, 2013.
Jian Pei, Jiawei Han, Behzad Mortazavi-asl, and Hua Zhu. Mining Access Patterns Ef-
ficiently from Web Logs. In Proceedings of the 4th Pacific-Asia Conference on Knowledge
Discovery and Data Mining, PAKDD 2000, volume 0, pages 396–407, Kyoto,
Japan, 2000. Springer Berlin Heidelberg.
Jian Pei, Jiawei Han, Behzad Mortazavi-Asl, Helen Pinto, Qiming Chen, Umeshwar
Dayal, and Mei-Chun Hsu. Prefixspan: Mining sequential patterns efficiently by prefixprojected
pattern growth. In Proceeding of the 2001 international conference on data
engineering (ICDE’01), pages 215–224, Heidelberg, Germany, 2001.
Jian Pei, Jiawei Han, Behzad Mortazavi-Asl, Jianyong Wang, Helen Pinto, Qiming Chen,
Umeshwar Dayal, and Mei-Chun Hsu. Mining Sequential Patterns by Pattern-Growth
: The PrefixSpan Approach. IEEE Transactions on Knowledge and Data Engineering,
16(10):1424–1440, 2004.
Dan Pelleg and Andrew Moore. X-means: Extending k-means with efficient estimation
of the number of clusters. In Proceedings of the Seventeenth International Conference
on Machine Learning, pages 727–734, 2000.
Helen Pinto, Jiawei Han, Jian Pei, Ke Wang, Qiming Chen, and Umeshwar Dayal.
Multi-dimensional sequential pattern mining. In Proceedings of the tenth international
124conference on Information and knowledge management - CIKM’01, pages 81–88, New
York, New York, USA, 2001. ACM. ISBN 1581134363. doi: 10.1145/502598.502600.
James Pitkow and Peter Pirolli. Mining longest repeating subsequences to predict world
wide web surfing. In Proceedings of USITS ’99: The 2nd USENIX Symposium on
Internet Technologies & Systems, pages 139–150, 1999.
Marc Plantevit, Anne Laurent, Dominique Laurent, Maguelonne Teisseire, and Yeow Wei
Choong. Mining multidimensional and multilevel sequential patterns. ACM Transactions
on Knowledge Discovery from Data, 4:4:0–4:37, 2010. doi: 10.1145/1644873.
1644877. URL http://dl.acm.org/citation.cfm?id=1644877.
John C. Platt. Advances in kernel methods. chapter Fast train, pages 185–208. MIT
Press, Cambridge, MA, USA, 1999. ISBN 0-262-19416-3. URL http://dl.acm.org/
citation.cfm?id=299094.299105.
Mika Raento. Mobile communication and context dataset. In Proceedings of the Workshop
towards Benchmarks and a Database for Context Recognition, International Conference
on Pervasive Computing, Vienna, Austria, 2004.
Mika Raento, Antti Oulasvirta, Renaud Petit, and Hannu Toivonen. ContextPhone:
A Prototyping Platform for Context-Aware Mobile Applications. IEEE Pervasive
Computing, 4(2):51–59, 2005. ISSN 1536-1268. doi: 10.1109/MPRV.2005.29.
Sherif Rashad, Mehmed Kantardzic, and Anup Kumar. PAC-WHN: Predictive Admission
Control for Wireless Heterogeneous Networks. In 2007 IEEE Symposium
on Computers and Communications, pages 139–144. Ieee, July 2007a. ISBN 978-1-
4244-1520-5. doi: 10.1109/ISCC.2007.4381633. URL http://ieeexplore.ieee.org/
lpdocs/epic03/wrapper.htm?arnumber=4381633.
Sherif Rashad, Mehmed Kantardzic, and Anup Kumar. MSP-CACRR: Multidimensional
Sequential Patterns Based Call Admission Control and Resource Reservation
for Next-Generation Wireless Cellular Networks. 2007 IEEE Symposium on Computational
Intelligence and Data Mining, (Cidm):552–559, 2007b. doi: 10.1109/
CIDM.2007.368924. URL http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.
htm?arnumber=4221348.
Simona E. Rombo. Optimal extraction of motif patterns in 2D. Information Processing
Letters, 109(17):1015–1020, August 2009. ISSN 0020-0190. URL http:
//www.sciencedirect.com/science/article/pii/S0020019009001926.
125D Sankoff. Matching sequences under deletion-insertion constraints. Proceedings of the
National Academy of Sciences of the United States of America, 69(1):4–6, January
1972. ISSN 0027-8424. URL http://www.pubmedcentral.nih.gov/articlerender.
fcgi?artid=427531&tool=pmcentrez&rendertype=abstract.
Albrecht Schmidt, Michael Beigl, and Hans-W. Gellersen. There is more to context
than location. Computers & Graphics, 23(6):893–901, December 1999. doi: 10.1016/
S0097-8493(99)00120-X.
Stephan Sigg, Sandra Haseloff, and Klaus David. An Alignment Approach for Context
Prediction Tasks in UbiComp Environments. IEEE Pervasive Computing, 9(4):90–
97, 2010. ISSN 1536-1268. doi: 10.1109/MPRV.2010.23. URL http://ieeexplore.
ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5406495.
Temple F. Smith and Michael S. Waterman. Identification of common molecular subsequences.
Journal of Molecular Biology, 147(1):195–197, 1981. ISSN 0022-2836.
Libo Song, David Kotz, Ravi Jain, and Xiaoning He. Evaluating location predictors
with extensive Wi-Fi mobility data. In INFOCOM 2004. Twenty-third AnnualJoint
Conference of the IEEE Computer and Communications Societies, volume 00, pages
1414–1424 vol. 2, Hong Kong, China, 2004. ISBN 0780383567.
P. Songram, V. Boonjing, and S. Intakosum. Closed Multidimensional Sequential Pattern
Mining. In Third International Conference on Information Technology: New Generations
(ITNG’06), pages 512–517, Las Vegas, NV, USA, 2006. Ieee. ISBN 0-7695-
2497-4. doi: 10.1109/ITNG.2006.41. URL http://ieeexplore.ieee.org/lpdocs/
epic03/wrapper.htm?arnumber=1611644.
Ramakrishnan Srikant and Rakesh Agrawal. Mining generalized association rules. In
Proceeding of the 21st international conference on very large data bases (VLDB’95),
pages 407–419, Zurich, Switzerland, 1995.
Ramakrishnan Srikant and Rakesh Agrawal. Mining sequential patterns: Generalizations
and performance improvements. In EDBT’96 Proceeding of the 5th international conference
on extending database technology: Advances in Database Technology, pages
3–17, Avignon, France, 1996. Springer-Verlag London, UK.
Mark P. Styczynski, Kyle L. Jensen, Isidore Rigoutsos, and Gregory Stephanopoulos.
BLOSUM62 miscalculations improve search performance. Nat Biotech, 26(3):274–275,
March 2008. ISSN 1087-0156. doi: 10.1038/nbt0308-274.
126Christian Voigtmann, Klaus David, Hendrik Skistims, and Alexander Roßnagel.
Legal assessment of context prediction techniques. 2012 IEEE Vehicular Technology
Conference (VTC Fall), pages 1–5, September 2012. doi: 10.1109/VTCFall.
2012.6399381. URL http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?
arnumber=6399381.
Jianyong Wang and Jiawei Han. BIDE: efficient mining of frequent closed sequences. In
Proceedings of the 20th International Conference on Data Engineering, 2004., pages
79–90, 2004. ISBN 1063-6382 VO -. doi: 10.1109/ICDE.2004.1319986.
Jingjing Wang and Bhaskar Prabhala. Periodicity Based Next Place Prediction. In
Nokia Mobile Data Challenge - Next Place Prediction, 2012.
Wei Wang, Jiong Yang, and Philip S. Yu. Mining patterns in long sequential data with
noise. ACM SIGKDD Explorations Newsletter, 2(2):28–33, December 2000. ISSN
19310145. doi: 10.1145/380995.381008. URL http://portal.acm.org/citation.
cfm?doid=380995.381008.
Janet L. Wesson, Akash Singh, and Bradley van Tonder. Can Adaptive Interfaces Improve
the Usability of Mobile Applications? Human-Computer Interaction, pages
187–198, 2010.
Xifeng Yan, Jiawei Han, and Ramin Afshar. CloSpan: Mining closed sequential patterns
in large datasets. In Proc. 2003 SIAM Int’l Conf. Data Mining (SDM’03), pages
166–177, 2003.
Guizhen Yang. The complexity of mining maximal frequent itemsets and maximal
frequent patterns. In Proceedings of the tenth ACM SIGKDD international conference
on Knowledge discovery and data mining, KDD ’04, pages 344–353, New York,
NY, USA, 2004. ACM. ISBN 1-58113-888-1. doi: 10.1145/1014052.1014091. URL
http://doi.acm.org/10.1145/1014052.1014091.
Jiong Yang, Wei Wang, Philip S. Yu, and Jiawei Han. Mining long sequential patterns in
a noisy environment. Proceedings of the 2002 ACM SIGMOD international conference
on Management of data - SIGMOD ’02, 4(d):406, 2002. doi: 10.1145/564736.564738.
URL http://portal.acm.org/citation.cfm?doid=564691.564738.
Zhenglu Yang and Masaru Kitsuregawa. LAPIN-SPAM: An Improved Algorithm for
Mining Sequential Pattern. In 21st International Conference on Data Engineering
Workshops (ICDEW’05), pages 1222–1222. Ieee, 2005. ISBN 0-7695-2657-8.
127doi: 10.1109/ICDE.2005.235. URL http://ieeexplore.ieee.org/lpdocs/epic03/
wrapper.htm?arnumber=1647839.
Zhenglu Yang, Yitong Wang, and M Kitsuregawa. LAPIN: effective sequential pattern
mining algorithms by last position induction for dense databases. In R. Kotagirim,
P. R. Krishna, M. Mohania, and E. Nantajeewarawat, editors, 12th International
Conference on Database Systems for Advanced Applications, DASFAA 2007, volume 1,
pages 1020–1023, Bangkok, Thailand, 2007. Springer Berlin Heidelberg. URL http:
//link.springer.com/chapter/10.1007/978-3-540-71703-4_95.
Mariko Yoshida, Tetsuya Iizuka, Hisako Shiohara, and Masanori Ishiguro. Mining sequential
patterns including time intervals. volume 4057, pages 213–220, 2000. URL
http://dx.doi.org/10.1117/12.381735.
Mohammed J. Zaki. Efficient enumeration of frequent sequences. In Proceedings of the
seventh international conference on Information and knowledge management, pages
68–75. ACM, 1998. URL http://dl.acm.org/citation.cfm?id=288643.
Mohammed J. Zaki. Scalable algorithms for association mining. IEEE Transactions on
Knowledge and Data Engineering, 12(3):372–390, 2000. URL http://ieeexplore.
ieee.org/xpls/abs_all.jsp?arnumber=846291.
Mohammed J. Zaki. SPADE: An Efficient Algorithm for Mining Frequent Sequences. Machine
Learning, 42(1-2):31–60, 2001. ISSN 0885-6125. doi: 10.1023/A:1007652502315.
URL http://dx.doi.org/10.1023/A:1007652502315.
Qiankun Zhao and Sourav S. Bhowmick. Sequential pattern mining: A survey. Technical
Report 2003118, CAIS Nayang Technological University Singapore, 2003. URL http:
//www.textedu.ru/tw_files2/urls_6/147/d-146938/7z-docs/5.pdf.
Zhou Zhao, Da Yan, and Wilfred Ng. Mining Probabilistically Frequent Sequential
Patterns in Large Uncertain Databases. IEEE Transactions on Knowledge and Data
Engineering, 99(PrePrints):1, July 2013. ISSN 1041-4347. doi: 10.1109/TKDE.2013.
124. URL http://doi.ieeecomputersociety.org/10.1109/TKDE.2013.124.
Yu Zheng, Lizhu Zhang, Zhengxin Ma, Xing Xie, and Wei-Ying Ma. Recommending
friends and locations based on individual location history. ACM Transactions on the
Web, 5(1):1–44, February 2011. ISSN 15591131. doi: 10.1145/1921591.1921596. URL
http://portal.acm.org/citation.cfm?doid=1921591.1921596.
128Rui Feng Zhu and Tadao Takaoka. A technique for two-dimensional pattern matching.
Communications of the ACM, 32(9):1110–1120, 1989. URL http://dl.acm.org/
citation.cfm?id=66459.
Jacob Ziv and Abraham Lempel. Compression of individual sequences via variablerate
coding. Information Theory, IEEE Transactions on, 24(5):530–536, 1978. ISSN
0018-9448.
129Benchmarks of Supervised Classification
Algorithms for Next Place Prediction
A.1 The Next Place Prediction Problem
This annex illustrates our efforts undertaken in the context of the Nokia Mobile Data
Challenge (MDC, Laurila et al. [2012]) task 2 “Next Place Prediction”. Our aim is to
assess the performance of some well explored statistical algorithms chosen according to
our expectations of their suitability, as well as classic “benchmark” approaches. This
allows the selection of the most accurate algorithm for the prediction task, and a general
judgement on the suitability of the approaches for this task.
A step of pre-treatment of the MDC dataset is required to generate a subset of data
that is suitable for training a statistical model using the algorithms explored. This
treatment consists of a combination of two global – being applied equally to all users
– filters, the first of which is an a priori “2D” feature selection, and the second a
projection of these values into a 1D feature vector. Subsequently two statistical methods
of feature selection are evaluated on this vector on per user basis. This pre-processing
step is documented in the second section. The third section contains a brief presentation
of the algorithms examined and their respective evaluation results. The final section
summarizes the results and contains our conclusions.
A.2 Dataset Analysis
The MDC dataset [Laurila et al., 2012] is highly heterogeneous in nature. This stems
both from the peculiarities of the group providing the data, and from the challenges of
leading a large scale acquisition campaign. The most obvious heterogeneity lies in the
130difference of sizes of the per-user data sets: around 620 MB±320 MB in human readable,
tabulator separated value format. Additionally, different users have made different use
of the phone capabilities, leading to different distributions of useful data, e.g. some
users not using the calendar functionality of their phone, and others using it extensively.
The size of the dataset is also an important quantity: the “width” – i.e. the number of
different data sources – is large (around 75 features), but the actual number of training
cases (per individual) for the next place prediction task is fairly small (between 100 and
1500). This means that statistical analysis is more likely to be influenced by outliers,
potentially leading to inadvertent overfitting of models and in general a higher error for
the smaller sub-datasets. The data itself can also be unreliable: there are intervals of
missing data and occasionally the data does not pass basic sanity tests, e.g. a time zone
changing by many hours, during a single visit. The hardware homogenity at least allows
for some transversal coherency of the gathered data, but this is of little consequence for
the next place prediction.
We propose a three-step approach for the preparation of this data, that consists of
two a priori selection, and a final statistic filtering, using either the consistency criterion
proposed by Liu and Setiono [1996] or a correlation-based feature selector (Cfs, [Hall,
1999]). In the first step we select twelve features, that should influence or indicate the
decision which location is going to be visited next, according to our global conceptual
model. From the 75 features available, this is the subset used as base of the model:
❼ hour of the day and day of the week – based on the assumption that certain visits
will have a regularity in time, which is the case in non-shift workers and students;
❼ place id – based on the assumption, that some places are visited exclusively after
a visit of another place;
❼ bluetooth devices – can link to sub-locations of a visit, transportation choice or
the social environment;
❼ applications used – a mapping application may strongly correlate with first-time
visits, the messaging application may provide information on a social link;
❼ call / message type – an outgoing or incoming phone call or message influence the
choice of next location;
❼ call duration – the length of a phone call is expected to be an indicator of the
social link between call participants;
❼ call / message contact – the contact can be an indicator of the next destination;
131❼ movement of the phone – is an indicator of physical activity, which could indicate
a destination;
❼ charging state – if the phone is charged at a place, it can be expected that the next
place is less likely to have charging facilities available, or that a long transition will
follow;
❼ battery level – if the battery level at departure is low, the next location is likely
to be a place with charging facilities, and close by;
❼ calendar event titles – both the knowledge that a calendar event is linked to the
current place and visit, as well as the next known calendar event are clearly hints
at the following destination.
As most of these values are time dependant during a visit, the next step is to project the
key information of these twelve features into a single characteristic vector. Here again
the choices were made based on expected utility and with the goal of minimizing the
features to limit noise and computational effort required.
Per visit, the hour of day and day of week values were retained for both the beginning
and end of the visit. The two most frequently encountered bluetooth addresses were
recorded, as well as the two most frequently used phone applications. The details of the
last communication (incoming/outgoing, message/call and contact ID), the sum of all
acceleration values with a log weighting favouring the end of the visit, the portion of
the visit that the phone was connected to the charger, the mean battery level as well as
the battery level at the end of the visit and any calendar event during the following 24
hours and the first calendar event planned for the current visit.
On average 59.6% (±14.3) of recorded visits were to the two most visited locations.
More than one third of visits, 37.2% (±11.2), were to the most visited location. This
value represents a lower boundary for prediction precision, when using the training set
for evaluation. Around one sixth of the visits were to places that had an incidence rate
below one percent. These were grouped as a single location, which, when predicted, are
considered to be a new location.
A.3 Next Visit Prediction
It is currently beyond the scale of physical and logical modelling to emulate the decisionmaking
process of a person, even if their complete context and history are known. In
addition our knowledge of users and their context are imperfect. Even logical links
132Table A.1.: Classifier and Filter Configurations Tested
Classifier Classifier Explicit Multiclass
Settings Schemes
NaiveBayes [John and Langley, 1995] Kernel estimator none
(“NB”) 1-1 (“M3”)
1-all (“M0”)
LADTree [Holmes et al., 2001] 10 or 20 Boosts none
(“LAD”) 1-1 (“M3”)
1-all (“M0”)
SMO [Platt, 1999] Complexity parameter none
C = 0.5 or 10 1-1 (“M3”)
Polynomial Kernel 1-all (“M0”)
with exponent
E = 1.0 or 2.0
between a decision and known context cannot be certainly established; at best different
correlation measures could be calculated. As a result, there is no clear a priori indication
which statistical classification model is best applicable to this process. Hence an
empirical, iterative approach is the way we choose to obtain a predictor with optimal
accuracy. A common evaluation scenario similar to the test scenario was chosen, dividing
the training set along a 90%/10% split. The first 90% were used as training set, which
was then evaluated on the other 10%. The evaluation metric is the ratio and number of
correct predictions.
Our interpretation of the problem as a multi-class classification problem, with asymmetrically
sized classes and a mixed characteristic vector, containing both numerical and
nominal values, permitted us to evaluate the naive Bayesian approach [John and Langley,
1995], the LogitBoost alternating decision (LAD, [Holmes et al., 2001]) tree classifier and
a support vector machine based classifier, the sequential minimal optimization (SMO,
[Platt, 1999]) algorithm. These methods represent three different approaches to statistical
modelling and are all flexible enough to accept our dataset without modification.
The specific configurations are referenced in Table 1. Additionally we tested four
configurations of the feature vector, a basic vector using just the time and location
information of the previous visit (time of day and day of week of both beginning and
end of the visit and location), the extended vector (labeled “full” in the graphs) including
the context data mentioned above, and two reduced vectors, using the features selected
by either the correlation based feature selection filter (labelled “Cfs”) or consistency
based feature selection [Liu and Setiono, 1996] filter (labelled “Consist”). For each filter
13330
35
40
45
50
55
Mean
Number of
Correct
Predictions
Relative
Accuracy
(%)
Figure A.3.1.: Results for the Naive Bayes Classification Algorithm
we were able to use an exhaustive search algorithm, due to our limited feature set size.
These four variants allow us to show the impact of the availability of additional context
information as well as what can be achieved by filtering on a per user level.
To cater to the multi-class nature of the task, we used each algorithm’s natural multiclass
approach, and also put in place two variants that forced the classifiers to function
in 1-against-all (labelled M0 in the graphs) and 1-against-1 (labelled M3) mode. For our
experiments, we used the Weka statistics suite [Hall et al., 2009].
In the following we present the results of our evaluation of a total of 84 different con-
figurations. We constrain ourself to two evaluation scores: mean absolute accuracy, i.e.
the average number of correct predictions, and mean relative accuracy, i.e. the average
percentage of correct predictions. The former is a closer indicator of the algorithm’s
performance for the challenge, the latter is a better measure of overall user experience.
Significantly larger numbers of boost iterations for the LADtree could not be used, as
the data set for some users is too small. The partial results we did obtain were not
indicative of precision enhancements. Similarly, our attempts to run exhaustive error
correction multiclass classifiers were foiled by the large size of other user’s data sets,
which required more than 4GB of memory.
Looking at the results of the naive Bayes classifier (see Fig. A.3.1), it becomes obvious,
that it is negatively impacted (losing around 5 percent points of average accuracy) by the
additional context information, unless it is filtered. Otherwise, results vary very little:
mean accuracy is between 49% and 52%, the average number of correct predictions
varies between 30 and 31 for the full feature vector and between 32.5 and 35 in the other
configurations. Specifically, the minimalist dataset has the same average accuracy as the
feature selection filtered variants of the full dataset.
134Figure A.3.2.: Results for the LogitBoost Adaptive Decision Tree Classification Algorithm
Figure A.3.3.: Results for the SMO Classification Algorithm without Feature Selection
Filters
The LADtree (see Fig. A.3.2) model is the most stable of all tested algorithms, and
appears to perform almost independently of the additional data. Mean accuracy is consistently
between 49 and 52 percent and there are between 33 and 35 (one outlier at
31.4) average correct predictions. Two configurations (10x Boosting on the full dataset
and 10x Boosting on the minimal dataset in a 1 - 1 multiclass classifier) exceed a
mean correct prediction count of 35, equivalent to over 2800 correct predictions on our
test dataset. Overall, LADtree performs the most consistent manner and is the most
accurate, but only barely exceeds the results from the Naive Bayesian approach.
Most of the results of our evaluations of the SMO algorithm (see Figs. A.3.3 and A.3.4)
are disappointing, especially when using any of the two tested feature selection filters.
Also, using a 1 - all multi-class approach decreased accuracy noticeably, leading to some
135Figure A.3.4.: Results for the SMO Classification Algorithm with Feature Selection Filters
of the weakest results of our evaluation. Nonetheless, without feature selection filters,
on the reduced dataset, and either forced 1 - 1 multi-class classification or the native 1 -
1 multi-class approach of SMO, results exceeding 50% mean accuracy could be achieved.
Any additional data in the training set decreased accuracy.
A.4 Conclusion
The approaches we examined here only show marginal differences in performance, when
only the most accurate configurations are taken into account. Nonetheless, the overall
best algorithm in our testing set of three is the LADtree classifier. Regarding the feature
selection, correlation based feature selection appears to perform consistently better than
consistency based filtering. Also, a LogitBoost decision tree model performs slightly
better with 10 boosting iterations, than with 20 iterations - in the majority of cases.
The around 50% accuracy of the predictions observed during our evaluations, lead us
to believe that a dedicated hybrid modelling approach, optimised just to predict the
two most frequently visited locations, may achieve higher accuracies than we obtained
during our series of evaluations. Given the constrained time resources given by the
challenge, and the complexity and heterogeneity of the dataset, we decided to first
examine the necessity of following a dedicated modelling approach. One example of a
possible adaptation, would be the development of dedicated estimators for each feature,
when using a naive Bayes classifier. For example the cyclic nature of the temporal
136features are currently not being correctly taken into account.
Another important observation is the fact that adding what appeared to be – from
an a priori stand point – a useful set of features extracted from the context to the
classification process has little to no value in all three prediction models we examined.
The relatively low number of training instances makes observation of strong correlations
unlikely, which in turn reduces the predictive capability of any model based on this
data. While our examination was by no means exhaustive, we see no basis to expect
major gains using a similar approach, with more extensive, iterative tuning. It therefore
appears that the extended conceptual model we based our feature extraction process on,
was not matched by any of the statistical models we evaluated during this work.
137Details on the evaluation processes
B.1 Real world data
B.1.1 Similarity score tables
These are the similarity scores used for the alignment of our real world dataset. The
value 0 in each table represents the place holder value, if a sensor had no (valid) reading
at this point in time.
138Table B.1.: Similarity score table for luminance
0 1 2 3 4 5 6 7 8 9 10
0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 4 -9 -8 -9 -9 -10 -9 -10 -10 -10
2 -1 -9 3 -7 -8 -9 -9 -9 -9 -9 -9
3 -1 -8 -7 3 -8 -9 -10 -9 -9 -9 -10
4 -1 -9 -8 -8 3 -9 -10 -9 -9 -10 -10
5 -1 -9 -9 -9 -9 3 -9 -9 -9 -9 -8
6 -1 -10 -9 -10 -10 -9 1 -10 -7 -10 -7
7 -1 -9 -9 -9 -9 -9 -10 1 -7 -10 -8
8 -1 -10 -9 -9 -9 -9 -7 -7 3 -10 -10
9 -1 -10 -9 -9 -10 -9 -10 -10 -10 2 -7
10 -1 -10 -9 -10 -10 -8 -7 -8 -10 -7 2
Table B.2.: Similarity score table for proximity
0 1 2
0 1 -1 -1
1 -1 2 -5
2 -1 -5 2
Table B.3.: Similarity score table for places
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 6 -9 -10 -9 -9 -10 -10 -9 -10 -10 -10 -9 -9 -10
2 -1 -9 3 -9 -8 -9 -10 -9 -9 -10 -9 -10 -8 -9 -10
3 -1 -10 -9 2 -10 -9 -10 -9 -7 -10 -10 -10 -8 -9 -10
4 -1 -9 -8 -10 3 -8 -9 -9 -8 -10 -10 -10 -8 -9 -10
5 -1 -9 -9 -9 -8 5 -9 -8 -10 -10 -9 -10 -9 -8 -10
6 -1 -10 -10 -10 -9 -9 5 -8 -9 -10 -9 -10 -9 -9 -10
7 -1 -10 -9 -9 -9 -8 -8 5 -9 -10 -10 -10 -10 -9 -10
8 -1 -9 -9 -7 -8 -10 -9 -9 6 -9 -9 -10 -9 -9 -9
9 -1 -10 -10 -10 -10 -10 -10 -10 -9 5 -8 -10 -10 -8 -10
10 -1 -10 -9 -10 -10 -9 -9 -10 -9 -8 6 -10 -10 -8 -10
11 -1 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 7 -10 -9 -10
12 -1 -9 -9 -8 -8 -9 -9 -10 -9 -10 -10 -10 2 -8 -10
13 -1 -9 -9 -9 -9 -8 -9 -9 -9 -8 -8 -9 -8 5 -9
14 -1 -10 -10 -10 -10 -10 -10 -10 -9 -10 -10 -10 -10 -9 7
139Table B.4.: Similarity score table for battery levels
0 1 2 3 4 5 6 7 8
0 1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 -4 -3 -5 -1 -6 -2
2 -1 -1 1 -5 -4 -6 -2 -7 -3
3 -1 -4 -5 1 -1 -1 -3 -2 -2
4 -1 -3 -4 -1 1 -3 -2 -4 -1
5 -1 -5 -6 -1 -3 1 -4 -1 -2
6 -1 -1 -2 -3 -2 -4 1 -5 -1
7 -1 -6 -7 -2 -4 -1 -5 1 -3
8 -1 -2 -3 -2 -1 -2 -1 -3 1
Table B.5.: Similarity score table for orientation values
0 1 2 3 4 5 6 7 8
0 1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 2 -8 -7 -8 -4 -7 -7 -9
2 -1 -8 4 -7 -9 -7 -9 -8 -9
3 -1 -7 -7 2 -8 -4 -7 -7 -9
4 -1 -8 -9 -8 4 -8 -9 -9 -8
5 -1 -4 -7 -4 -8 4 -9 -8 -9
6 -1 -7 -9 -7 -9 -9 3 -5 -9
7 -1 -7 -8 -7 -9 -8 -5 4 -9
8 -1 -9 -9 -9 -8 -9 -9 -9 4
140B.1.2 Detailed results of the alignment algorithm evaluation on synthetic
data
These are the detailed result for the 5 datasets and 27 configurations used for the synthetic
evaluation, for the three metrics which have thus far only been presented in
aggregated form.
141d-set 1 d-set 2
precision size ratio recall precision size ratio recall
index mean err mean err mean err mean err mean err mean err
0 0.42 0.32 4.13 2.73 1.00 0.00 0.91 0.20 1.23 0.65 1.00 0.00
1 0.89 0.21 1.32 0.93 1.00 0.00 0.96 0.10 1.06 0.25 1.00 0.00
2 0.82 0.30 1.82 1.99 1.00 0.00 0.95 0.13 1.09 0.34 1.00 0.00
3 0.89 0.21 1.29 0.81 1.00 0.00 0.97 0.09 1.06 0.24 1.00 0.00
4 0.45 0.39 5.86 5.50 1.00 0.00 0.55 0.33 3.03 2.61 1.00 0.00
5 0.50 0.39 5.25 5.31 1.00 0.04 0.88 0.23 1.38 1.02 1.00 0.00
6 0.68 0.36 2.81 3.25 1.00 0.00 0.92 0.18 1.18 0.55 1.00 0.00
7 0.23 0.26 8.92 5.61 1.00 0.00 0.42 0.33 4.43 3.24 0.98 0.07
8 0.23 0.26 8.99 5.64 1.00 0.00 0.63 0.37 2.97 2.75 0.99 0.06
9 0.54 0.39 4.69 5.07 0.99 0.07 0.79 0.30 1.74 1.46 1.00 0.02
10 0.85 0.27 1.53 1.27 1.00 0.04 0.94 0.15 1.13 0.42 1.00 0.00
11 0.91 0.19 1.23 0.73 1.00 0.00 0.95 0.12 1.08 0.29 1.00 0.00
12 0.51 0.36 3.70 2.86 1.00 0.00 0.70 0.32 1.95 1.24 1.00 0.00
13 0.58 0.37 3.09 2.53 1.00 0.06 0.90 0.20 1.24 0.64 1.00 0.00
14 0.77 0.32 1.89 1.60 1.00 0.00 0.93 0.16 1.16 0.47 1.00 0.00
15 0.39 0.31 4.35 2.68 1.00 0.00 0.58 0.34 2.50 1.51 0.99 0.04
16 0.49 0.36 3.72 2.75 1.00 0.07 0.71 0.32 1.92 1.22 1.00 0.00
17 0.57 0.36 2.98 2.22 1.00 0.02 0.85 0.25 1.41 0.78 1.00 0.01
18 0.39 0.37 8.68 10.54 1.00 0.00 0.89 0.22 1.30 0.77 1.00 0.00
19 0.79 0.32 2.22 3.11 1.00 0.01 0.94 0.14 1.12 0.40 1.00 0.00
20 0.36 0.39 11.26 12.35 1.00 0.00 0.49 0.35 5.38 6.90 1.00 0.00
21 0.48 0.40 8.45 11.74 1.00 0.00 0.86 0.25 1.43 1.14 1.00 0.00
22 0.70 0.38 4.50 8.19 1.00 0.00 0.93 0.17 1.16 0.52 1.00 0.00
23 0.26 0.34 17.55 14.69 1.00 0.00 0.29 0.34 10.44 8.49 0.98 0.08
24 0.26 0.34 17.89 14.89 1.00 0.00 0.30 0.34 10.29 8.45 0.98 0.07
25 0.47 0.40 8.88 12.30 0.99 0.08 0.76 0.32 2.17 2.84 1.00 0.02
26 0.37 0.33 5.83 4.86 1.00 0.00 0.91 0.20 1.24 0.67 1.00 0.00
d-set 3 d-set 4
0 0.17 0.10 6.96 2.66 0.96 0.13 0.45 0.32 3.66 2.56 1.00 0.00
1 0.04 0.06 6.13 7.33 0.21 0.26 0.90 0.22 1.33 1.02 1.00 0.00
2 0.15 0.16 6.52 5.70 0.63 0.37 0.77 0.32 2.11 2.39 1.00 0.02
3 0.08 0.11 5.28 4.58 0.34 0.35 0.91 0.21 1.27 0.81 1.00 0.00
4 0.11 0.10 6.93 4.86 0.68 0.42 0.30 0.33 8.03 5.72 1.00 0.00
5 0.16 0.20 4.17 4.20 0.48 0.44 0.49 0.38 5.33 5.42 0.99 0.10
6 0.13 0.15 4.40 3.29 0.52 0.44 0.70 0.36 2.77 3.16 1.00 0.02
7 0.10 0.05 10.07 6.50 0.78 0.31 0.30 0.31 7.36 5.34 1.00 0.00
8 0.10 0.06 10.34 6.51 0.81 0.28 0.31 0.32 7.34 5.37 1.00 0.009 0.20 0.31 2.80 1.56 0.41 0.47 0.50 0.38 4.97 5.14 0.99 0.09
10 0.09 0.09 4.22 2.58 0.42 0.42 0.82 0.28 1.58 1.22 1.00 0.00
11 0.06 0.12 3.59 2.24 0.25 0.39 0.91 0.21 1.24 0.69 1.00 0.00
12 0.15 0.10 4.33 2.22 0.71 0.43 0.43 0.32 3.98 2.72 1.00 0.00
13 0.23 0.18 3.41 2.15 0.69 0.40 0.60 0.37 2.93 2.35 0.99 0.12
14 0.16 0.20 3.27 2.01 0.46 0.45 0.75 0.32 1.92 1.59 1.00 0.00
15 0.13 0.06 5.94 2.48 0.78 0.33 0.49 0.34 3.60 2.60 1.00 0.00
16 0.23 0.18 2.95 1.49 0.63 0.40 0.50 0.36 3.71 2.75 0.98 0.13
17 0.26 0.28 2.97 1.71 0.60 0.42 0.62 0.37 2.87 2.39 1.00 0.00
18 0.05 0.05 12.08 7.45 0.51 0.18 0.16 0.20 17.17 14.66 1.00 0.00
19 0.06 0.08 7.89 8.96 0.27 0.26 0.73 0.35 2.92 4.75 1.00 0.03
20 0.09 0.09 11.88 11.49 0.64 0.39 0.20 0.29 18.45 14.15 1.00 0.00
21 0.12 0.15 5.31 5.28 0.44 0.41 0.44 0.40 9.92 12.32 1.00 0.04
22 0.10 0.13 5.72 5.24 0.41 0.41 0.67 0.39 5.05 8.81 1.00 0.04
23 0.10 0.09 17.29 16.14 0.83 0.23 0.15 0.24 21.38 14.20 1.00 0.00
24 0.14 0.18 16.43 16.20 0.80 0.26 0.15 0.24 21.37 14.21 1.00 0.00
25 0.17 0.24 3.09 1.96 0.44 0.44 0.44 0.39 9.77 12.88 0.99 0.08
26 0.08 0.07 7.55 3.85 0.56 0.25 0.27 0.28 7.52 5.27 1.00 0.00
d-set 5
0 0.82 0.24 0.33 0.14 0.25 0.06
1 0.48 0.11 0.39 0.12 0.18 0.04
2 0.67 0.34 0.36 0.13 0.24 0.13
3 0.42 0.12 0.41 0.13 0.16 0.04
4 0.46 0.11 0.41 0.14 0.18 0.04
5 0.52 0.10 0.39 0.11 0.19 0.04
6 0.37 0.10 0.48 0.09 0.17 0.03
7
8
9 0.29 0.03 0.49 0.09 0.14 0.02
10 0.77 0.26 0.38 0.16 0.28 0.10
11 0.65 0.36 0.36 0.12 0.24 0.14
12 0.44 0.10 0.38 0.12 0.16 0.04
13 0.46 0.13 0.46 0.15 0.20 0.04
14 0.44 0.10 0.34 0.10 0.15 0.04
15 0.42 0.14 0.48 0.14 0.18 0.01
16 0.81 0.24 0.34 0.17 0.25 0.06
17 0.75 0.26 0.40 0.18 0.28 0.10
18 0.66 0.35 0.36 0.14 0.24 0.13
19 0.43 0.11 0.40 0.13 0.16 0.04
20 0.51 0.11 0.35 0.10 0.17 0.0321 0.33 0.09 0.49 0.13 0.16 0.03
22 0.31 0.11 0.55 0.18 0.15 0.03
23 0.39 0.04 0.36 0.05 0.14 0.03
24 0.82 0.24 0.34 0.16 0.25 0.06
25 0.75 0.27 0.39 0.17 0.28 0.10
26B.1.3 Expert annotated patterns
These are the reference patterns identified through visual examination of the dataset of
one participant of our data collection campaign. They were selected through side by
side comparison of data for all days, and identifying similar visual structures in the bar
diagrammes. Pattern 1 (Fig. B.1.1) corresponds to the campaign participant spending
a weekend evening and night at the out-of-town second home. Pattern 2 (Fig. B.1.2) is
one of the instances of the campaign participant getting up in the morning and going
to work. Pattern 3 (Fig. B.1.3) is slightly more tenuous: it covers only the proximity
sensor and location, and corresponds to the campaign participant being at work and
busy, hence the phone is stored away, with the screen covered.
14502468
10
12
14
23:02
23:08
23:15
23:21
23:28
23:35
23:41
23:48
23:54
0:01
0:09
0:16
0:23
0:29
0:36
0:42
0:49
0:55
1:02
1:11
1:15
1:22
1:28
1:35
1:41
1:50
1:57
2:03
2:10
2:16
2:23
2:29
2:36
2:42
2:49
2:56
3:02
3:09
3:15
3:22
3:28
3:37
3:41
3:50
3:57
Ori
Batt
Geo
prox
loglux
date